Showing posts with label computer. Show all posts
Showing posts with label computer. 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!

Friday, October 26, 2012

Finally unbusy!

Harper's Gate has officially been turned in for school!  The game really was never completed, sadly enough, however it turned out far better than I could have expected.  :-)

This means I'm officially done with school through DeVry!!!  Took me long enough, right?  Hehehe.  Onward to the job market, I'm officially available for employment as a computer programmer.  Doesn't matter what field for the programming, I am willing to do just about anything really.  Game's are definitely my passion, however I know it's really difficult to get into video games and the business itself is very difficult on programmers.  Right now I would much rather get my career going as a computer programmer than hop directly into video games.  Plus, I'm sure I can get a lot of work experience and more coding experience outside of video games.  For the few readers out there, wish me luck with my endeavors!  :-D

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...

Friday, September 7, 2012

So much to do, so little time...

Well, it looks like I've got my final coming up.  I'm glad I've gotten my program this far to be used for it, and hopefully by the end of the session I'll have a usable and displayable program to put on here.  So far, I've got my new character model, and that's about it.

The game's title is now Harper's Gate.  The name is a bit tentative but it works for now.  The idea still remains as a 2D variation of Monster Hunter with RPG elements...I'm going to be working on developing sprites over the next several weeks I'm sure, and I'll keep you guys (my very limited readers) up to date!

Also, here's Harper in all his pixelated glory...He currently has no arms, but those will be added in programmatically as separate sprites.  These are all of his progressions from a simple idea of a character with a red mask on his face.  o_O  There are two sections in there that are going to be his animation.  To be honest, they're rather meh, but I don't have to make something amazing in the graphical department.

This is the look I want him to have for his final coalesced look.  But the arms are basically going to be separate from his body so I can animate them separately.

Tuesday, August 28, 2012

Train trips and mind boggling teachers!

So, tomorrow I'm gonna be heading down to LA to see my buddy Eric, looks like it'll be a very fun trip, full of...two 14 hour trips on 4 trains, and 2 busses.  o.o  And what's definitely sounding like a good time.

I would also like to note that I have an awful teacher in class this session...I had an exam today that was about Networking alright, so we went over a lot of basic programming in networking...So I expected we would go over the same information as we did in class.  I think the only thing we really went over was the last 5 questions out of 26...I had to google everything else.

He also had a question like this in it...

What is true for network protocols:
TCP is used for streaming.
UDP is used for streaming.
and a couple other ones that were blatantly false.

So...funny thing, TCP and UDP can be used for streaming data...I know this isn't a good example for school, but wiki is usually right, since you have tons of people who edit it...but you also get trolls, and they suck ass. But anyway, it says that UDP can be used for streaming, and same with TCP.  TCP is more common, but UDP can still fucking do it.  So why am I given such ambiguous questions on an exam, which is meant to test your knowledge of a subject?
http://en.wikipedia.org/wiki/Streaming_media

And I also got one like this:

Which protocol is more popular:
TCP
UDP
SSL
IMAP

So...first off SSL is out, cause that's the Secure Socket Layer, not a protocol, aaaaand...IMAP is used for mail...>.>  I have no clue which one is more popular, cause I like TCP over UDP any day...This is a multiple fucking choice question with one answer.  Subjective questions have MORE than 1 answer, because the answer is different with everyone.  My guess was TCP, since it's easier to use, but to be honest, it could have easily been UDP for all I know...how am I supposed to know what's popular and what's not when it comes to Internet Protocols...Maybe I like using UDP, because you don't need a connection to the server?  I don't understand it one bit, personally.

This was a very disappointing networking class that I paid a lot of money for.  And if there are any DeVry teachers or managers listening, you need to fucking fire whoever made the curriculum for the GSP 465 class, and picked out that awful book...it works for Linux, don't get me wrong, but I'm not using Linux, and probably a good portion of your students don't use Linux because you have a free Windows 7 download...Brains are here for a reason, and it's not nomming.

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...

Tuesday, August 14, 2012

Well, this is the longest I've gone without posting...o_O  10 days.  New record I would say.  Although there really hasn't been anything to update on.  I've been doing homework, being stressed about crap, and trying not to go crazy.  :-P  Life's been good at least, no nasty surprises, and finances have been kinda washy, but not bad.  Got to see one of my old buddies from Round Table today, we hung out for a few hours, was really nice.  Didn't get to show him my program, but we were talking the whole damn time, so we were pretty busy, hehehe.

Anyway, with concern to the program, I've been mostly working on internal stuff.  I set up the options state to have a previous state to go back to, which currently is either the game state, or the main menu state.  So you basically return to the old state, reload the GUI, and be done.  I found that if you just go back to the previous state, the old GUI stays, so...that's a bit of a problem.  :-P  But, I also found the amazing "is" function in C# as well.  The function checks to see if a specific expression can be cast into the given class.  I.E. it acts like instanceof in java.

One basic idea I used it for was with the options state.  The previous state it's given is a BaseState class.  You don't know what kind of class it is, just BaseState, so you use the "is" function to find out if it's a specific state or not.  So...you have a statement like if (prevState is GameState), or if (prevState is MainMenuState). And then you do stuff based off of that.  :-D

I really liked the instanceof function in java, it's absolutely amazing, and once I found this I really just had to share it.  ^_^

And of course, since you can use an expression on the left side of is, that opens up opportunities for other things.  Many many other things...bwahahaha!

Also, I'll be posting some images from the game soon.  No real ETA on that though, cause I'm starting to get into the player mechanics of the program, and that's going to be a bit of a long drawn out process.  Eventually collision checking and handling once I get the player moving, and functioning when it needs to.  Once that's all done, I can start on creating levels, but it's going to be a while before that happens.  I would say a few more weeks right now.  @_@  And of course, I have to re-do my PiP algorithm for this, and find a way to make it function a bit differently.

After I get collisions working, I need to start adding mobs.  Mobs will need behaviors, and each mob will be unique.  I will also need spawners, and the appropriate algorithms for working with the spawners, like if the spawner is on screen you can't spawn mobs, otherwise you can work, but only every so often, and such...

Once the mobs work, I can start working with the player some more, adding an inventory, equipment, and items.  After the items are created, I'll need to add the droppable items, which are actually completely different objects than the items themselves.  Once the droppable items are made, I think I can work on creation.  This would be like...when you go to your shop, you can load up the GUI for creating crap.  :-P

I can also create the item dropping system on mobs, and how to identify what items they drop.  That last part's going to be a biggy, cause it's a bit of a pain in the neck to do.  Loot tables ought to be interesting to work with.  :-D

I still have so much to do, and a rather short period of time to do it in.  I'm going to use this program as my final project.

So yeah, that's my life right now, onward to more coding!  *grabs pen, pencil, and paper and runs around with scissors in hand*  >:-D

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...