Archive for January 3, 2011
Well, I am. I spent a tragically short winter break completing the last of my work for an internship, which when considering some much needed personal time as well left me with little progress on my project throughout the break; however, given that I will have a very large amount of time to dedicate to it due to my lack of a job through this next term, I should be able to do about twice as much in the next three months as I did in the previous three. My determination has been somewhat strengthened as well, and as stated I have implemented what looks to me like a great infrastructure to work with. My last bit of big progress was abandoning XNA’s component system and using my own, which I did to have absolute control over what was happening, and also to allow me to step through my code and see what needs to happen where. A game is a beautiful system; many say that object-oriented programming doesn’t always lend itself to games, and from my very limited experience, I think I can at least see why someone would say such a thing. I’ve done my best so far in creating a manageable system, but still there remain some components that I think break some rules and work well enough now, but might not later. I see this, but I also have learned from the first third of this project that one cannot spend time re-coding systems in the most ideal way, for there is always a more ideal way. I will make things re-usable as possible only for myself in this current project; I didn’t create the engine class library to use over and over (although as always it would be nice if that were possible), but to keep my code organized and manageable.
Moving forward, I have some so-called “New Year’s Resolutions”:
- Make at least some substantial progress or implement a new feature for Ne+ every two days starting 01/04/2011
- Maintain this blog even more than it has been so far, and use it not only for review, but also brainstorming purposes
- Write at least one tutorial a month if at all possible for those who may be using the same technologies as myself
- Stop re-writing things that work fine (this has been a big issue for me, but no more)
- Stop wasting time on the perfect design, because I’m just really not the person who’s going to come up with it (my audience doesn’t care if the code is amazing or just pretty okay)
- Work out (health and productivity aren’t unrelated)
I think that, if I take care of these issues immediately, things will be looking pretty good. As broad strokes I want to make throughout this term, I have laid out a few major goals:
- Start defining content for the game and have some rough levels available
- Design more content
- Introduce effects and other cinematic touches into the game presentation
- Implement or integrate a config file system
- Introduce audio into the game and manipulate it dynamically according to gameplay (I don’t know yet how carried away I want this aspect to be, but as a first step get audio working)
- Polish the player class and define what moving the character is going to feel like with the physics engine
- Integrate lighting (if I need to drop XNA Reach profile support, fine. The project’s completion is more important to me at this point than eliminating some of my audience. I hate that I even have to make this decision, but I don’t think I have time to write my own lighting from scratch)
- Define more lights! I will probably write entries for the lights to describe why I think they’re important, and my big ideas on how I want them to be used.
- Think of ways to make anything that’s boring more interesting. After playing Dirt 2, I have really noticed the need for a highly polished game. Obviously no one sets out to make a game that isn’t polished, but Dirt 2 shows that polish can really take a game to the next level.
There are other things I want to get done too, but these are the important things. I am really going to go nuts this term, no more procrastinating or other work getting in the way. I am also taking image and video editing classes that will take some time, but I will do everything I can to be defining Ne+ content with the work assigned in those classes. This is the most important time for the project as I see it, and now that I have the resources to dedicate to it I am determined to make a great amount of progress.