Archived

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

FatalXC

Check out my demo!!!! :)

Recommended Posts

Hey all, this is my first demo of what I have been up to over the last 2 months or so!! My project is the Astral 3D Engine, and is based around Q3Radiant which is my level editing tool. The whole demo is about 1MB zip and you can get it at: http://astral3d.webjump.com/a3d.zip See a screenshot of the engine at: http://astral3d.webjump.com/a3d1.jpg The compiler which is not in the download is where most of the interesting stuff takes place, loading .map files, creating lightmaps, vertex arrays etc... The engine currently has a very generic console class, uses multitexuring, loads my files, and does some other useful stuff. Once I have gotten some feedback from you guys and fixed all the bugs, I''ll release the source code and the format specs of my .a3d files. Let me know what you think !!! FatalXC

Share this post


Link to post
Share on other sites
There is no Collision Detection, it only seems so. So you can turn. For Testing only deactivate Lightmaps and you can fly around the World ( Box ). He don''t clear the Buffer, so it''s a little bit confusing. Nice Demo, are you doing some Visible Checking?


Punika

Share this post


Link to post
Share on other sites
@sephiroth03: It doesn''t get stuck, it just seems like that because I''m not clearing the Z-Buffer, if you look round you will see the outside of the level.

@Punika: This is more of a tech demo than a game. You will notice the CSG on the brushes, and other things like that which don''t look special but take a lot of time to implement. No there is no form of HSR in the demo at the moment, coming VERY soon... (ie not quite complete).

Can you let me know what you think of the console as I''m probably going to write some form of short tutorial for the OpenGL Game Programming series on it, since Trent is going to be unavailable for the next month or so.

The thing I''m proud of about this is that I can design any level in Q3Radiant and ''play'' it in my engine, it is completely generic. Its fast as well, that map takes ~5 seconds to compile with ~20 lights on my 800MHz Athlon.

I have updated the zip file with a few bug fixes in the console (very obscure) and added support for mouse inversion and zbuffer clearing.

I''m still very interested in feedback on improvements you think I can make to this, bugs you''ve found etc...

Cheers,

FatalXC

Share this post


Link to post
Share on other sites
Nice engine, nice console, nice example. Console should have a drop in or fade in effect. This just makes it look better. Cool background on the console too! What meathod of lighting do you use? Culled opengl or custom? it''s very good either way. Runs very nicely on my computer. Very efficient engine! I Am impressed...

Alex Broadwin
A-Tronic Software & Design
-----
"if you fail in life, you were destined to fail. If you suceed in life, call me."
"The answer is out there."
"Please help, I''m using Windows!"

Share this post


Link to post
Share on other sites
ATronic: Yeah I just haven''t got round to putting a scroll down effect on the console, I''ll probably do that tonight. I don''t use OpenGL lighting at all. The whole lot is done with done with blended lightmaps. The lightmap calculations took a while to get looking right, but I think it looks good. The console is just scrolling blended textures, really easy, but quite effective.

It should be quite fast as everything is done with vertex arrays and multitexturing, and is sorted by texture etc... It should be even sweeter when I get round to doing either a PVS set or portal rendering

I will upload the updated exe with a nice console effect in a few hours. How''s that for service !!

Thanks,

FatalXC

Share this post


Link to post
Share on other sites
Well, i have to say i'm very impressed, not by your demo , but for what you have acomplished.., you mean you read a text file (.map) made with qradiant, and besides building the lightmaps you also make the csg operations between the planes ?
How do you do that ? You had to build a BSP tree for that, right?
If you already have a BSP tree, shouldn't be very hard for you to get pvs culling working.
You did all of that in 2 months ?
The lightmaps can be tricky, but not has complicated as CSG...,
congratulations man...

Bruno

Edited by - Bruno on July 22, 2001 5:42:59 AM

Share this post


Link to post
Share on other sites
@Anonymous: Whats wrong with the screenshot ???

@Bruno: Thanks man!!! I started ~two months ago, but I was not new to OpenGL or 3D gfx, I''ve never done anything this big before, though. There are heaps of good tuts on the net about how to do everything my engine demonstrates eg lightmaps, csg, .map file loading, although many features I have been able to do without a tut. And if all else fails, there is always the q3 source code !!

