I have the ultimate dumb question, considering what I do for aliving(game programmer). I have been doing games as a hobby and as a profession for about 10 years now. I have 2D coming out of my ying yang.

Here is goes, how do you make 3D stuff, hahaha?

Actually, seriously. I have always done 2D games. Even today I work on the Gameboy Advance still flexing my 2D muscles. I am afraid if I don't walk down the 3D path, I am gonna choak in a couple years!!

Anyone have an idea of where to start learning this stuff?
And if any of you are bored, I wouldn't even mind sending some messages back and forth on this subject. I can lend my experience in the 2D world of game programming, AI, path finding(2D), etc, and also some nice stories that go along with working in the game industry. All in exchange for some pointers and help getting myself up to par in the realm of 3D programming

I would definately appreciate any help whatsoever. I have made a surface in DX7 and drawn to it via a pointer to the surface and then "Blit'd" it to the screen.(Wow what a feat, haha). I would like to know how the ins and outs of 3D. Most importantly the low level math. Even start at a point before DX and GL, and do it like the guys started doing 10 years ago.

thanx for any input
Posted on 2002-01-23 21:11:03 by Rockinronstar

Wouldn't mind having the A* algorithm ported to assembly (pref. masm)... not yet experience enough for that kinda conversion

Also you might be able to get more from the searching of this site... there was aa talk about E-Zine coding and then a debate rose from it about 3d... Anyway

Now to answer your question: To be perfectly honest the amount of "win 32 assembly" game programming stuff out there isn't too much... You've got Caleb and Scronty (both very proficient in 3d programming and both with examples -- Especially Scronty -- using directx 8.0 and 8.1)

Just goto member profiles and head to there respective homepages...

Seriously, I wouldn't mind having a good pathfing algorithm in assembly... I can think of a few other things I'd like to have, but I'd REALLY like to have that :-)



Didn't finish reading your post.... Doh...

If you want some other help on the subject... (Scalp) ported some examples to OpenGl on nehe.gamedev.net

I posted a few 3d terrain programs using directx8 (again search)

I also posted a few "beginner" style programs with directx 7 (including blitting bitmaps and creating rect/pixels/starfields/etc.

If you want to go "real" low level and back to 320x200 you can always use 16 bit dos... many examples in that area, but it isn't too fun and alot has changed...

I wish we had a "game programming" repository of source code so we'd have some place to send people *sigh*

----EDIT to the EDIT-----

thought I'd save you some time and do a quick search of the site...
3d programming... 35 replies
Posted on 2002-01-23 21:29:52 by Sliver
Afternoon, Rockinronstar.

Here's a start:
(Mr gamemaker Tutorials)

Posted on 2002-01-23 21:40:17 by Scronty
Hey Sliver, I am gonna have to disappoint ya - no algorithms in ASM, sorry. ASM is not an alternative in gaming commercially. They don't consider it an option(its reputation makes it very unappealing to a company).

I have written lots of path finding routines in my career. Probably wrote the same one 10 times, haha. (Wheres that reuse at, haha)

I don't mind helping helping people with the theory and concepts and even generate some original ideas for you. Can't give you anything , since I don't own. Its part of this intellectual property agreement stuff you sign.

But discussing these things and helping you generate your own shou,d be good. Plus it will help you "get it" much better. other peoples code just doesn't look as good as your own

Scronty, will check that out now.
Posted on 2002-01-23 21:51:06 by Rockinronstar
A* isn't "owned" -- much like bubble sort isn't owned -- I wrote it in C++, just not as skilled in assembly to port it...

I would think that algorithms would be the most important thing to have written in Assembly... Sure not the message routing, but something like a pathfinding algorithm, you would think, would be written in assembly...

So, then what do you have? I like porting C++ code (keeps me knowledgable about Assembly and C/C++)


But discussing these things and helping you generate your own shou,d be good. Plus it will help you "get it" much better. other peoples code just doesn't look as good as your own

You offered!!!! jeez
:) :) :)
Posted on 2002-01-23 22:08:59 by Sliver
remember, I only said I can offer my experience from working in the game industry, ;)

can't offer code thats on my work machine of course, but I can definately help you come up with your own.

also, you would think things like Path finding would be done in ASM, but sadly, they are not. You may get the odd psycho Game engine coder that goes all out, but frankly, I have only worked with one. And he was rare.

Want a shock, we did our GameBoy color algorithms in C!!

C should never even be considered for that system. I myself never used C on the GBC, I always used ASM. But some of these young lazy guys, well, need I say more, lol
Posted on 2002-01-23 22:21:28 by Rockinronstar
As for the 3D stuff... read up on your vectors and matrices :).
And before starting with the hardware accelerated stuff, get a little
software rendered engine going. Then you can get into OpenGL
or D3D. OpenGL is easy peasy, D3D seems a bit more flexible
(haven't really messed with D3D yet though, and I'm not exactly
a matrix genius - but I managed to sort out the vector stuff myself :P).
Posted on 2002-01-24 07:40:34 by f0dder