Grotius

I'm not new to programming, but I'm new to game programming and C#. I'm wondering to what extent it's realistic for someone to make their own 3D (or for that matter 2D) game engine. The two projects I have in mind for myself are a turn-based 2D war/strategy game, and a 3D adventure game in the manner of "Dreamfall".

On the 2D side, I feel confident I could come up with a 2D interface on my own. I haven't done a lot here yet, but I did manage to whip up a little 2D hockey game without peeking at Bill Reiss's excellent 3D airhockey tutorial at http://xna101.spaces.live.com/ . I've even given my computer hockey opponent a very primitive AI. OK, my collision detection and physics aren't great, but I'm not sure how much I'll need either of those for a 2D wargame. I've also worked through some of the tile-map tutorials at http://www.xnaresources.com/pages.asp pageid=8 . One thing I am reasonably proficient at is Photoshop and Illustrator. So maybe it's hubris, but I think i could make a 2D strategy game.

But what about the 3D side I've done some 3D modeling and animation (Blender, Poser, Maya, soon Max), and I was a math geek in school, so I remember my geometry and culculus. I'm starting to work through 3D tutorials on XNA now. But I know I don't have the skills to make a hyper-efficient 3D engine. Is the best practice just to adopt something like the coming TorqueX The Do-it-yourself impulse in me runs strong. :)



Re: XNA Game Studio Express Is it realistic to create one's own engine?

wakawaka54

I created a game engine that does alot of things with XNA Beta 1. It can do fonts, had a mesh class, a user interface (2D Buttons, was working on 3D Buttons), support for cursors, and tons of other stuff. But in all it still isn't half as good as the TorqueX engine. I also have that Do-It-Yourself impluse in me but I've noticed that it is much harder than I atticipated. First of I would recommend you to program lots of games in C# (I am different though in the sense that almost none of my games are ever finished but I still tackle big problems in each of them and succeed, therefore giving me the experiance). 3D, to me, is like the ultimate frontier. I can do 2D but for 3D I would need alot more math and creative thinking skills to be able to even attempt. So in conclusion to make an engine you need experiance, probably some sort of team, and alot of patience. I soon will probably just purcase an engine like TorqueX because it isn't worth trying to make an engine and spend 1 year or 2 when you can just buy one. But still my engine is very helpful because I still use it for alot of things (AnimatedSprite class, Tileset class, Mouse class, and Keyboard class, these are the most important).

Plus I'm a 13 year old and I don't have time to make a highly sophisicated engine. (I can't even spell much less make a revolutionary engine) :).

Just an opinion,

wakawaka54

HALO 2 CHAMPION!!

:) :) :) :)

Dam i have a math test on friday...






Re: XNA Game Studio Express Is it realistic to create one's own engine?

Jim Perry

Learning how to code your own 3D engine is never a bad thing IMO. The result doesn't have to be capable of challenging UE3. TorqueX might be a pretty good thing to work with (since I didn't get in on the beta I haven't seen it so can't say much more ) so you can take a look at it when it's released. I know I plan to.




Re: XNA Game Studio Express Is it realistic to create one's own engine?

Fluxtah

I would think anything that would allow you to build games at a higher level of abstraction would be benificial.

I am definetly a newbie when it comes to games programming but I do think what I have learned from building enterprise applications, such as design patterns I have employed in business applications would also transfer across to games.

I think it definetly is all about writing reusable components, regardless of wether you dub it an engine or not, its still worthwhile having nice organisation and structure to your code. Though I definetly think its not worth writing an 'Engine' before writing a game, if you are a newbie at this like I am.

Make it work, make it right, make it fast is probably also applicable to games programming :) Its definetly worth just getting something going on the screen, brute force programming with a keen will to factorise and optimise as you go along your way.





Re: XNA Game Studio Express Is it realistic to create one's own engine?

Micky D

Perhaps, though you won't get far with your game if you don't have an 'engine' of some sort. All games have an engine; it's just the amount of features that distinguish yours from others.

