Showing posts with label creation. Show all posts
Showing posts with label creation. Show all posts

Friday, November 23, 2012

Latest and greatest updates...

Can't believe it's been 18 days since I last posted...@_@  Been really busy with applying to jobs and what have you, and I guess I kind of forgot about updating my blog.  So I got about 10 applications out right now, since I got back home.  Been working on programming various new tools and such for a new project.  Altered a bunch of new stuff as well, which has been an excellent project to take up time.

I've been working on my GUI XML tool, and it's come a VERY long ways...I spent about 10-13 hours working on it over the course of thanksgiving, along with altering the Parser Library class to include a few more variables and methods.  The GUI tool I made before used a system where you would click on a save and display button to show your current updates, and it only saved part of the variables in the system, not all of them (which would explain some problems I had in Harper's Gate).  So I changed a lot of how it saved and loaded content, and gave it an automated system similar to my Level tool.  Over the course of the day, it was mostly testing the program, and adding in fail-safe systems into the Parser Library...In fact, I set up a system to help save space in the XML files.  It reduced the lines of XML by about 20-30 percent, and also helps with keeping track of all the default variables.  It's rather nifty.  ^_^

Also, I figure since potential employers are viewing this, I should avoid saying things like shazam bitches on here...>.>  Not very professional of me, and since there's a lot of hell being raised about things like facebook posts, I will assume the same for blog posts.  However, as a note to said potential employers...I would be an awesome and fun addition to your team!  ;-P  I'm a very high energy person, and if I got a job, I know I'd work my tail off to get everything done in a timely, and professionally executed manner.  So don't judge me by my blog language...

Anywho, I'm signing off so I can go update my wordpress...o_O  Take care!

Monday, November 5, 2012

360 input stuffz and cheat code...coding. o_O

So yesterday I decided to buy a cheap 360 controller (Only on the cost...Razr Onza Tournament Edition ftw), and test out the input in XNA 4.0.  To say the least, I got a lot of stuff done with it, and am very fond of my new controller, despite not having a 360...although now I can enjoy a good game of Borderlands 2 with a controller instead of a mouse/keyboard.  ^_^

Aside from that, I got some code in that makes the controller vibrate every 2 seconds, it's rather fun...although if you don't change the vibration back to 0, 0, it'll keep vibrating.  o.o  Only way to fix that is unplug it.

Other than that, I found more about the variables used for the controller, like how the analog sticks use a normalized vector (basically max of 1 in either x or y) for its direction, which is very logical and useful.  The triggers also use a float to determine how far pressed they are.  I notice some FPS games basically use a hair trigger for shooting, and it drives me nuts that you can basically tap the right trigger or left trigger, and it'll fire.  It seems like something that could easily be customized by the user, how far they have to press before firing. I suppose there's hardware out there that's for it, kind of like the resistors on the Onza sticks.

Anyway, as for the last thing in my title, I set up a system in my game for making cheat codes using a string...>.>  So basically what it does is use a timer, whenever you click a button, the timer is reset to 0, once it hits 60 (1 second at 60 FPS), it resets the combo text.  So basically if you can type in a combo within 1 second of each press, you can create a cheat code...I decided to use the epically amazing Konami Code as my example, so the combo text is basically "upupdowndownleftrightleftrightba", although this can easily be shortened if you really wanted to...Once the konami code is inputted, it displays a lovely little text of "SHAZAM BITCHES!" under all the other mumbo jumbo in my test.



So that's basically the display of the program.  I created a TextObject class, which basically draws a single string to the screen with a black background.  This is the basic class for the object:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace InputTesting360
{
    public class TextObject : DrawableGameComponent
    {
        public string text;
        public Vector2 pos;
        public SpriteFont font;
        protected Game1 parent;
        protected bool vibrate;
        protected int timer;
        protected const int maxTimer = 60;
        protected string combo;
        protected GamePadState prevState;
        protected string output;

        public TextObject(Game1 game, SpriteFont font) : base(game)
        {
            this.parent = game;
            this.font = font;
            vibrate = false;
            timer = 0;
            output = "";
        }

        public override void Update(GameTime gameTime)
        {
            //Might make the text follow the mouse around, or maybe the controller.
            GamePadState gps = GamePad.GetState(PlayerIndex.One);
            bool a, b, x, y, dup, ddn, dlf, drt;
            a = gps.IsButtonDown(Buttons.A) && prevState.IsButtonUp(Buttons.A);
            b = gps.IsButtonDown(Buttons.B) && prevState.IsButtonUp(Buttons.B);
            x = gps.IsButtonDown(Buttons.X) && prevState.IsButtonUp(Buttons.X);
            y = gps.IsButtonDown(Buttons.Y) && prevState.IsButtonUp(Buttons.Y);
            dup = gps.IsButtonDown(Buttons.DPadUp) && prevState.IsButtonUp(Buttons.DPadUp);
            ddn = gps.IsButtonDown(Buttons.DPadDown) && prevState.IsButtonUp(Buttons.DPadDown);
            dlf = gps.IsButtonDown(Buttons.DPadLeft) && prevState.IsButtonUp(Buttons.DPadLeft);
            drt = gps.IsButtonDown(Buttons.DPadRight) && prevState.IsButtonUp(Buttons.DPadRight);

            text = "Packet#: " + gps.PacketNumber;
            text += "\nController 1 is connected? " + gps.IsConnected.ToString();
            text += "\nLeftStick Vector: " + gps.ThumbSticks.Left.ToString();
            text += "\nRightStick Vector: " + gps.ThumbSticks.Right.ToString();
            text += "\nLeft Trigger: " + gps.Triggers.Left;
            text += "\nRight Trigger: " + gps.Triggers.Right;
            text += "\n" + output;

            if (a)
            {
                combo += "a";
                timer = 0;
            }
            if (b)
            {
                combo += "b";
                timer = 0;
            }
            if (dup)
            {
                combo += "up";
                timer = 0;
            }
            if (ddn)
            {
                combo += "down";
                timer = 0;
            }
            if (dlf)
            {
                combo += "left";
                timer = 0;
            }
            if (drt)
            {
                combo += "right";
                timer = 0;
            }

            if (combo == "upupdowndownleftrightleftrightba")
            {
                output = "SHAZAM BITCHES!";
            }

            timer++;
            if (timer >= maxTimer)
            {
                timer = 0;
                combo = "";
                //output = "";
            }

            prevState = gps;
        }

        public override void Draw(GameTime gameTime)
        {
            parent.batch.Begin();
            parent.batch.DrawString(font, text, pos, Color.White);
            parent.batch.End();
        }
    }
}


Unfortunately I don't know how to add in code snippets, if I did, I would totally do it.  -_-  But yeah, this, added onto the following Game1 class would give you everything you need to load the game, excluding the TNR14 variable.  That's just a TimesNewRoman size 14 font I use...

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace InputTesting360
{
    /// <summary>
    /// This is the main type for your game
    /// </summary>
    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        public SpriteBatch batch;
        TextObject text;
        SpriteFont font;

        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
        }

        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            base.Initialize();
        }

        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            batch = new SpriteBatch(GraphicsDevice);
            font = Content.Load<SpriteFont>("TNR14");
            text = new TextObject(this, font);
            Components.Add(text);

            // TODO: use this.Content to load your game content here
        }

        /// <summary>
        /// UnloadContent will be called once per game and is the place to unload
        /// all content.
        /// </summary>
        protected override void UnloadContent()
        {
            // TODO: Unload any non ContentManager content here
        }

        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            // TODO: Add your update logic here

            base.Update(gameTime);
        }

        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            // TODO: Add your drawing code here

            base.Draw(gameTime);
        }
    }
}

