Bold Pixel Structure
Here’s a real headache. I’m not really a coder… I don’t have the mindset and I lack a lot of knowledge so I tend to do things my own way. Sometimes, that’s good! Often when a more imaginative solution is necessary. But more than often, I’m trying to reinvent something that already exists.
When I started the current project, I decided that first thing to do was to rebuild the code base. The structure that was born is something like this:
core.algorithms.* is where all algorithms reside. By the time I’m writting this post, the sole habitant of this package is a yet to finish A* algorithm.
core.managers.* is the home of all managers. A manager is a central system of the core. By definition, other systems depend of the existence of one or more managers to function properly. By the time I’m writing this post I have an application manager, a scene manager and a loop manager.
core.services.* A service is an isolated class that serves some purpose. It has no impact or usefulness behond a determined task, for instance, preloading the game.
core.structures.* Data structures go here. In the before-engine version of our core base, this was filled with a re-packaged version of Polygonal Labs Data Structures for Game Developers. I decided to restart the work here to keep code standards equal throughout the engine.
core.systems.* Systems are all the main classes that are relevant and play an important role through a game but that are dependencies of other classes. By the time I’m writing this post I have an audio system, a file system, an input system and a music system.
core.tools.* Tools go here… who would have thought of that?! From collision to math passing through little tools like getting the domain name to site lock the games, almost anything can fit here.
Thoughts?
Posted: March 3rd, 2009
at 12:00am by Vlad
Tagged with Bold Pixel Engine, FlashGameBlogs, Software Engineering
Categories: The code of VGS
Comments: 2 comments
