So anyway progress continues on the game. I have been back to work on the rewrite of late despite my loooming exams. I've written a sort of game structure and am working on making some code for moving characters around reusable so I can just use it for enemies and whatever else I decide to chuck in there. It's all simple in concept and then damn complicated when I actually have to do it. But a great thing about making a game is how many strange unexpected problems it throws at you. It's a great way to learn about programming without having to construct meaningless problems for yourself to solve. There are so many problems pre-built into making a game it's like a student's
I expect to be finished with the game in around 3 months. Lol.
I'll just edit this post until something interesting happens. My word I'm working slowly. I can't wait for these exams to end!
Things done on the new version - update of randomness 13/06/2012:
- Created a system to handle loading the right graphics for each level. I tell it what level and it loads the graphics. Mostly just boringly designed platforms. Admittedly I only have one level but I have tested it. I think.
- Created an input system that converts keyboard input into a direction vector (basically just keeps track of up, down, left, right, nothing, or any combination of those) and some other variables to keep track of other buttons. Oh and I made it pretty simple to change the controls for later. The reason for the whole conversion thing is because I...
- Made a movement system that'll contain a bunch of functions (tools) to move the character (or indeed anything) around given the right input. But since the keyboard input is turned into this other form I can use the keyboard input for these functions or just give it input and it won't know the difference.
- Made a camera that is restricted to certain bounds. I'm planning to make it able to follow any object I choose. That way I can switch it to random objects and amuse myself.
- There's also something that defines everything in the game as an object - maybe I should have used the term sprite? - and stores the properties of that object and then a special version of that I made called a playerobject that's for the player. It was the first thing I made.
- Made functions for movement for a topdown or sidescroller game. I could always use the topdown one for enemies that hover or something since I do intend to keep this a sidescroller. I also added inertia to these which you can set to anything you like.
And here's a little short term to-do list:
- Set the camera bounds when loading the level
- Start work on collision detection before doing anything fancy
- Remeber to code it in such a way that the character can change size at any time
- Find a way to define all solid objects as polygons
- Figure out how to detect collisions between these polygons and the player and move the player out of them apropriately
- Decide on how to determine when the character is on the ground