• Advertisement
Sign in to follow this  

Architecture Of A Game

This topic is 2397 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

[img]http://i1026.photobucket.com/albums/y322/CptNuke/Untitled-62.png[/img]

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.

Share this post


Link to post
Share on other sites
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 [url="http://ploobs.com.br/forum/viewforum.php?f=39"]http://ploobs.com.br/forum/viewforum.php?f=39[/url] you can post any doubts about the framework there.
The project is in github [color=#333333][url="https://github.com/thelinuxlich/artemis_CSharp"]https://github.com/thelinuxlich/artemis_CSharp[/url] [/color]
[color=#333333]There is also a demo game (veeeeeery simple, just to show the concepts) here: [/color][color=#333333][url="https://github.com/thelinuxlich/starwarrior_CSharp"]https://github.com/thelinuxlich/starwarrior_CSharp[/url][/color]
[color=#333333]The port forum post can be found here [/color][url="http://ploobs.com.br/forum/viewtopic.php?f=39&t=95&hilit=ploobs+artemis"]http://ploobs.com.br/forum/viewtopic.php?f=39&t=95&hilit=ploobs+artemis[/url]
We are using this entity system with our opensource XNA game engine [url="http://ploobs.com.br/?p=725"]PloobsEngine[/url](tutorials [url="http://ploobs.com.br/?page_id=233"]here[/url]) =P

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

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
[quote]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 [url="http://farseerphysics.codeplex.com/"]http://farseerphysics.codeplex.com/[/url],

Share this post


Link to post
Share on other sites
[quote name='tpastor' timestamp='1308514891' post='4825213']
[quote]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 [url="http://farseerphysics.codeplex.com/"]http://farseerphysics.codeplex.com/[/url],
[/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.

Share this post


Link to post
Share on other sites
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 [url="http://neoforce.codeplex.com/"]http://neoforce.codeplex.com/[/url]
The code is not commented, but the architecture is not that hard to learn.


[quote name='twoski' timestamp='1308611054' post='4825714']
[quote name='tpastor' timestamp='1308514891' post='4825213']
[quote]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 [url="http://farseerphysics.codeplex.com/"]http://farseerphysics.codeplex.com/[/url],
[/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]

Share this post


Link to post
Share on other sites
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. Edited by braindigitalis

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement