So, where do I start from?
Since i started fiddling with game engines (no matter if it was Ogre, GMK or JMonkey) i always approached the game as a matter of narrative/interactive problems only.
Coding only what and when i actually needed something in the name of Making “freedom”.
The truth is, i was only making my life miserable everytime any project would get just a little bigger . xD
I am actually proficient with decent skills in programming and software engineering but I never mixed my actual developing knowledge with game making.
Always thought of them as they were two separate things.
Now i know it was stupid of me . xD
Back to school
For the first time since i started thinking and writing games i said to myself:
Let’s try the academic way!
I started asking me some questions and, BOOM!
Problem Statement!
How can i make myself see the various mechanics of a game as I would see a Requirement Analysis for a job?
Software Engineering to make my life easier
It took some time to get used to it but i started seeing the various requests and constraints i needed to finally formalize in my head what i always saw as just “stuff”.
After i had my initial model i wanted to optimize the statement the next question was:
How can i make my life easier during the development?
Object-Oriented Thinking to make my life easier
The best answer for me was “Reusable and Extendable Architecture”
So i started weaving the classes, specializations, dependancies and possible implementations in my game.
Making sure to have effective ways to easily reduce similiar mechanics to one single way of implementing them. Only creating a specialized class if strictly necessary, and even in that case the specialization would inherit from the more general class.
TL:DR
Without dragging too much…
I found out now I have more freedom to focus over the details that are important for me with a solid, extendable and 99.9% reusable architecture.
This probably wouldn’t affect much the game in itself (even though optimization and management ARE better with such an architecture) but definitely made my life easier.
An excerpt from the game’s UML class diagram.
0 comments