2D to 3D game programming

coolroy

Newcomer
Hi, I'm currently developing 2D games using ActionsScript, and I have like 4 years of game developing experience in the OOP environment.

What I want to know, is how hard would it be to start developing 3D games and how much actual knowledge you need to have to move from 2D to 3D.
the more I talk to people the more I understand you don't need a too high (I'm not sure if any) math knowledge since most game developers use ready 3D engines such as openGL.
 
I would start off by making a mod of an existing game
download the sdk and have a go
a good place to start would be quake 3 its now open source and there are plenty of tutorials available
 
if your talking just about game logic eg: a.i pathfinding player movement, decision trees ect (ie non rendering engine stuff) then not that much
but have you really been developing 2d games I'm not sure if actionscript counts

id go here:
http://quakestyle.telefragged.com/tuts.shtml

start off with
Compiling Q3 Without MSVC++
Bouncing Plasma!
Cloaking Cheat
Grappling Hook
Instagib Gauntlet
Modifying Knockback
Player Speeds
 
it does count believe me, I like to script big games even though actionscript is pretty popular for it's minigames, I have scripted (and still scripting actually) a game like MapleStory (maplestory.nexon.net) in flash and the more I develop the more I want to move to 3D to extend the variety of things I can do (did I already mention I like complex things?).

anyways, isn't the Z complicating things or is it very simple to refer to it with the 3D engines (the z in the coordinate).
and how about lighting, is it just placing lighting points with a certain power or is it more complicated than that?

and about the quake tutorials, is it really necessary for me to edit a few vars to create a new mod or do you think I can start off something original of my own?
I say that because I think that you gain more experience from creating even simple things than from editing more complex things that are not yet your level.
 
Placing lights in a 3rd party engine is usually pretty simple as they come with level editors
you usually (depending on the engine) place a light and select its properties
this is the level editor from unreal tournament 2004
the green (green because its currently selected) lightbulb represents the light (the apples you can see are patnodes for the bots - not visible to players in game)


yes I think you should do the mod tutorials they will help you understand how the engine is put together once you understand that you can move on to original content
for example once you understand some of the weapon mods you could try making homing rockets. that would teach you about line of sight, vision cones, vectors, angles, path finding in 3 dimensions, colision detection and lots of other stuff
 
Last edited by a moderator:
Alright, thanks for the effort of uploading an image, that gave me more or less some idea of how my level designing is gonna look :)

now to the technical part, which language do you recommend? some people suggested me C++, should I learn it?

I also heard that the unreal tournament 2004 engine is not free to use and have to be paid for, should I use openGL then? (if it's true)
 
c++ definately
earlier quake engined games used quakec which was based on C
unreal uses c++ it also has unreal script for doing simple stuff
yes the unreal engine is not free for comercial use (and you dont get sourcecode for the engine so you cant alter it) but you are free to use the level editor and the sdk (software developement kit) for free to make mods (dont forget many mods can be totally different from the original game) check out quake rally

the quake 3 engine is opensource so you can alter the engine to your needs + and it falls under the gpl license so you can make a comercial game as long as you adhere to the conditions (http://www.fsf.org/licensing/licenses/gpl.html)

I also heard that the unreal tournament 2004 engine is not free to use and have to be paid for, should I use openGL then? (if it's true)

I think your getting confused opengl is a graphics api not an alternative to a game engine
you would use opengl to create the rendering part of a game engine (or direct 3d which is more commonly used on the pc)

there are free engines eg: cube engine,quake3 engine and i beleive you can make comercial games with them, but you would need to check out the conditions to be sure..

cube engine
http://sourceforge.net/projects/cube/

quake 3 engine
http://www.idsoftware.com/business/techdownloads/

the torque engine is not free but it is cheap to license (an earlier less advanced version of torque was used to make tribes2)
http://www.garagegames.com/
 
Last edited by a moderator:
c++ it is then.
I hope I'll be able to start soon, this whole thing really interests me and as a games developer this move is very important.
Thanks again, I'll see how everything is going and I'll be sure to come here for further questions :)
 
just to calrify

it's not that I don't read what you write, it's just that the links to the downloads for quake 3 in the guide do not work, so I don't know exactly what "this file" means, what I can understand is that I need the source and point release for sure.
and by the way, do I have to make the path "Quake3/".
 
it's not that I don't read what you write, it's just that the links to the downloads for quake 3 in the guide do not work, so I don't know exactly what "this file" means, what I can understand is that I need the source and point release for sure.
and by the way, do I have to make the path "Quake3/".

I don't want to spoil the party, but if you've never programmed anything C++ and you're not familiar with the math behind 3D graphics, running head first into understanding Quake 3 is more that a little bit ambitious, IMHO.

I'd start with one of the many OpenGL or DirectX tutorials on the web, get a cube to rotate around its axis and take it step by step from there: add a texture, enable some simple lighting etc. Without understanding the basics, there's little to be gain from looking at the source code of a complicated engine.
 
Back
Top