Tuesday, October 30, 2012

Jobs jobs jobs...wherefore art thou jobs?

If you made some kind of association with Steve Jobs from the title, I smacketh thee...I'm trying to focus a bit more on the job market, however the last couple of days have involved being stolen away by my cousin for one day, and today another cousin visited.  Soooo, I've been kinda busy.  >.>

Also, happy halloween!  I made up a pumpkin today with my Grandfather today as well, although I only got to add on some nifty scars, and a blood splatter, it actually turned out really well.  Unfortunately the light he put in it doesn't work...but I'm sure he'll jury-rig something up.  o_O  That always has been his specialty.  But the amazing thing is, despite being jury rigged, everything he does works...better than most stuff too.  Although it may not be pretty, it damn well does the job.

So yeah, right now, I'm finally getting around to blogging a little bit, it's kind of nice really to relax a bit and explain my plans.  I wrote a little list of all the crap that I need to do over the next few days, so whoever is reading this, please tell me what you think!

  • Update my portfolio
    • Harper's Gate stuff.
    • Add images for each project.
    • Coding examples from each project.
    • Make downloads easier to find.
    • More personalized
    • Add this blog in there.
    • Add portfolio to Facebook and LinkedIn
  • Find jobs to apply for.
  • Make semi-generic cover letter
  • Update LinkedIn/Facebook profile a bit.
  • Update my resume.
  • Add Portfolio to blog.
