Fake 3d effect?

Hi guys…
After i made a multiplayer 2d shooter watched from above, i want to make another game that is far better than the first.
Essentially i want to make something like shown on the video below:

how to archieve that fake 3d effect?
And which library is the best to work on a simil-isometric view like that one on the video or like GTA2?

bad news for you… only thing that’s fake (or trying to look like 3d) are billboards on trees, and probably the ground and shadows

so that game shown on the video is 3d?

to create an real looking fake 3d effect like that in that video you would need tousands of prerendered sprites for each object at different camera angles, which would probably overload memory if these sprites had to be at medium resolution, and I don’t think Java2D is that great at managing memory. Most of old games like Diablo I and II, Age of Empires I and II used fake 3d effects, they created 3D models animated them and rendered their frames into 2D sprites which were used in game.

It’s pretty impractical to try to do 3D rendering in Java2D (hence the name). If you want to do a top-down style 3D game (like GTA 1 and 2) then I would recommend using LibGDX. It sounds like you are looking for a library that will do that style of rendering work for you, but you won’t find one. You will still have to program your own model loader, your own renderer, your own collision, etc, etc. A library like LibGDX is your best bet.

However, unless you are really experienced in 2D rendering and collision, I would recommend sticking with 2D for the time being. Try and see if you can get the game you are thinking of working in 2 dimensions first, then worry about the third. Trying to dive in and do 3D right off the bat is just asking for failure.

Hope this helps.

thanks for the replies…
I already was looking on LibGDX and it looks also pretty simple to use.
But why do i have to make my own methods? Doesn’t libGdx have it? I’ve seen for example that there is already a orthographic camera coded…

and what about MonkeyEngine? I’m not alone and i could use the help of my brother that is really good on drawing…

I’ve never used JME, but if that’s what you want to try, go for it. There is no perfect solution, no definitive answer to your question. Just try different things and see what works for you.

i have to understand…

http://www.gamersnet.nl/previews/cncfirestorm/scrshot1.jpg

A game like command and conquer tiberian sun is 2d or 3d?

I would say 2D.

nice!
So if i want to make a game with that perspective…i should stick with libgdx and using the orthographic camera?

Defining what is a “3D” or “2D” game is a complex issue that has been discussed many times.

What will really help you is to determine what you need each individual component to be.

Do you need 3d graphics?
Do you need 3d gameplay?

You can mix and match both, having a purely 2d gameplay (like super mario) with fully 3d graphics (like in, for example, Super Smash Brothers Brawl).

You could have 3d gameplay with 2d sprites and effects, like in the original GTA games.

Find out what you want to do to determine what you need to do it.

that’s it
i want 3d gameplay with 2d sprites and effects…how to archieve it? i’m TOTALLY new to it

achieve not archieve. And to answer your question, you just have to research and do it. You will probably fail the first time, it happens to the best of us. Just re-write the game and try to do things different. I don’t have any experience with the kind of game you want to program, but I would imagine its either a bunch of 2D sprites that are textured to look 3D, or its actually 3D with 2D sprites. If its 3D, I imagine you would want to lock the rotation of the game so you can’t rotate the tiles around the ‘y’ axis. Then you would want to translate the tiles along a vertical line to achieve the 3D effect. However, you still will use 2D tiles. Unless you go 3D with the tiles, which might be a bit much; you would have to load the tiles as models and I imagine it wouldn’t be very efficient.
I may be completely wrong, I’ve never created a game like that, but that’s how I would start!

sorry not english :)…thanks for the correction. I appreciate your advice!
I dont like doing things by tentatives…i like studyng the theory first and then applyng to reduce time

so i’m looking for someone that can give me a solid advice or tutorial to start with!

Ah I see. I work completely opposite of you! I hate research… but I would really recommend just getting into it. There’s no real special way to create the effect you want, everyone does it different. Programming is all about problem solving and creating your own solutions, and I think this is the perfect example. Try a google search or two, gather some info and then just try to make your own. Otherwise, you’ll end up researching forever and never starting. Good luck!

Tiberian Sun used voxels for its 3d, so the engine is a bit of a hybrid between 2d and 3d.

Just think of how you’d represent every game object on a piece of graph paper. In fact, get some graph paper and start drawing different scenes from your game.

If a single sheet of paper is enough, then the game’s data model is 2D. If you need more sheets of paper for different heights (and think hard if you need them or can fake it in the same sheet) then you have a 3D data model.

Afterwards, read up on 2d and 3d Matrices, which will be the first data structure you’ll probably use to represent your game world (Resulting in a tile-based map).

Finally you can jump to arbitrary coordinates within your gameworld, although that’ll probably only be for moving objects, keeping static scenery in a grid is rather useful.

Read through these forums, there’s plenty of information about all these topics, made by people better at explaining it all than me. :wink:

[quote]If a single sheet of paper is enough, then the game’s data model is 2D. If you need more sheets of paper for different heights (and think hard if you need them or can fake it in the same sheet) then you have a 3D data model.
[/quote]
Love that explanation, never thought of doing it that way, but I definitely will do it when I finally move onto another game!

Grab a copy of Developing games in Java. http://www.brackeen.com/javagamebook/ Or check out his sample code. He implements a full 3d toolkit under Java2d - and it performs stunningly well. :slight_smile:

Oh thank you for that link! Awesome stuff he created :open_mouth: Just looked through the ‘Game scripting’ example. Nice…