Right now I have majority of the library done.
Right now I am cleaning up the setup to make it a little neater and tweaking how things are accessed.
Mostly all of the things are done,
GuideHelper
File I/O - includes Xml Serialization and Deserialization along with 2 new classes FileReader and FileWriter
Audio
Input
I'm going to redo the AnimatedSprite class and make it more single purposed since most games will have their own setup.
I've removed most of the Drawing helpers since they are frankly kind of useless. I have left a couple in for debugging purposes in the Helpers class.
I am going to be bringing back the Bar class but not the Box class. There will be no BarManager as there was in previous versions since most games will have their own managers.
Once it's all done I will start creating the documentation and writing some code samples which may take awhile so I'm planning on having it released around the 10th or 11th.
Monday, July 5, 2010
Saturday, July 3, 2010
Version 2 Update
Just a quick little update.
GuideHelper class is now finished, probably will touch it up a bit but it works like a charm now. Will probably port it to a game component to make it more universal.
InputManager class is now finished, maybe some more touchups but not that much. I am going to look into supporting button combos but to me it makes more sense to leave it as it is and make an example of how to create something like that.
Once I'm entirely done with all the code I will be putting together a documentation and hopefully some samples on how certain things can be accomplished.
GuideHelper class is now finished, probably will touch it up a bit but it works like a charm now. Will probably port it to a game component to make it more universal.
InputManager class is now finished, maybe some more touchups but not that much. I am going to look into supporting button combos but to me it makes more sense to leave it as it is and make an example of how to create something like that.
Once I'm entirely done with all the code I will be putting together a documentation and hopefully some samples on how certain things can be accomplished.
Friday, July 2, 2010
Version 2 Dev Update
Version 2 is coming along nicely.
A major improvement over the old setup I was using. Just about everything is public so there's no private variables that you wish you could access, but there are still accessors to keep everything neat and tidy. Right now V2 is setup as a game component so all you have to do is add it in your game class's constructor and then you have access to everything in the static XnaHelpers class which is updated by the game component so you never have to call anything like Update or SetVariables for it.
What I have so far...
*Xact and Non Xact audio manager classes to make playing sounds easier.
*FrameRate counter game component
*Input class is almost entirely rebuilt
*Built in spritefont so you can print out debugging information without every manually loading a spritefont to do so! - since content embedded in a assembly file cannot be unloaded I will release a version that doesn't include the font embedded in it
Whats in development
*Guide helper to make it easy to use the guide's, keyboard, messagebox ect ect (I'm actually thinking about writing my own versions of these since the guide can be painstakingly slow)
*Storage systems for both the xbox 360 and Windows platform
*Data serialization
Right now I'm not sure but I may make a shader to draw simple primitives such as lines but I don't have alot of experience with shaders but this seems like a good time to learn so keep an eye out for it.
A major improvement over the old setup I was using. Just about everything is public so there's no private variables that you wish you could access, but there are still accessors to keep everything neat and tidy. Right now V2 is setup as a game component so all you have to do is add it in your game class's constructor and then you have access to everything in the static XnaHelpers class which is updated by the game component so you never have to call anything like Update or SetVariables for it.
What I have so far...
*Xact and Non Xact audio manager classes to make playing sounds easier.
*FrameRate counter game component
*Input class is almost entirely rebuilt
*Built in spritefont so you can print out debugging information without every manually loading a spritefont to do so! - since content embedded in a assembly file cannot be unloaded I will release a version that doesn't include the font embedded in it
Whats in development
*Guide helper to make it easy to use the guide's, keyboard, messagebox ect ect (I'm actually thinking about writing my own versions of these since the guide can be painstakingly slow)
*Storage systems for both the xbox 360 and Windows platform
*Data serialization
Right now I'm not sure but I may make a shader to draw simple primitives such as lines but I don't have alot of experience with shaders but this seems like a good time to learn so keep an eye out for it.
Tuesday, June 29, 2010
Version 2 In Development
Right now I'm converting the whole project to a neater and more portable GameComponent so it does all of its work behind the scenes so you don't have to manually call the methods. I'm hoping to bring some big improvements that will really make the library more useful. I'll be posting more updates as I get more done but for now here's a list of things I plan to implement.
*Add portable components that can be used in other projects and are not dependent on the rest of the library, e.g. Framerate counters and other statistics gathering classes
*Storage handlers - This is primarily for the Xbox 360 but it will have its uses on the Windows platform.
*Xbox Guide helper
*Possibly an Exception handler class
*I'm going to try and create a primitives class that will make it easier to draw things such as boxes or lines - most likely will be strictly for debugging until I learn how to make it efficient at drawing a large quantity of them. Will be useful for things like collision detection.
*Data Serialization - I'd like to add a different way of serializing and deserializing data in other types of files other than XML since xml to me is a bit annoying to setup for serializing. Obviously it probably won't be as complex and will mainly be used for something such as writing scores to a file or simple user settings
Hopefully I'll come up with more stuff to add. Again if anyone has any ideas or comments email me! I'd love to hear anyone's ideas on what to add or just what they think of the project in general.
*Add portable components that can be used in other projects and are not dependent on the rest of the library, e.g. Framerate counters and other statistics gathering classes
*Storage handlers - This is primarily for the Xbox 360 but it will have its uses on the Windows platform.
*Xbox Guide helper
*Possibly an Exception handler class
*I'm going to try and create a primitives class that will make it easier to draw things such as boxes or lines - most likely will be strictly for debugging until I learn how to make it efficient at drawing a large quantity of them. Will be useful for things like collision detection.
*Data Serialization - I'd like to add a different way of serializing and deserializing data in other types of files other than XML since xml to me is a bit annoying to setup for serializing. Obviously it probably won't be as complex and will mainly be used for something such as writing scores to a file or simple user settings
Hopefully I'll come up with more stuff to add. Again if anyone has any ideas or comments email me! I'd love to hear anyone's ideas on what to add or just what they think of the project in general.
Sunday, June 27, 2010
Version 1.3 is up for download
Version 1.3 is up for download on the codeplex page along with the documentation for it.
Friday, June 25, 2010
V1.3 Update
I've just finished the new and improved Animation class. It is a complete rewrite from the old one.
Now supports:
*2 Dimensional Sprite Sheets - NOTE: They have to be even, if you have a 5x5 sprite sheet it must have 25 frames i plan to change this in the future.
*Allows an array of integers to be passed that controls how long that particular frame will be displayed. If you have 5 frames the array would look like...
int[] times = new int[] { 10,20,50,1,100 };
This will be make the first frame last for 10 milliseconds, the 2nd for 20 and so forth. All times are measured in Milliseconds.
*Positions are based off of Origin, however you can choose to draw as if it were at the upper left corner of the frame.
*You can choose to play between 2 sets of frames, eg for an attack you could have the inital attack and then something else. E.G.. animation.Play(1,5,6,10); This will play frames 1- 5 ONCE then loop through frames 6 - 10 until it is stopped. I'm going to add a feature that lets you decide weather it will loop the 2nd time or just stop as well.
There are numerous other updates and I will be writing a documentation for it when I release it. All of the code is documented so it shouldn't be very hard to read. It is not perfect at the moment though, I will be working to make it more efficient as I work on this release and future releases.
Again if anyone has any ideas or requests of things they would like added to the library please Email me at AB4@comcast.net
Happy Coding
Now supports:
*2 Dimensional Sprite Sheets - NOTE: They have to be even, if you have a 5x5 sprite sheet it must have 25 frames i plan to change this in the future.
*Allows an array of integers to be passed that controls how long that particular frame will be displayed. If you have 5 frames the array would look like...
int[] times = new int[] { 10,20,50,1,100 };
This will be make the first frame last for 10 milliseconds, the 2nd for 20 and so forth. All times are measured in Milliseconds.
*Positions are based off of Origin, however you can choose to draw as if it were at the upper left corner of the frame.
*You can choose to play between 2 sets of frames, eg for an attack you could have the inital attack and then something else. E.G.. animation.Play(1,5,6,10); This will play frames 1- 5 ONCE then loop through frames 6 - 10 until it is stopped. I'm going to add a feature that lets you decide weather it will loop the 2nd time or just stop as well.
There are numerous other updates and I will be writing a documentation for it when I release it. All of the code is documented so it shouldn't be very hard to read. It is not perfect at the moment though, I will be working to make it more efficient as I work on this release and future releases.
Again if anyone has any ideas or requests of things they would like added to the library please Email me at AB4@comcast.net
Happy Coding
Wednesday, June 23, 2010
V1.3 Update
Right now I'm working on V1.3, probably would have had it out sooner but I've been mainly working on my game and a few technique tests but I hope to have it released in a couple of days. Things I plan to add.
New ways to access items from the Variables class, eg a Load method so you do not need to use Variables.Content.Load ect instead you would just do Variables.Load(string)
Not sure how useful it will be but I've found it annoying as I've been using it in my game.
Several improvements to the animation class to make it much more flexible.
Right now I'm adding 2 dimensional sprite sheet support, more specific loop control such as first loop play frames 2-5 then on the second loop play frames 3 - 5. I'm not sure if I will get it working in this release but I would like to add the option to add how long to display each frame so if you have an idle animation that goes into a animation or one frame is very long you will only need to specify that in code and not make 30 copies of the same frame.
New ways to access items from the Variables class, eg a Load method so you do not need to use Variables.Content.Load
Not sure how useful it will be but I've found it annoying as I've been using it in my game.
Several improvements to the animation class to make it much more flexible.
Right now I'm adding 2 dimensional sprite sheet support, more specific loop control such as first loop play frames 2-5 then on the second loop play frames 3 - 5. I'm not sure if I will get it working in this release but I would like to add the option to add how long to display each frame so if you have an idle animation that goes into a animation or one frame is very long you will only need to specify that in code and not make 30 copies of the same frame.
Subscribe to:
Posts (Atom)