Archived

This topic is now archived and is closed to further replies.

Dino

The Iso3D Project

Recommended Posts

As Tanstaafl mentioned in a previous post, Tanstaafl and myself are working on 3D engines for a standard tile based map engine. As he also mentioned, I am working with OpenGL to build this engine. There is an executable available for download. The files for this project can be downloaded from: www.chosendestiny.com/files. The files that you will NEED are: Iso3D.exe texture0.bmp texture1.bmp readme.txt (tells you all about Iso3D) You will also need glut32.dll on your system. It can be obtained from www.opengl.com. Bricks.zip is a zip file containing some textures that I am borrowing. I do not own these files so don''t ask to borrow them for your game. I mention where bricks.zip came from in the readme.txt. Right now I''m more worried about implementation than speed so please take that into consideration when running the demo. I am very new to OpenGL and 3D programming (about a week now) so give me a break if the code is a bit slow. Happy downloading and I''ll update this post whenever I upload a new .exe with any major changes.

Dino M. Gambone Good judgement is gained through experience. Experience, however, is gained through bad judgement.

Share this post


Link to post
Share on other sites
I''m getting an access violation when I run it. I passed it on to the VC debugger, but it froze. Ctrl-Alt-Delete->End Task on the demo freed up the debugger and gave me 100 or so lines of this message:

First-chance exception in Iso3D.exe (GLUT32.DLL): 0xC0000005: Access Violation

I know my Glut dll is working fine with other progs, so I have no idea what this is about.

BTW, I''ve been inspired lately by all the hoozah in this forum and have also started experimenting with a GL tile engine. I''d love to compare notes sometime

Mike

Share this post


Link to post
Share on other sites
Are other people having this crash problem too? Is anyone running it successfully?





Dino M. Gambone
Good judgement is gained through experience. Experience, however, is gained through bad judgement.



Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Worked perfectly on my PIII800/128/GeForce2 GTSpro

Share this post


Link to post
Share on other sites
Crash on my system:

Athlon 900
Windows 2000
NVidia Vanta (16 MB)

Dino, I''m in the design process of an 3D tile engine. I''ve had no previous problems with OpenGL in my system, with my tests or other programs. It appears to be crashing somewhere in the initialization.
I''m willing to try to help track down this problem.


Gaiomard Dragon
-===(UDIC)===-

Share this post


Link to post
Share on other sites
There is a new build of Iso3D.exe. I think this will take care of the crashing problem since I''m dropping all references to GLUT32.DLL. I think that was the issue.

I also was able to get more FPS as I find out what little things can slow down OpenGL rendering. Instead of rendering 1 square (GL_QUADS) for the tile top, I''m rendering 2 triangles (GL_TRIANGLES). It picked up performance about 10%.

Give the program a try and let me know.

For the next build:
Lock the viewing angle at 45° X and 45° Z.
Add walls and torches.








Dino M. Gambone
Good judgement is gained through experience. Experience, however, is gained through bad judgement.



Share this post


