[General Algorithme] 3D engines

Got questions? Got answers? Go here for both.

Moderator: MaxCoderz Staff

Post Reply
thecheat
Calc Guru
Posts: 901
Joined: Tue 29 Mar, 2005 9:13 pm
Location: almost..........there........

[General Algorithme] 3D engines

Post by thecheat »

I've been wondering, how do you go about creating a 3D engine, I have absolutely NO interest in creating a gemini style 3D engine but more of a "real" 3D'r where there's actually up and down aiming (did I mention it's a guning game?)

laugh at me if you wish, but, what I'm thinking of is a two player game like Halo :roll: I'm not sure if it's possible to do anything so complex over a cable... but, if it is, please tell, if not, I'd like to try making perhaps a few levels that are large so you'ld have to download them one at a time. I'd prefer this in GREYscale (just makes everything better) the players would NOT be 3D though, they would be 8 sided (so, from every side they look different) and would have three different sprites working, EX, the gun and head would move up and down togheter, the torso would not be flexable so it would be simpler to code, the legs can squat, run, and walk in which the body bobs when ducking or jumping.

of course this would be completely ASM, I'd probably have to code the whole blasted engine from the 0's and 1's up but, do you think it's possible? even in nongreyscale?

PS the "moving bodys" would only be the enemy, of course to it's a first person shooter. my aim is to make it a 2 player VS game as AI's probably aren't easy to code yet be smart... so...
Liazon
Calc Guru
Posts: 962
Joined: Thu 27 Oct, 2005 8:28 pm

Post by Liazon »

Have you found a good link port routine that's fast and efficient?
Image Image Image
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4141
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

Well although linking will be a hurdle i dont think its your biggest worry atm. It would be difficult to get a polygonal based engine with textures running a complex scene at a decent speed on a 6MHz calc. You *might* have a chance on an SE running at 15MHz. Real 3D engines for calc games would not be able to handle a complex indoor environment ... i think they would be more suited to flight sims and the like.

Im sure if you google for some info on 3D engine development you will find a fair bit. I recommend gathering as many resources as you can, you should be prepared to do a lot of reading for this project.

Even if things dont work out in the end, it cant hurt to try :).
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
Liazon
Calc Guru
Posts: 962
Joined: Thu 27 Oct, 2005 8:28 pm

Post by Liazon »

oh ya, I forgot, he's looking for up and down too. Well Cheat, the reason why coelerus (was it him?) could easily make shooters like Gemini is because of raycasting. As far as I can tell, it's smaller and faster than trying to emulate real 3d on an 83+. I wonder if an 89 could do that? hmm....
Image Image Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

You'll only need to send over a few coordinates plus a view direction, that's not going to be a problem, unless you really can't spare the clocks that the sending takes when you're rendering the view of course... :)
Anyway, like tr1p said, linking will not be your biggest problem.
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
DJ_O
Calc King
Posts: 2324
Joined: Mon 20 Dec, 2004 6:47 pm
Location: Quebec (Canada)
Contact:

Post by DJ_O »

ImageImageImageImage
coelurus
Calc Wizard
Posts: 585
Joined: Sun 19 Dec, 2004 9:02 pm
Location: Sweden
Contact:

Post by coelurus »

I would suggest looking into fake 3D, like what Hexen and the Build engine did (sheared perspective when changing viewing pitch). FPSs are hard to do properly (culling, filling the screen with ordered polygons, clipping to the view frustum, numeric accuracy, raytracing for collision detection etc), faking things will be faster, more stable and most probably look better.

Asking if a project like this is possible sounds a little like skepticism :) No matter how crazy a game idea might be, one should take the chance since nobody else has. That's why I haven't yet said anything about grayscale, but you should know that it will require filled surfaces and filling pixels is the most horrifying thing you can do on a calc.
User avatar
DigiTan
Calc Master
Posts: 1069
Joined: Fri 04 Mar, 2005 12:52 am
Location: NW Wisconsin
Contact:

Post by DigiTan »

My only suggestion is to look over some of the older 3D games. Andreas Ess pulled some pretty sick frame rates in Daedalus (grayscaled, no less). If you can coax him out of retirement, it might shead some rays (er...light) on the situation.
My diet consists of nails, code-stealers, and HP fans.
Projects:

Robot War [TI-82, TI Flash App]
Sonic the Hedgehog [Multiplatform]
Liazon
Calc Guru
Posts: 962
Joined: Thu 27 Oct, 2005 8:28 pm

Post by Liazon »

DigiTan wrote:My only suggestion is to look over some of the older 3D games. Andreas Ess pulled some pretty sick frame rates in Daedalus (grayscaled, no less). If you can coax him out of retirement, it might shead some rays (er...light) on the situation.
O_O
Image Image Image
User avatar
DigiTan
Calc Master
Posts: 1069
Joined: Fri 04 Mar, 2005 12:52 am
Location: NW Wisconsin
Contact:

Post by DigiTan »

Heh heh. That's sort of how I looked when I first saw it. I got a link here, but unfortunantly, he only published a small slice of his code. Anywho, if he can do that on 85 with only 6MHz, an 83+ version would dy-no-miiite.
My diet consists of nails, code-stealers, and HP fans.
Projects:

Robot War [TI-82, TI Flash App]
Sonic the Hedgehog [Multiplatform]
lloydkirk1989
Calc Wizard
Posts: 680
Joined: Wed 22 Dec, 2004 5:37 am
Location: West Palm Beach,FL
Contact:

Post by lloydkirk1989 »

Anywho, if he can do that on 85 with only 6MHz, an 83+ version would dy-no-miiite.
What? A TI-85 is a better calc.
Stickmanofdoom
Regular Member
Posts: 86
Joined: Fri 17 Dec, 2004 8:20 pm
Contact:

Post by Stickmanofdoom »

coelurus wrote:... filled surfaces and filling pixels is the most horrifying thing you can do on a calc.
Hasn't Cobb already done this in his Death Rally game? Or are the routines not fast enough to render tens of polygons at once?
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

There are some people who did filled polygons, there are also (half-baked) 3D engines, but marrying the two would likely result in something very slow.
coelurus
Calc Wizard
Posts: 585
Joined: Sun 19 Dec, 2004 9:02 pm
Location: Sweden
Contact:

Post by coelurus »

Touching ~6000 pixels/frame isn't a very good plan, especially not on a calc. If major parts of a map is of the same color and one can solve contour occlusions, then that'll help although probably create rather variable framerates.

I'd recommend fake 3D :)
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

coelurus wrote:I'd recommend fake 3D :)
DOOM-style polygon filling should be fast enough? I'd give it a go myself, but I never worked out how to get the perspective-correct scaling correct, so viewing walls edge-on looked very wonky.
Post Reply