Game Program Projection Format: Help needed with development plans

Started by
6 comments, last by programmermattc 15 years, 8 months ago
Hi again So, I finally brokedown and realized part of the problem with how I'd been approaching designing a game: I had been thinking from specific design and trying to generalize, instead of coming up with general ideas and plans and then getting more and more detailed from there. So that is what I've done. Here is a quick doc I started drawing-up, detailing the rough conceptual outline of what pieces/plans go in to programming a game. I am posting it here for critiques, suggestions, additions, etc... If there's something you think I've missed, by all means let me know or go ahead and add it yourself. If something's in the wrong place or wrong order, let me know so I can fix it. I'm just trying to get a grasp on the whole format and planning of programming a game, seeing as how monumental a task it is. Here goes. Start Program Initialize Main Menu – Call On Menu Database Begin Windows Layout Programming Display Window and UI Initialize Button-specific Scripts Initialize Sound – Call On Sound Database Start Running Sound Activate Menu Sound Call On Sound Database Active Trigger List Display World Draw World – Call On Graphics Database Activate Graphics Data Display Window Graphics Call On Graphics Database Render World LOD Begin World Render Scripts Initialize Physics – Call On Physics Rules Database Activate Physics Program(s) Activate Constant Physics Scripts Assign Global Physics Controls Call On Physics Database Initialize Player Controls – Call On Controls Database Activate Input Control Scheme Activate Control Trigger Database Call On Model Control Script Database Initialize UI – Call On UI and Art Database Draw UI Graphics Initialize UI Triggers Initialize UI Control Scheme Initialize Button-Specific Scripts Initialize Rules Start Story Scripts – Call On Script Database Access Story Script Database Activate Quest Start Data Assign Beginning Model Tasks Assign Variable Values Assign Model-Specific Scripts Initialize AI – Call On AI Database Call On AI Script Database Assign Model-Specific AI Begin AI Variable-Search Loops Initialize Global Data – Call On Globals Database Generate Model Population Randomization Call On Game Rule Database Activate Global Interaction Rules Assign Model Data Values Loop End Program Thanks in advance
Advertisement
That's a good starting layout for a program flow. Be cautious though, depending on what technologies you use, certain parts could be changed.

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

Oh trust me, I fully expect to change the order and certainly the progression layout. But see, this way I'll be able to keep narrowing down what each step will include until I can actually write the specific code for each thing, and then back-track using the layout I've written to put the code all together. Do you think that will work?
Yeah I guess it would work. The way engines work is that things like Audio, Graphics, Physics, etc... are all handled in seperate classes so technically you could have a very general overview like:

Load Graphics
Load Physics
Load Sound
Load AI
Load Rules

You've basically got that, just in waaaaaay more detail which may or may not be helpful depending on how you develop. I typically don't have anything planned out before hand other than what basic features I'm going to program and I go about creating my classes and stuff as I build it.

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

Well right, I know you use classes and such, but they arent all called that in every language, so its easier for me to understand if I just say what it does. And the reason I have it in so much detail is because I dont think I have the technical-enough mind to just sit down and write an entire game code form start to finish: I'm going to need to do it in segments and pieces, different arrays and such, in a modular format so I can edit and put it all together as I choose.

Does that sound feasible with the languages I wanted to use above?
That definitely sounds feasible, although I think thats basically the definition of a class. A class is part of the Object-Oriented style of programming which I would go so far to say is used in every recent game out there (I can only imagine a very small majority wouldn't). I don't want to lecture on the OO programming style, but with a class you can create custom objects that can be used like the 'modular form' you mention. That way you can build a couple functions, and can call them with an object wherever you like. That method is generally used in most imperative languages (Java, C#, C++) now-days I think.

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

Alright. Sounds good.

Now, I know that C++ is OO, and I know C# is, but what about VB.NET?

Also, per the suggestion in your other post, I looked up XMA, but it refuses to let me run the programs without VBC# 2005, and I can only get it in the 2008 format.
Yes, VB.Net is OO also considering you can create classes and then instantiate objects of those classes.

You can find the download for the Visual C# 2005 Express Edition here. (Look under the green box). You will need that installed, the 2005 Express Edition Service Pack, and XNA Game Studio installed.

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

This topic is closed to new replies.

Advertisement