The last two weeks I've been working on the graduation project for the Advanced C++ cource with my classmate and friend Petter Vernersson. The assignment was to create a game that had som requierments, it has to contain some programming design patterns such as: Flyweight, MVC, Observer with a Mediator.
So two weeks ago me and petter satt down and disscust what game we wanted to create Petter came up with the idea of creating a 2D version of Portal. It's nothing that hasen't been done before but this is a programming course and Portal seems like a fun and developing game to code. Whe then started to decide some naming conventions, class corralations and created diagrams of some of the classes. We then wrote down a schedule for the first week, what should be done and when and got to work.
Work Work!
The first week we created the "engine" mening we created the renderer, texturemanager, audiomanager, and so on, we also linked in Box2D since it was an requierment to include an external library. The second week we took some time of since we had a math test to study to, so not much work was done that week, however I did start working on a Entity Creator tool. This tool allows the user to create new Entities and add Components to them, like movement controlls, drawable, animator and so on, it then packages this data so we can load it into the game and create objects of that type.
It's not the most beautiful program in the world, but it does it's job.
This week I've finished the Entity Creator and wednesday I started work on a level editor.
It contains :
- A List of objects that can be placed.
- A larger preview of the object and rotation buttons.
- Layer selection and the ability to remove and add custom layers.
- A draw area with a grid that objects can be placed upon.
- A move tool wich allows the user to navigate the drawarea.
- A place tool that is used to place and remove objects from the draw area.
- A Link tool that Links object together, for instance a button and a door, so when the button is pressed the door opens.
- A Snapp 2 Grid lock, when active all the objects snapps to the green grid, when not the objects are drawn exactly where the user places them.
- A save and load button for saving and loading of maps.
- Keyboard shortcuts
Since we didn't plan on creating a EntityCreator tool, we had the deadline for the Level Editor today, however on thursday I traveled home for christmas so I didn't get anything done that day. But during Friday and Yesterday I was able to work quite a lot, I've gotten the majority of the editor done, the only things left to do is the save and load functions and the Linking tool. So I think I will be able to get it done today.
That's all for today, goodnight and thanks fo reading.
-David Forssell
Inga kommentarer:
Skicka en kommentar