Link to post
Share on other sites
*hmmmmmmm* Haven''t tried it, since NT doesn''t have full DX support =(

But I was thinking of something. TANSTAAFL was talking about writing a new ISO book.

Making a 3D Iso engine...
Are you thinking what I''m thinking?!
Pass that chocolate!
oh... yeah, and make the second book on this engine!? =)))

}+TITANIUM+{

Share this post


Link to post
Share on other sites
Seriema: It''s OpenGL, not DX3D, so it''ll work on NT4. I know because I''m on NT4 Server

MButchers: Actually I found that GL_TRIANGLE_STRIP isn''t as fast as GL_TRIANGLE. Don''t know if it''s a fluke on my machine, but GL_TRIANGLE produces the most FPS than any other setting. Go figure. I assume you didn''t crash though... am I right?

One little note: The map engine that I''m developing while working on this little demo program is my own home-grown engine that I''m putting together as I go along. The actual map engine is compatible with 2D graphic engines. It uses the same theory that I wrote about in one of my articles on map file formats. I''m hoping that as the demo program evolves, I''ll be able to reuse it as a part of a real game engine.







Dino M. Gambone
Good judgement is gained through experience. Experience, however, is gained through bad judgement.



Share this post


Link to post
Share on other sites
OK, I d/l the program.
It only shows some tiles. I can''t move, the cursors doesn''t work and neither does the mouse. Can''t seem to get full screen either, so it runs at a whopping 7fps! *haha*

}+TITANIUM+{

Share this post


Link to post
Share on other sites
Runs nice on my machine at a steady 61 fps

Voodoo 5 5500, win2k, 650mhz, 128mb ram

Also just a little quirk - how come that XYZ axis thingie appears only when the cursor (Red ox) is at the very edge of the screen, but when the red box thingie comes back into view the XYZ axis thingie disappears?

--LordKaT

Share this post


Link to post
Share on other sites
Because I was too stupid to tell OpenGL not to render the origin lines and take the light level into consideration. The reason it ''disappears'' is because there isn''t enough light bouncing off the lines. It doesn''t disappear... just gets darker.





Dino M. Gambone
Good judgement is gained through experience. Experience, however, is gained through bad judgement.



Share this post


Link to post
Share on other sites
Very nice demo, Dino. It ran on my machine at about 61 fps.

I''m doing a similar demo, but the idea in my case is to do something similar to what Tactis Ogre did i.e. the tiles are more like a "brick", or a 3d object, so they have sides. The nice thing is that I can stack a bunch of them to build my terrain(a simple castle, for example). I was planning to put different textures for each side of the "bricks", but my friend suggested that I do not do this yet.


And by the way, I''m using a map file -very- similar to the one you described in your articles.

Share this post


Link to post
Share on other sites
A strip with only 2 triangle will be slower than 2 single renders ... a strip is for MANY triangles ... I''ve read that most people using lot''s of triangles break them into 1000 triangle strips ... so you can see that''s a diff world than 2 triangles ... although i''ll bet it only takes between 5-10 triangles in a strip to start seeing a significant improvement on hardware that supports them (pretty much all modern cards).

Share this post


Link to post
Share on other sites
Hi there,

got to test it and it works fine,

one optimization you could perform,I assume your doing
a glClear(GL_COLOR_BUFFER_BIT), this is quite slow and
not realy required as most iso engines clear the color
buffer when rendering the tiles.

Got 360 fps on my system in my own 3d iso engine i get
approx 470-480.

Cheers

Mark.

Share this post


Link to post
Share on other sites
Ran fine on my NT machine at work. FPS was in the 50''s with a PIII 500 and TNT2. Pretty dark tho, unless that was the intention.

Have to try it again at home, where it originally crashed.

-Mod

Share this post


Link to post
Share on other sites
quote:
Original post by MButchers

one optimization you could perform,I assume your doing
a glClear(GL_COLOR_BUFFER_BIT), this is quite slow and
not realy required as most iso engines clear the color
buffer when rendering the tiles.



Huh? I don''t understand. Most iso engines DO clear the color buffer, so does this one. Why are you telling not to do it? Sure, if camera does not move, and only the tiles get updated, you don''t need to clear the color buffer, just draw on top of it. Draw anything else on the screen or change the view and you''ll have an ugly mess on the screen.



Gaiomard Dragon
-===(UDIC)===-

Share this post


Link to post
Share on other sites
Hello there,

you dont need to clear the color buffer as
when you redraw all the tiles the old contents
of the color buffer normally get totally
overwritten, so long as your tiles interlock
properly.

Thats what i do anyway.

Cheers

Mark.

Share this post


Link to post
Share on other sites
Sorry but i can''t download the files ... everytime there''s a popup asking for an user name and password ... is this a non-US specific problem ?



Share this post


Link to post
Share on other sites