Architecture Of A Game

Started by
5 comments, last by Brain 12 years, 10 months ago
Hi all,

I've been diligently planning on making a simple video game. I have decided that i'm going to go with C# and use XNA. The problem is, I haven't the faintest clue of how i can get started. I've already begun coding but i've kind of hit a wall.

I've drawn up a simple diagram detailing the components i'll probably need to make. I don't know which order to make them in though! If anyone here has had experience building a game from scratch i'd love to hear their words of wisdom.

Untitled-62.png

The red arrows mean that one thing probably depends on another being coded first.

I'm also keen on learning more about certain aspects of video games. I have heard a lot of talk about "entity factories" but i've never really understood what they are and why they are useful. How can i implement PhysX in my video game? Where can i learn about shaders and what exactly they do? If anyone could give me a push in the right direction i'd be very grateful. Feel free to ask me any questions if i left any information out.
Advertisement
hi,


About entity factories.
We ported the famous Entitiy framework called Artemis for c#, now you can use it with XNA (PC or Phone7)
We started this week a small section specifically about this in our forum http://ploobs.com.br/forum/viewforum.php?f=39 you can post any doubts about the framework there.
The project is in github [color=#333333]https://github.com/thelinuxlich/artemis_CSharp
[color=#333333]There is also a demo game (veeeeeery simple, just to show the concepts) here: [color=#333333]https://github.com/thelinuxlich/starwarrior_CSharp
[color=#333333]The port forum post can be found here http://ploobs.com.br/forum/viewtopic.php?f=39&t=95&hilit=ploobs+artemis
We are using this entity system with our opensource XNA game engine PloobsEngine(tutorials here) =P

About [color=#1C2837][size=2]PhysX:
[color=#1C2837][size=2]there is a wrapper ofor this lib in c# take a look =P http://physxdotnet.codeplex.com/
[color=#1C2837][size=2]also look at this wonderfull remake using xna and physx (opensource) http://physxinfo.com/news/3367/physx-powered-carmageddon-xna-remake/
but for xna i strongly suggest something like bepu http://bepuphysics.codeplex.com/
Thanks for the helpful reply!

I should have stated my game is going to be 2d... Is BEPU a good choice for a 2d physics library?
I should have stated my game is going to be 2d... Is BEPU a good choice for a 2d physics library?
[/quote]

No, bepu is for 3D physics.
For 2D i REALLY RECOMMMMMMMMEND the Farseer api http://farseerphysics.codeplex.com/,

I should have stated my game is going to be 2d... Is BEPU a good choice for a 2d physics library?


No, bepu is for 3D physics.
For 2D i REALLY RECOMMMMMMMMEND the Farseer api http://farseerphysics.codeplex.com/,
[/quote]

Wow that does look very useful - I think i'll be using that to handle all the physics interactions in my game.

Is there a tutorial or something i can read to further my understanding of GUI element creation? I want to firstly get the menu code for my game completed since that seems like a logical place to start.
tutorial i dont know, but i know one good opensource API for guis that you can download and learn form that.
Their concepts are very close to windows forms way of handling events.
try http://neoforce.codeplex.com/
The code is not commented, but the architecture is not that hard to learn.



[quote name='tpastor' timestamp='1308514891' post='4825213']
I should have stated my game is going to be 2d... Is BEPU a good choice for a 2d physics library?


No, bepu is for 3D physics.
For 2D i REALLY RECOMMMMMMMMEND the Farseer api http://farseerphysics.codeplex.com/,
[/quote]

Wow that does look very useful - I think i'll be using that to handle all the physics interactions in my game.

Is there a tutorial or something i can read to further my understanding of GUI element creation? I want to firstly get the menu code for my game completed since that seems like a logical place to start.
[/quote]
From your diagram i would say that everything is a state or depends on the game being in a specific state and needs to know what that current state is, so program state management first and get it reliable. There are some good state management samples in the XNA samples which installed alongside XNA Game Studio 4.0.

In my game, the game can be in two states at once at times, when transitioning from one to the other, the draw method of both are called but only the update method of the new state is called.

If you would like to see what i've cooked up, just let me know and i will paste examples here.

This topic is closed to new replies.

Advertisement