Now something to note is that all of these things don't have any specific order, they're just written out as things to do.  What will actually get done, I have no clue.  :-P  We shall see yes?

I was also considering changing this blog to look a bit more like my WordPress blog.  If anyone has any opinion on that, feel free to comment, thanks!

Wednesday, October 3, 2012

Long time no see huh?

Well, it's been over 2 weeks here, sorry for taking so long to post.  Been extremely busy with school.  @_@  So much craziness with school, it's not even funny.  Absolutely tired of it, however, it'll all be over with soon...

Anyway, I got a LOT of work done on Harper's Gate over the last couple of weeks.  I made a series of context objects, which acts as things like minerals, plants, and other things that you can interact with, i.e. collect resources from.  It's still in the baby phases of actually working...I'm focusing on getting assets created right now, so that's been a bit of a hassle.

There are many great things that have come out over the last week or so, including images, and various other things...Anyway, here's a basic list of images I made via GameMaker.













Each of these strips of images were created with Game Maker, it helps having the automated strip saving system...and the transparency.  I don't have any decent programs for making these images other than Game Maker, so yeah...These are strips of images I'm using.  From top to bottom, we have a grass strip, ingot strip, magical book strip, mineral (context object!) strip, ore strip, paper, pickaxe strip, Gate strip, potion strip, E button strip, stairs, and a flower of some kind...

These strips will be useful in many ways, the ores and ingots, for instance, show the different types of ores and ingots available, the book shows the inventory image of different levels of books you can find.  The pickaxes act the same way.  The portal image may be hard to see, but it has a transparent key hole in the center, and it's meant as an animation, rather than a single image.  Same goes with the E, however it's meant to loop back and forth.so it glows red, then back.

One of the unfortunate problems with Game Maker's strip system is that it makes it just that...a strip.  It does not make a grid shape, and if you have a fairly large image, the original image can go on and on and on...I don't have the tools to help me cut it into different sequences, so I'm just stuck with this.  @_@  I shall live though...

Anyway, hope you guys have enjoyed.  I'll try to post sooner, but judging by the way school is currently going, I will probably have a rough time doing so.

Saturday, September 15, 2012

Little to no news so far...

So, I've got school going, and I think I've got an idea for the things I want to change a bit...I need to add in the sound system for my game, since I completely overlooked that before...I didn't want to have to deal with sound yet, soooooo I'm SOL on that now, I need sound.  I'll have to make all the sound effects, music, and artwork for this game too.  -_-  So you'll be seeing more updates in the art department.

