Engine creation - where to start

Started by
10 comments, last by motorsep 18 years, 10 months ago
I have to tell you right away - Im not a programmer. But Im looking for one. Lets say a person know C or C++ well, but haven't ever programmed for games. The task is to create 3D engine using for physics - newton physics engine, for audio - OpenAL, etc. Engine suppose to be indoor/outdoor. I would like to have engine easily portable to consoles. What should I suggest to my programmer? What resources he/she should read first? What API for render we have to choose (DirectX, OpenGL, or write custom render)? Where do we have to start from (online resources, books, how to optimize perfomance, etc.)? Thank you!
Web: http://www.kot-in-action.com
IRC: irc.freenode.org #steelstorm
Advertisement
If you look under Resources and click Articles, there're tons of tutorials and such for... just about anything (common).
NOTE: I don't know enough about OpenGL to prefer DirectX over it, but I wouldn't exactly want to write my own rendering engine either :)
Projects:> Thacmus - CMS (PHP 5, MySQL)Paused:> dgi> MegaMan X Crossfire
Why create a new 3d graphics engine.... There are tons already out there to use.

My Fave - OGRE (www.ogre3d.org)

Its free, and people have written addons that make it work with several physics engines.
He''s a bad motha - Shut yo mouth.
2 deadimp: Thanks! BTW, deadimp, what state and city are you from? I saw you announcement about your game but I haven't gotten around to try it. Is it 3D?

2 shaft: Because I don't want to use stuff under LGPL or GPL. Quake(1 and 2) engine is under LGPL, but unlike OGRE I can pay $10000 and keep source closed.
In case of OGRE it says (from their web site, section "about"):

1. Release any modifications to the OGRE source back to the community
2. Pass on the source to Ogre with all the copyrights intact

I don't want to do that for couple a reason. I think it's not fair that person worked hard on coding, put it's intellect into engine and everybody will use it for their own good and they are not going to pay a penny for that. That's just not right. That's why there is no commercially succesful game done on GPL engine. All good engines cost money. Yes, there is some nice engines I wouldn't mind to use but conditions that engines released is awful. For example Unigine is cool engine (www.unigine.com). But it's not even completed yet. They ask to pay upfront ~$2000 per project. How do I know that tomorrow they will continue development :-/ It would be nice to pay $100 (or even nothing) upfront, get prebuild engine and SDK, make a game using only scripts or SDK source code, sell it and then pay whatever they ask for to get full source code. That would be nice, but I haven't seen engine like that :)
Web: http://www.kot-in-action.com
IRC: irc.freenode.org #steelstorm
You need a programmer who will have to write a cross platform code and who has worked on multiple target platforms. He must have experience in writing this stuff because it is one of the specialized kind of programming in this industry. First you'll have to decide on what would be your target platforms. On the PC you have DirectX and OpenGL API's to look after. On consoles you will have to deal with their custom API's.
Quote:Original post by motorsep
2 deadimp: Thanks! BTW, deadimp, what state and city are you from? I saw you announcement about your game but I haven't gotten around to try it. Is it 3D?

2 shaft: Because I don't want to use stuff under LGPL or GPL. Quake(1 and 2) engine is under LGPL, but unlike OGRE I can pay $10000 and keep source closed.
In case of OGRE it says (from their web site, section "about"):

1. Release any modifications to the OGRE source back to the community
2. Pass on the source to Ogre with all the copyrights intact

I don't want to do that for couple a reason. I think it's not fair that person worked hard on coding, put it's intellect into engine and everybody will use it for their own good and they are not going to pay a penny for that. That's just not right. That's why there is no commercially succesful game done on GPL engine. All good engines cost money. Yes, there is some nice engines I wouldn't mind to use but conditions that engines released is awful. For example Unigine is cool engine (www.unigine.com). But it's not even completed yet. They ask to pay upfront ~$2000 per project. How do I know that tomorrow they will continue development :-/ It would be nice to pay $100 (or even nothing) upfront, get prebuild engine and SDK, make a game using only scripts or SDK source code, sell it and then pay whatever they ask for to get full source code. That would be nice, but I haven't seen engine like that :)


"The Ogre source is made available under the GNU Lesser General Public License (LGPL), which basically means you can use it however you like as long as release the source for changes you make to the core engine if you distribute your product. The source to your application or to new plugins you create does not have to be released (although it would be nice if you did). See the licensing page for full licensing terms."

LGPL only requires the changes you make to the core code to be released. Its perfectly legal to keep your code closed source and link with the core engine. Not sure if you understood that.
Quote:Original post by motorsep
It would be nice to pay $100 (or even nothing) upfront, get prebuild engine and SDK, make a game using only scripts or SDK source code, sell it and then pay whatever they ask for to get full source code. That would be nice, but I haven't seen engine like that :)

Haven't you seen the Torque engine? You just described it exactly except for the fact the $100 upfront covers the total cost of the engine and tools.
Sorry for this little OT, but IMHO - what he stated, requries a little clarification :-)


Motorsep: imagine that you want to learn programming. It can't be done, without reading good programming tutorials and / or articles. Now, imagine that everyone thought like this:


"I think it's not fair that person worked hard on writing this article, put it's intellect into it and everybody will read it for their own good and they are not going to pay a penny for that. That's just not right. That's why there is no commercially succesful articles. All good articles cost money. Yes, there is some nice articles I wouldn't mind to read but conditions that articles released is awful."

In such a world, learning how to code, would be haaard...

Quote:All good engines cost money.


False - ie. OGRE, Irrlicht, Crystalspace - they are good, but free.


Also, one more thing: you aren't forced to give away your code for free, under GPL, LGPL, MIT or any other open source license. But there are people who don't mind, and IMHO there's no reason to complain about it.


Btw, answer to original post: if you find programmer that would be willing to help you, and assuming that he will be able to do everything you mentioned, I'm pretty sure he will know perfectly what to do.
Not sure you find someone though, at least - not for free.
Forget about consoles if you aren't at a big company, since you won't be able to get a dev kit. I've been trying for a while to get any kind of dev kit for my school, and it's totally impossible; I also know someone who runs a small company, and can't get a dev kit either (by dev kit, I mean either XDK or PS2/NGC dev kit). There's also the fact that they are a PITA to develop for; you try making a decent game run on 64mb of RAM (high end) or 32mb on a PS2 :D. And of course, if you are at a company with a dev kit, they will hopefully have console programmers already.

Ogre, while it's an *amazing* renderer, is not a game engine, so you'll probably need to do the pipeline/event system/entity system/effect system/etc yourself and integrate everything. It does have support for physics and colldet and all that shiny stuff, though, as long as you're willing to put up with ODE/Newton :D. I haven't used Crystal Space or Irrlicht, although QuArK does have a "Crystal Space" mode, which means you could probably get away with less pipeline work.

TBH, mostly the programmer just needs experience programming games. Start out with 2D SDL/GL or allegro or DX stuff, learn how to tie stuff together, and when you have a clear enough idea of what to do in 3D make the jump.

And I've heard good stuff about Torque.
getic
is free to use BSP file format, comes with a basic demo framework on which you can start building your own engine.
MCO

This topic is closed to new replies.

Advertisement