Programmers' definately have it a bit easier nowdays; once upon a time you were lucky to get scanline-filled polygons. ;)





Re: XNA Game Studio Express Is it realistic to create one's own engine?

AndyL

I would ask yourself this question: do I want to write games, or do I want to write a game engine Realistically, you will be doing one or the other, but not both (unless the engine complexity is trivial, or 2D) - you simply won't have enough time. There is actually a gulf between the two things, and what motivates people to do one or the other (deep down are you a techie, or a creative person Do you want to create cool effects, or a cool game ).

3D games engines are not easy things to create - although they look that way until you are 9 (full time!) months into developing one, but don't let that stop you having a go and enjoying the journey!

Andy.





Re: XNA Game Studio Express Is it realistic to create one's own engine?

Micky D

That's not particularly true, most games have their own engine so in the process both a game and engine was developed; it's only a few engines that are good enough to license to third (3rd) parties. It is the game engine process that takes up the bulk of the time, story scripting, voicing, sound and QA play a rather smaller part in the timeline.

Speaking from experience, engine design and game design involve both creativity and technical feats. It concerns me when I hear 'game programmers' saying they don't want to write an 'engine'. Contradiction

Personally, I would avoid someone else's engine - derived games just tend to behave like a 'mod' of the original. Such families of games tend to exhibit the same nuances for the time without any particular distinguishing feature that sets one from the other.

Besides, you'll learn more developing the core on your own putting you on the path to a more enlightened programmer rather than just a script-writer and texture-changer.






Re: XNA Game Studio Express Is it realistic to create one's own engine?

Michael Hansen

go ahead give it a try

you will learn alot about the api and how to orgenize tings

or use gargegames engine it is free

or us this engine http://www.3devolution.net ( my engine )

it will be realease 31-12-2006 in full source code + a sample fps game under the microsoft mit licens

sorry about my typos but i am a word blind






Re: XNA Game Studio Express Is it realistic to create one's own engine?

Gyrepin

There are a lot of good thoughts in this thread. I like the feedback I've seen from everyone. I myself am in the process of writing my own managed DirectX (to be moved to XNA) game engine in support of the writing of a game I'm designing. I think we're in a really interesting point in the history of game development. Never before have there been so many tools available. It really lowers the bar for entry into the industry. And although I'm not always excited about things Microsoft, I appriciate that they have done the most for the indy game developer in this respect.

It's often been said that one needs to have a team in order to develop a game or game engine. I have always disagreed with this. Of course, if one developer building a game by himself tries to put together something with every cool feature he can think of, it will never get done. But by breaking down the problem and creating an engine that contains a subset of the fetures that interest you, you can create scaled down games that can eventually be worked int a greater whole. That's the approach I'm taking with my game; and so far, it's been panning out alright. Yes, I still have a long way to go. It will likely be a couple of years before I have anything close to my final design completed; but in the very least, I'm learning a great deal and with some creative thinking in terms of breaking down the individual problems, I can have dozens of smaller games that will eventually get integrated in to the final product.

Whether you decide to start from scratch or go with something already on the market, I recommend picking up an individual license for Torque. I have one, and have tinkered on it a bit (creating a day/night cycles resource and a client side targeting resource for the engine a couple of years ago). I learned a lot; and it's always good to look over something like that to get ideas as to how you could and wouldn't do things. :-)

Just my $.02

Best of Luck,

SI





Re: XNA Game Studio Express Is it realistic to create one's own engine?

sticky

Hello,

I have been using TV3D 6.5 Beta for a little while now - but its been a long time in the making, the documentation is non-existent and worse of all, the people who run the company (or at least control the forums) appear to be snot nosed kids -- so i started looking at the XNA (looked at it in Beta1, but...) again --

I know it is not a 'precoded engine' but does give you managed access to the API -- and im VERY familiar with Microsoft methodology, programming (MCSD.NET), and thier very large resources... thus couldnt MANY of the more difficult things of building an engine be provided (source code) by online communities and used in XNA - hence, you may only have to build 20-30 percent of the custom engine features from scratch