Speaking of which, I hope you enjoy the next pictture.  This is meant to be a sprite with the different item icons for pickaxes, and eventually what Harper will also use, once I can animate them.  @_@  


So yeah, I still need to work on some other stuff today, tomorrow, and for the rest of my life on this program...@_@

I had some small ideas for the game that I wrote down last night.  The sound was one of them...I need to add sound ID's to the parsers, in order for objects to make sounds, and also a sound effect to the worlds, so you can have some background music.  I also need to set up a system for when the player collides with an event of sorts.  Something that can be used as a hit-box, and moves the player over to the next scene or something of that nature.

I was also considering my resource manager...it only holds resources right now, i.e. textures, and fonts, but I could make it hold the parsers as well.  I think this would help condense things a bit more, but also reduce the coupling of objects, and the visibility of all the parsers, except the settings parser, that one I need to have direct access to.  So basically you would have indirect access to each of the parsers, with the resource manager being the inbetween.  Reduces coupling and visibility, but keeps the same abilities.

But then the question comes, is it worth the change?  I would probably have to change a lot of code for that to work, and would it really be all that much more useful?  I have no fucking clue...so instead of creating a bunch of crap that i may or may not be able to use better, I'm just going to leave it as a to-do later...post-school type edits.  @_@  Anyway, take care my very few readers...

Monday, August 27, 2012

Programming ideas.

Alright, so I've been thinking about things, and discussing them with my new friend Gaming Gryphon.  I'm going to have a bit of a rough time with the mobs, trying to find ways to create a series of behaviors to tack on to the mob based on what they are.  I'm thinking I can make a section in the mob XML file something like Behavior
   XYZ
/Behavior

Where XYZ is just a string value of one behavior to add.  If there are multiple behaviors you add them into a list, then in the update method loop through all the behavior classes, and execute them.  Although I'm thinking an FSM would work best...but it would be a bit too complex for mobs with multiple behaviors.

However, if I could make a list of behaviors that work together that would be nice to get done finally.  The problem ends up being time restraints, and asking myself what i really want in the program, rather than all the weird quarkiness that i want to add for the complexities.

Anyway, watching Doctor Who Season 4 episode 15.  :-D  I will post some more later tonight.

Thursday, August 16, 2012

Updated Level Editor!

Alright, so today's update is with the level editor.  I'm going to be doing some more updates, and posting more pics.  The update I made recently is with the collision data, and how it shows the edges, and vertices for the collision polygon.

The picture below shows a simple image of the editor.  the right hand side is the image that XNA loads for the level, and if you look at the second square from the left, it's kinda got a series of blue lines, and red dots around it.  The lines represent edges (of course), and the dots represent vertices.  I got the algorithm to work right so it just draws a series of single pixel images I made (blue ones!) in a line based on whether the X or the Y distance is greater, so it creates a more accurate line...>.>


I got other updates coming soon, this is just one of many, stay tuned!

Oh, and I also set up a word press account, so I'll be updating that too later.  Before bed, methinks...

Saturday, August 4, 2012

Good news everyone!

Yes, yes that's a reference to Prof. Farnsworth from Futurama...But aside from that, there really is good news right now.  Looks like my program is loading the xml files, and saving them in the proper format that it needs.  :-)  I also set it up to delete objects, create new levels, delete levels, and change the name of levels.  This makes things pretty freaking awesome in my opinion.  I also set up a moveable camera as well that when you right click (right now it's set up for anywhere on the screen.  o_O), it moves the camera around in an inverted direction.  So you move down, the camera moves up, move left, it moves right, that sort of thing...:-)

So that knocks a bunch of stuff off my list of things to do.  Now I need to start creating the classes for each unique object.  I also found a work around for a few things, which is excellent.  Things like setting up extra objects within objects, and drawing them...for instance, on the camera, I added a GUIText object from the GUI editor, and made it draw the position on the screen with a draw method for the camera.  Gives me some good ideas for how to set the game up further.

Also, the camera moves strictly within the limits of the level.  It doesn't go outside, which is good for side scrolling platformers.  :-)

Anyway, I think I'm gonna go play Katamari Forever now...bwahaha!  JUST KEEP ROLLIN ROLLIN ROLLIN YEAH!

Thursday, August 2, 2012

Cause this is Thriller!

I must have a thriller steampunk zombie in my game...o.o  I finally got around to watching the thriller music video, and laughed so hard when I saw the zombie part.  Such great choreography went into that...So, I'm hoping I can take some still shots of thriller, and add in a random and very rare thriller zombie...think he's going to simply be called thriller.

That would be a great easter egg to add in.  Any ideas for future easter eggs would be great.  :-D

Here's my link to thriller btw.  :-P
http://www.youtube.com/watch?v=sOnqjkJTMaA

In other news, the level editor is coming along slowly...I've got it able to load up a level, and show the information on the screen, so that's one milestone hit.  It automatically updates the level scene, which is nice.  I need to work on jury rigging a moving camera when you right click on the screen.

I also set up the add button, which adds in a new item to the list, but I need to update the list whenever the class is changed.  The problem with adding it to the auto update is that whenever it updates the list it blinks...it gets really obnoxious, specially when you're doing it really fast...o.o  No epileptic seizures from my level editor please.

I also have another milestone I need to add, which is a saving function that saves the edited level files.  Would be nice to keep the changes, right?  :-P

Welp, that's all for now, sleep well, and stay safe!

Monday, July 30, 2012

Level editor update!

Had a nice few hours to work on updating the level editor some more.  It now works similar to the GUI Editor, however I haven't quite gotten it to load up the images and such for the level.  It's taking a bit longer to get that done, but the information is all present and accounted for.  Apparently I somehow messed up and don't have an origin for my scene objects...I guess I assumed upper left hand corner works.  We shall see...

