Wednesday, December 5, 2007

Prototyping with MVC pattern

Recently I had some free time and I happily spent it on developing my new game. As always before coding I spent some time with pen and paper designing the implementation I know that it will be a big project and I know that if I will try to make it with the same "production process" which I used previously, it could easily end up unfinished. I mean, previously when I added a new feature which required graphics, always this graphics was almost at finished state. I didn't use placeholder to just get going with the code. Now with my most recent project I took a different approach. I want this game to be 3D, but I known that going in this direction from the very begging would require much work from me. For example when I would implement units in game, I will probably end up doing animations and modeling stuff instead of polishing gameplay features. To prevent this I decided to write my code in more prototyping way. Right now I have a dungeon on screen, I have units in it, and I have the ability to build building inside the dungeon, but.. the dungeon is just a 2D top down representation made of mono colored titles. Also my unit is just a blue dot. All at I'm focusing right now are game features and gameplay mechanics. This way I will know if my game is actually super playable idea or it will get you bored in few seconds. Also it will makes me more motivated because I will see the results of my work much faster. And at some point I will switch to 3D graphics :), and the best thing is that this time I would be able to post on the forum "I have written a game with placeholder graphics and I'm seeking an art person to make models for it" instead of "I want to write a game and I'm seeking someone to help with graphics", which is a big difference, trust me.
Okay, enough with the introduction part, lets talk about the meat ;). When I read that I'm actually planing at some point to switch from 2D to 3D you probably thought: "What? Isn't it more work when writing for 3D from the beginning?". Well not exactly. You see, I've designed every part of my code with Model View Controller pattern in mind. Sometimes 3D and 2D differ only in presentation of the game world, but model part, I mean how you store your units, dungeon data and so on, are the same either it is for 3D or not. And now I can only switch the view part to have a 3D representation of my game, and use 2D part as a minimap of the area :) (fully functional by the way because you can actually play whole game in the map view;) ).
I didn't write much implementation details, because I don't know if you people are interested in it. If you want me to give more details on this, just left me a note in comments. Oh, and I think that my next post will be about idea of my new game itself, so you will know exactly on what I'm working on. And no it is not an RTS game ;).

3 comments:

Slayer Gothpaladin said...

Why it isn't too RTS? Why don't you make one of those at least?

Kamil said...

Because I'm mean person ;):P

Kamil said...

Okay honestly the reason for not making typical RTS is the competition. I mean, just look around, I can't alone do something what would be better then C&C or whatever AAA title you could think of.. :)