No I do not use BSP trees, because I don''t need to. The brushes are defined by planes, so they must be convex. This means that a BSP tree wouldn''t do anything, it only helps when dealing with concave objects or brushes, like a 3D world for example. Any point that is behind all the brush planes is inside the brush, it is that simple.


Although I''ll grant that nothing in my engine is original , I am hoping the source code can be a real help to people trying to get a grasp on this whole 3D thing. There are many thousands of lines but there are *tons* of comments, and function descriptions, and the code is laid out nicely. Everything you would need to understand what the code is doing. This is what makes it different from all the other stuff on the net, it combines a lot of techniques but isn''t hard to understand. The whole thing is completely OO so adding new stuff is very simple. This is me trying to give something back to the community

The source will be out when I get around to it ...... hopefully within a few days ...

I have just uploaded a new .zip file to the server, and it has the requested scrolling console

Cheers,

FatalXC

Share this post


Link to post
Share on other sites
Nice egine man, but I have a small problem... I can''t open your console :p (Azerty keyboard, u know :/)
Anyways, I changed my keyboard layout to US and it worked, nice work man.

Share this post


Link to post
Share on other sites
hmmmm ...... What OS/video card do you have?? I haven''t got access to a Win2k machine to test it on, so that could be the problem. Where does it cause the error, kernel32, user32, nvopengl ... ?? Does it actually get to creating the window, do you see it then does it crash, or do you not see anything ?? If it doesn''t get to creating the window then could you please send me some of your code that creates an OpenGL window and I''ll compare mine to yours, but I don''t think there are too many problems there.

Sorry it didn''t work for you man ... but I wanna make it work, I could do a debug build for you to see if that fixes the crash.

FatalXC

Share this post


Link to post
Share on other sites
Yeah i was meaning to post a message on the same problem, though i got d/c and couldnt be bothered posting it after. I get an illegal operation error with both full screen & windowed mode.

Using a pentium celeron 500
2mb vid memory ((trident))
64mb ram - Win98

hope you''re not using some other type of opengl extentions because my vid card doesnt support them.. :/

"You are just as irritating to me as an irrational term that accidentially creeps into your equation and cannot be factorized out."

Share this post


Link to post
Share on other sites
FatalXC: The "~"-key on a US keyboard is the most upperleft key (just below the Escape key), right?
Well, on an Belgian (or French, I believe they are the same) keyboard, that key has the "²" and "³" chrachters on them (to the second and third power...) and that is the key I use in all games for accesing the console. I guess they somehow ignore the regional keyboard codes, and just get to the raw codes directly.

Share this post


Link to post
Share on other sites
OK, this is to those who had *problems* running my demo. I have just uploaded a debug exe, not a debug build, but after each step in the setup/rendering process, there is a message box, so you can see where it gets up to before it crashes. Hopefully this will help locate the source of the problem. You can get the new exe at:
http://astral3d.webjump.com/a3ddbg.zip ~40kb
You will still need the original 1MB file, just replace the executable. So ... let me know where it crashes ... and any thoughts why it would crash there on your machine !! Thanks heaps !!

@wAVaRiaN: Hmmm ... not user I want to support 2MB tridents . But it should still exit gracefully, so please check out the debug exe. It needs multitexturing extensions, in fact, now that I think about it, I''m not checking that I get valid proc addresses for the multitexture functions (oops)*..quickly adds to code before uploading debug exe..*, so if you don''t have that then it will try and call a NULL function which would definitely cause a crash ... maybe that''s what happened.

@Flous: Yeah since I am using the WM_CHAR messages, it is probably interpreted as something different when the keyboard layout is non-US, I may have a look at this later. I''ll do the GL_CLAMP_TO_EDGE_EXT update tomorrow, which will hopefully fix those lightmap edges you were seeing.

Thanks a lot guys,

FatalXC

Share this post


Link to post
Share on other sites
Welp, it doesnt crash anymore =P

i get all the messages up until these:

could not get multitexture addresses
cEngine->Setup() Failed.

and then the program closes. Hehe - must be the multitexturing =P i have another computer, but i use this laptop for all my programming.. But still - you should be progamming also for the not so up-to-date computer systems so that there is a greater availability of your game to be used by many more people.