Anyway, it's coming along really well.  I got LOTS done today, along with a few major updates to the level editor.  Despite being major updates, the format hasn't changed, which is great.  But I finally found a way to get an ordered pair together from xml, and it was one of those *facepalm* moments, when it's like "that would work much better than this..."  I kind of set it up like the saving of ordered pairs...which yes, it's obvious that's the best thing to do, but originally I was dealing with individual ordered pairs, rather than vectors.  Now, since I'm working directly with a vector class (which has an x and a y for those of you who don't know) I basically just return a vector once I hit the base case, which is the end element for the given value, like Position, or Scale...

This little move saved me about 100+ lines of code, which is great, but it also allowed for reusable code which is awesome for oop languages.  :-D

Also, I pulled another trick out of my sleeve by extending the parsers to save, as well as load.  I know that's not too different, but this helped me out, because I could override other functions to make them more efficient without directly changing the parser library.  Once I found a good build that works, I just copy pasta back into the library, build it, then move the dll.  ^_^  Worked wonders.

Wednesday, July 25, 2012

Arguing with myself, but not Jeff Dunham...

Updated my "Song of the day" list to have my spotify playlist that I'm listening to.  Right now it's LIES GREED MISERY by Linkin Park in their latest album.  It's definitely not my favorite album, but still good song.  That song sounds a bit like something AWOLNATION would do...

Anyway, the program's been slightly updated...I'm working on documentation right now, trying not to go too crazy.  I ended up changing a lot from my visio file, but it's still pretty similar.  I'm not sure if I can post the visio file on here...if I can I will, otherwise, I'll probably it into a PDF/.png file and post it.  It's quite complicated right now, however there's SO much more I need to do...I need to find a way to make the player information, and the sprite, and a few other things...I need to find a way to separate the sprite from the player information class, but still keep them connected.  It's a fucking mess.  Hell, I might as well make the player sprite something completely different.  But then there's the problem of collisions, and how objects react to the player, stuff like that.

I'm thinking one possible idea would be to completely separate the player, enemies, and the scene...that might work.  I already have the scene manager, which can contain all the scene objects.  Then the player manager, then an enemy manager.  That would probably work really well.  Gotta figure out if it's going to be threaded with the game, or if it's going to be separate though, like the Scene Manager...I'm thinking separate, because of my camera class, which is used to translate objects to the right place based on where the camera is.

I was also thinking about making a nifty background, probably something automated like Mario.  Make it basically a cutscene that acts like a game.

Speaking of cutscenes, I also need to figure out how to do the cutscenes as well.  I'm thinking something like a bit of code that executes commands after specific times or events, such as hitting enter, escape etc.  Then I could just make some xml that dictates different events...something like moveTo with the x, y  position, object id, speed, and a few other things...Then that would need another tool.  -_-  Eventually I'll have an entire game as a tool.  *le sigh*  But that provides an interesting twist at least.  The program will be editable from a player stand point, which allows for very limited modding.

Also, been watching Battlestar Galactica, the newer version, and it's VERY good so far...I'm really hoping to get into the old BSG once I'm done watching the new one.  ^_^  I'm just starting to really get into sci fi's so wish me luck.

Monday, July 23, 2012

Herpa Derp! I have no title for now...

After almost 6 days now, I've come back to say...I'm playing Terraria, leave me alones!  :-O  I've been playing a lot lately, unfortunately it's about as much fun as minecraft, if not more, because of the large amount of content in the game.  I've also been looking at different ways to make a GUI for the program through Terraria, because my idea for the game is similar...not the same at all, but similar to Terraria, gameplay wise, and a few other things...but it's definitely not another world builder type game.  I'm not quite talented enough for that yet.

Also, I will be creating a wordpress blog eventually to ummm...well...make life a little lazier I suppose.  My nook has a wordpress app, so I can make a wordpress blog, and blog from my nook, which would be awesome.

I will need to focus some more on The Secret World as well, because apparently I'm now officially a douche nugget according to K, which is really sad, so I need to focus on that as well.  Terraria, TSW, Dead Island, Plants Vs. Zombies, Assassins Creed 2, Ratchet and Clank All 4 One, Vessel, Borderlands, and Diablo 3...Those are all the games I need to play...@_@  Vessel is rather meh...I think the concept was cool, but the execution is rather boring.  Borderlands is just fun as hell.  Ratchet and clank I've had for like...6 months, and have yet to beat, AC2 I need to return to Summer.  PVZ I still need to get achieves, and complete the second playthrough...Diablo 3...well...hard to say right now, but I still play it sometimes.  Dead Island I just got from Jossi, thanks dood!!!  And Terraria is fucking amazing.  TSW is good, very well made for a just starting MMORPG, I'm just not in the heavy story mood I suppose.

Anyway, I'm going to try and make a list of things that need to be completed in my program, try to organize it, and break it down into smaller sections, then even smaller if I need to.  Then start working on the tasks...cause there's still lots to do...I'm also going to go for something that looks a bit (not as low detail) like Terraria.  Something with like...36x36 being small sprites, and 128x128 being large sprites.  Going by powers of 2 is rather convenient imho.  But I need to make most of the images as well, so that's going to be a pain.  I'll be bugging Eric too...*rubs hands together and laughs evilly*

Large ideas for my project...I need to get the Objects system running, and a Level Editor of sorts.  I have the list of all the objects I want to make, however, something I learned with the GUI is that I essentially have to do double the work if I want to have a level editor.  At the same time, I also need the level editor...period.  There's just too much information I would put into the XML files without breaking my finger tips.

Tuesday, July 17, 2012

More excellent news!

I just got the game system set up to have an options menu!  ^_^  First successfully created options menu that actually changes important stuff!  I had to change a few things in order to get it to work, so I'll have to add those to my Visio file and word file now.  @_@  It's nice keeping notes, but my god, having pages and pages of notes is so difficult to read through, and change things, add things, remove things etc...It's just a pain in the ass...despite being very important to my system of organization.

Speaking of my system of organization, I like to have Visio, Word, and 2 applications open in Visual Studio 2010 when I'm working on my program...along with chrome, msn messenger, skype, google talk, steam, and Spotify.  (Wish I could get that damn spotify button thingy, so I can add music to my blogger automatically...If anyone knows how to do that tell me!  I must know NAO!)  o.o  Anyway, aside from that, things are going well on the program.

Oh, and one little tidbit to my readers...Did you guys know that Terraria was built with XNA 4.0?  And same with Bastion.  It's apparently a very powerful tool to learn.  ^_^

Also...Eric was on a CBS video.  ^______^  Was pretty awesome.

Thursday, July 12, 2012

Another excellent update.  I have the system set up to now temporarily save data and dynamically (by use of a button atm...) update the GUI!  So I can basically set the data I want, and it will actually update to the GUI editor!!  ^__^  It makes me very happy.  Once I can permanently save the GUI files, I'll have my very first game tool.  It's not very versatile, because it needs to have the folders and files hard coded into it, but it's not bad for my first one.  I'm hoping tomorrow will be my first day with the tool finished, but no promises there.  School's going to be a bitch this session, so I have to focus on that (whether I like it or not.  -_-)

Allan! Why hast thou forsaken gaming?!

I blame Eric for this...But, the beauty of it is, it's a testament to my skills with programming.  ^_^  I now have a working system for displaying my GUI, and showing all the information about it.  Now I need to work on saving new, edited, and old information all in one.


Why Eric...Why did you have to tell me about Allan???

Wednesday, July 11, 2012

Picture updates ftw!!!

As the title states, there are pictures in order tonight!  I got the GUI Editor set up, it's not displaying the GUI, but it's properly displaying all the information I need it to.  I have 3 GUI files, it displays 3 GUI files...each file has about 3-4 items, and it displays the appropriate amounts!  I'm excited to present to you, my GUI Maker 3000!!!  Kidding, it's still in the super pre-alpha stage.  :-P  But soon my minion--er...readers, soon.

Alright, so pics, as promised...I wonder if it will make them small, or clog up the screen, cause my screenshots are 1080p...>.>  WHO KNOWS!  Let's try this out!


So this one is meant to show the basic startup, which allows you to select the GUI you want to work with, and gives you various buttons and stuff that makes no sense...


This is for showing the objects that load up on the left after selecting your GUI, and how it updates all the appropriate info.


Just showing off font options from the combo menu. 


And lastly texture options from a combo box.  The last two are custom data that's added to the form from the game you see in the background (Giant cyan blue thingy of doom on the right that looks super boring atm).


Anywho, it took me a while to get this up.  The beauty of this is that it uses a combination parser DLL file I made.  I say combination because it holds the level parser, settings parser, and the GUI parser, so I can access any of that through other programs, and just send it the appropriate files needed, and BAM!  It has all the data I need without having to recreate the parsers...It's beautiful.  ^_^  Once I get all the information passed to the Game client, it should be able to display and update dynamically with the data on the form.

Once I start getting more advanced GUI objects, it will be quite a bit more complicated...but for now this works.  Eventually I'd like it to work on dual screens, and have a few extra drop down menus.  Right now the drop down menus just contain a few things...

Monday, July 9, 2012

I won't stop believin'!

I love today's song of the day...it's a good version.  I still absolutely love the original Journey song though...Journey was amazing.  Anyway, I have some organizational road blocks that I've got to figure out.  Fortunately I can wait a bit before actually needing to worry about them.  I'm focusing on getting the GUI to work, along with a series of test states that are changed based on GUI buttons, check boxes, and what have you...

I'm really trying to get this to work, I'd like to get an options menu that changes the preferred width/height of the screen, as well as adjusts full screen.  And then based on whether you cancel or apply/accept, it will change the screen.  :-)  Once I get that down, I'll need to be able to switch to the main game mode and load up the main level.

