Archived

This topic is now archived and is closed to further replies.

MatrixCubed

Nothing is impossible

Recommended Posts

Just going over a few posts and past experiences, along with some of the goals my programmer-friend and I have set out for ourselves. We''re working on an eventual large-scale RPG engine (single-player only, incompatible with multiplayer RPG methodologies). It will eventually have some advanced stuff -- most of which are currently underway: 3D rendering, scripted events, pluggable modules for using different libraries of choice, a resource manager/compiler, environment-variable system, user-defined resource packages for customizeability, etc. Not exactly all elementary stuff. What really helps when designing an engine of this is some idea of project management. Dividing each portion of the game engine into small manageable projects. Making each portion work to some semblance of functionality before moving on to the next portion. Collaborating with different people (e.g. the kickass folks at GameDev ) or sharing code with others to learn how to complete different tasks. The most important and effective "tool" I''ve found though, is breaking up the large project into smaller parts. Repeating this process until each part is down to a single function, functionality, class, or C module, makes the entire project easier to deal with when it comes to, say, implementing a scripting module where each script might be run as a _thread(), WM_TIMER event, or whatnot. I guess it seems like a lot of this is redundant; yet how many posts are there weekly where Newbie_X asks how to program the Next Big MMORPG, without realizing that programming skills not only lie in what languages, APIs, and algorithms you are familiar with, but largely (and equally) how honed your project management skills are. I think it would be beneficial if perhaps there was a GameDev series of articles on the evolution of a game engine (i.e. taking an example project, and breaking it down into as many smaller modules as possible, essentially evolving a design document and function-list by the end of the series). It''s fine that there are tutorials on Cg, Direct3D, pathfinding algorithms, etc, but without the project management skills to combine each individual tutorial into a larger finished product, many newer users who don''t understand the concept of project management can become easily deterred. Just some thoughts; would anyone with Project Management 101 under their belts care to contribute, either from experience or scholastic knowledge? MatrixCubed
http://MatrixCubed.cjb.net

Share this post


Link to post
Share on other sites
IMHO,

The most important (and most sorely missed) project management ability is to choose a good project, a project that can and will be completed yet it has _something_ ambitious and challenging. The second best is to know when to use complicated but elegant "software engineering" solutions and when not to bother and just go with whatever works.

Share this post


Link to post
Share on other sites