"You are just as irritating to me as an irrational term that accidentially creeps into your equation and cannot be factorized out."

Edited by - wAVaRiaN on July 24, 2001 4:02:56 AM

Share this post


Link to post
Share on other sites
Sorry to drag this topic up from the depths of the message board ...

The engine download has been updated to support the edge clamp extension, it still works on my machine, but since I never had the problem, I can''t tell if it is fixed, so could Flous (or anyone else who had this problem) please download the new demo and try it. Thanks. If it doesn''t work, could you just send me the snippet of code you use to implement this extension, thanks a lot.

I have been working on some cool polygon merging routines, which I''m aiming to reduce the polygon count with, and also decrease the number of OGL calls and reduce the file size They aren''t 100% correct yet, but hopefully soon ...


You still need a multitexture card and DX8 to run it, I''m not sure whether to have multipass as an option, it''s just an extra hassle to keep updated, and *most* cards do have multitexturing so yeah.

Anyone who is interested in the source code can mail me about it, I may put it up for download but I may not .....

Cheers,

FatalXC

Share this post


Link to post
Share on other sites
Guest Anonymous Poster

Hey FatalXC --

Terrific job on your engine!!

I''m new to 3D stuff, so a straight-forward engine would be huge. Especially, because I am considering building my own engine from the ground up ... which as a newbie, probably will be only the most basic of "engines" -- (whine).

Anyway, if you eventually release the source code (i.e. open source license it), you''ll have the benefit of any programmers who want to customize/refine your engine -- which could be of benefit to everyone, yes? Well, that''s enough rambling about open source ... it''ll be cool to see where this project goes.

Sincerely

Share this post


Link to post
Share on other sites
@AP: Thanks for that man, it''s really cool to get positive feedback like that !!

A progress report on cool new stuff: I compile a solid node BSP tree to put shadows on the lightmaps with, except I''m having a few problems getting edges to line up, but I''ll get there !! I moved the CSG operations to after the lightmaps are calculated, this removed some of the artefacts (and reduced lightmap count ), but there are still some problems even after that I may post a new thread wrt this if I run out of ideas for solutions ...

As far as a HSR system goes ... I''m tossing up between a sort of portal engine with level-designer placed portals, and a Octree/C-Buffer combination, but I think portals are faster, and they are definitely cooler ... so we''ll see. I really don''t want to have to die and be ressurected while waiting for my levels to compile, if you know what I mean !! So that rules out PVS (I think) ... any thoughts ??


Thanks,

FatalXC


PS: Could someone with a Radeon card please download the demo and check there are no edges on the lightmaps, I think the problem is/was Radeon specific.

Share this post


Link to post
Share on other sites

Hi Fatal --

I wish I knew what HSR and CSG mean ... anyway, this is a great looking demo. Weird stuff happens when you run into the walls, however -- is that fixable?? Is q3 radiant easy to use & stuff?

As you probably know, I don''t want to re-invent the wheel when it comes to level creation & rendering ...

Trav



And when you''''re done, go shoot yourself ...

Share this post


Link to post
Share on other sites
@TrevorGdCh: About that wierd effect when running into the walls ... it''s because I''m not clearing the frame buffer every frame, if you want to put frame buffer clearing on, go to the console by pressing the ` key, and type in ''/clearz 1'' and press enter. Heh, and BTW I know it shouldn''t be z because it''s not the ZBuffer, I just got confuslled one very late night ...

I think hidden surface removal speaks for itself ... but CSG probably doesn''t. You may have noticed in my demo that polygons or parts of polygons you will never see are cut out, try beneath the pyramid or under the crates etc... not drawing these polygons reduces overdraw tremendously, expecially when working with a brush based editor like Q3Radiant, which makes everything go a lot faster

Q3Radiant can make Quake2 and Quake3 maps, and IMHO it is the best level editor out there. Damn easy to work with and it can do some pretty cool stuff, just look at some of the Q3 levels !! Currently my level compiler doesn''t deal with curves or patches, I think they are pretty complicated, especially with dynamic tesselation ...

Share this post


Link to post
Share on other sites