So, once I get the high level GUI objects working and the state switching, I'll start working on mid level to high level object design.  I already have the diagram of all the scene object classes drawn up, just need to implement them and their methods.  I have some kind of organization to this, which is nice, and I'm sure that once everything's written down, it'll be a bit easier to know what to do, and how to do it.  Anyway, that's it for now, later!

Saturday, July 7, 2012

5 Days later...@_@

Alright, so a bit late on the update but, there's really nothing new to say...the program is still in development, and is currently organized better now, and it seems to be fairly efficient.  I'm sure it's got its flaws here and there, but it works for now.

I got the GUI parser working, along with interactive GUI objects.  I need to make their children, like buttons, and various other things...Thinking about making slide bars, should be interesting...using a slide bar for things like volume for instance is rather convenient.  I would also like to make some drop down menus later, but i'm sure that will be a lot more complicated...

Anyway, I'm working on developing the GUI parser some more.  Once I get that working, I can get a start menu made.  Will be awesomely epic.  ^_^  Once I can get the program to switch states, I can set up the player and a few other things as well.  I think if I can get the game to switch states correctly, and display all the images needed, that will give me a good idea if this organization is working, because that requires a lot of inter-code dependencies between several managers and the main.  This will help me understand a bit more of how I could improve the game and expose less in code.