So here are my questions:
1.) Should I still stick with TV3D and home it comes out of beta and they provide docs
2.) Should i be looking into another engine Please make sure you understand the capabilities of TV3D 6.5 Beta before saying, because its actually a very powerful engine - just want to get away for reasons above... If so, what engine do you recommend that has the ability of making a AAA game that can be coded using c# (c# is the only language i want to use to build a game, tho its not the only language i know)
3.) What type of game/performance is possible with XNA, realistically Could a shop of 8 make a AAA title with XNA Game Studio

I just downloaded it yesterday and what i see thus far I LOVE.

Looking forward to feedback...





Re: XNA Game Studio Express Is it realistic to create one's own engine?

Jon Watte

The performance of XNA game studio is pretty much up to par with any other packaged rendering API -- as long as you know how to use it (avoid gen2 garbage collections, pre-allocate temporaries instead of allocating them each frame, etc). Most of the performance difference will come from algorithmic selection, rather than from the language or environmet.

However: XNA is a successor to Managed DirectX - i e, when comparing XNA, you can compare it to using a straig API like Direct3D or OpenGL, possibly with thin wrappers like SDL. XNA is not an "engine" per se -- no collision, no simulation, no entity management, no scripting/logic, no networking, etc. Thus, if you're considering rolling your own on top of SDL or PLib or ClanLib or OpenGL or Direct3D, then XNA is a fine alternative. If you're considering fuller engines like CrystalSpace, Nebula2, Torque, C4, etc, then XNA gives you less.

Last: the main draw-back with XNA is that it does not allow you to do native interop, if you want to target Xbox 360. Thus, you can't use existing libraries like ODE or PhysX for physics, nor libraries like RakNet or Replica.NET for networking. If you only target Windows, however, you can turn on usafe code, and link them in with some wrapping.






Re: XNA Game Studio Express Is it realistic to create one's own engine?

AndyL

If you do want to write your own game 'engine' (I hate that word!), I suggest you make sure you know exactly what you want to achieve, plan for it, and stick to it. I've seen far too many efforts to produce completely general 'engines' die under the weight of their own complexity... Just make sure you have the resources to implement the features you will need from the list Jon has mentioned above.



Re: XNA Game Studio Express Is it realistic to create one's own engine?

Michael Hansen

sorry about my typos i am word blind

Xna give a set of tools that can ease your pain in development of a game

it allso give you an api that support all the aaa production tools on the market

you game the Microsoft.Xna.Framework.game dll  is a dll that has done all the basic work for you , you onley have to provide some collision dection, and load up you meshs , and make game ai / logic

the Microsoft.Xna.Framework dll is the api that give you full control of tings that you might build

go ahead give a try widt Microsoft.Xna.Framework.game dll and when you get fielling of it move ahead to the api dll

regarding proformence it is up to microsoft if the xna is hook into 1 or 3 processor the graphics card on xbox360 will outproform

the all graphics cards the use pixel shader 3.0 not 4.0

mabye on windows the xna framework in hook into pixel shader 4.0 graphics cards ( in the future i hope )

the pixelshader 4.0 cards wil outproform ps3 and xbox360 even if you have a single cpu on your computer

look at winfast 8800 gtx or gts graphics card and it allso have a quadtum physics processor on bord to help on and 194 pipelines

 

best regards

michael






Re: XNA Game Studio Express Is it realistic to create one's own engine?

Micky D

Agreed.

XNA supports HLSL because the industry has realised that fixed function APIs can no longer keep up, better to compile the code and upload it to the GPU and execute it there. That's why there are hardly any graphical functions in XNA.

The real trick is to have your system (I'm getting sick of using the word 'engine' too) walk your scene and process objects in an effient way when sending it to the GPU. How many applications have we seen where the frame rate is very low considering the content on screen (as compared to earlier games with more detail and higher frame rates). Such pipelining is not optimised.