As for parsers, I still have a few more to do...I know I need the level parser, and I want to update that to allow for multiple files, not just one, like the GUI Parser is set up now.  This would help me out by organizing the level info a bit better.  I also (later once the game is all awesomified) need to make a save game/load game parser as well.  That's fairly simple, plenty of resources out there on how to create .sav files in XNA.  I also need to work on a background parser, which gets the info for all the background images, and various other things that are never interacted with.

Monday, July 2, 2012

Good news!

Alright, so the good news is...I finally have a direction with my program!  It's very exciting for me, and looks to be a very unique idea.  A steampunk platformer RPG with custom weapon creation!  :-D  Very very very very distant from the original idea, but I want to use this as my final project, so it will need to be different.  And I think that as Eric noted before, it would probably be best if we lived nearby to actually get a game rolling...we just don't have the right type of communication online for a group project, and we get easily distracted with video games.

Either way, I've been working on the project documents, got a few class diagrams done, and a decent GDD.  If you don't have the link you're SOL, cause I'm not posting it on a very public area.  Thhbbbbbbbt!  Now...as for any updates on the program...It's still alive and mostly kicking.  Currently just sitting there staring at the user and drooling, but alive.  Comatose perhaps, but alive.  I just have to add on some flesh, and perhaps a few organs here and there.  I don't want it to reproduce though, so it will be immediately neutered, boy or girl...Yes this may stunt its growth and give it a fairly high pitched voice, but it'll do the function it's supposed to do dammit!

Saturday, June 30, 2012

Crossroads

Oh the interesting qualities of programming...o_O  I've decided to scrap my XNA project and remake it, because the organization is so bad on the old one.  It would be best to have something more organized first.  Fortunately I have a better idea of what I want to do now, and I have been working on some documentation now, instead of just going all over the place, and having no set idea of what i want for the program.

Now, to be honest, I'm at a bit of a cross roads between making an RPG or making a platformer...the RPG would be a bit less mathematically challenging...and I would use a fairly simple system for the program, think old school FF style system.  Probably with the visual qualities of FF1, and potentially a system like 6...although that's still up in the air.

However, something like that requires a lot more organization, and far less spaghetti code...>.>  I've been known to have small sections of spaghetti code.  My main problem is that I don't want to go back and forth between program ideas, and organizations, because I don't want to get stuck with 50 unfinished projects.  Any advice from my few readers out there?