Project: "Summertime"

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Post by christianclavet »

@christianclavet: By the way, how many polys is your demo level? Because I made need to implement a simple culling system for Summertime since its levels are filled with hallways, and things
Hi, Halifax.

I don't fully remember, but with all poly the level is around 50K poly.
There is no culling applied there beside the frustum culling.

You could try something (I will try this when I reach beta phase, When it be the time to optimize the level):

You could optimize your frustum rendering per frame. Based on a collision test update on the distace.

Check the colision demo. There is a ray/wall collision test. Once a collision is found, you could calculate the distance from the camera to the collision coordinate (I will surely multiply the distance per 2) and redefine your frustum FAR distance from this. So if your player is only seeing a wall, this will limit the frustum view to that and a little more. But will not have to render all the level. This seem pretty simple to do.

I will surely try it, when comes the time (A nicer thing could also be do 2 or 3 ray collision test (Instead of the center of the camera, the right and left estimated position of your view for the RAY start position; and take the farther position for the FAR frustum view. This way, If you are on a corner, it should still draw all that are in the view.

To better handle different situations, I'll probably do 5 ray/collision test. The four corner of the view and the center of the view. The farthest distance become the FAR(* 2) value of the Frustum view. You could also program more collisions to have a better accuracy of what is in the view.
I think for 5 could be ok, and very fast to compute.

The basic idea is to take what is into the view and try to draw only that.

The code for the Ray Collision test is in the demo (IRRlicht demo).
If you try this before me then, I'd would like to have your comment on how it perform.
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

I used Audiere in my irrlicht projects and it was very easy to use and did support 3D sound.

Your project sounds pretty fun and not too ambitious so good luck!
Image Image Image
GameDude
Posts: 498
Joined: Thu May 24, 2007 12:24 am

Post by GameDude »

Well when I was looking at the features of Audiere, it said it didn't support 3D sound, but I was proably looking at some old stuff.
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Hmm yes, Audiere is seeming like my best bet right now then, I guess.

@Dejai: Do you have any way we can talk in real-time?

@JP: I am looking at the Audiere documentation on their site, and it doesn't have anything to do with 3D it appears...do you remember any of the functions that deal with 3D?
TheQuestion = 2B || !2B
GameDude
Posts: 498
Joined: Thu May 24, 2007 12:24 am

Post by GameDude »

Jp said it could do 3D sound, I said that I didn't see anywhere where it said it supported 3D sound. Although if your a good enough programmer, I'm sure you can add it yourself. I haven't really looked into Audiere's source-code, so I don't know how messy or organized the code is.
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Yeah I guess I could add it, I would need some help though. This is the point where I wish IrrKlang was open-source. :roll:
TheQuestion = 2B || !2B
dejai
Posts: 522
Joined: Sat Apr 21, 2007 9:00 am

Post by dejai »

I am on the IRC a lot.
Programming Blog: http://www.uberwolf.com
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Alright, I have the audio API/wrapper all setup using OpenAL. It includes a main framework, sounds, and a listener. I still have to implement it into a SceneNode and compile a plugin for irrEdit.

I have a question about XML parsing with irrXML. I have this fileformat that goes like this:

Code: Select all

<Sound>
....
</Sound>

<Sound>
....
</Sound>
I got my XML parser to read in the first Sound chunk, but I don't know how to stop at the first </Sound> and then run some stuff, and then start parsing right at the second <Sound>

Does anyone have any ideas on how to implement this specifically with irrXML?[/code]
TheQuestion = 2B || !2B
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

I could have sworn it had 3D sound support... maybe i'm mistaken, i'll look over the programs i used it in if i remember to see if i'm making all this up :lol:

Oh and Christain, i just read your frustrum adjustment idea for culling. But there could be issues with that, for example if you cast a ray straight in front of the player then it could collide with part of a wall that's in their view and you might cull everything behind that wall but as the wall was only partly in view you can see beyond it and there may be things culled away that shouldn't be...
Image Image Image
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Hmm, that is correct JP. I was thinking of using one of those smallish culling devices.

Would it be possible to build a level with bounding boxes on two sources named OpenArea and Hallway. And then design your level so that an OpenArea never connects to another OpenArea, because all OpenAreas are connected by at least 1 Hallway.

So then basically you set a tree up I would think, and render all hallway nodes that belong to the OpenArea. The problem is that when you are in a hallway you would have to render two OpenAreas, and make sure that no three OpenAreas are viewable within a given line of sight.

But this would set the limit of OpenAreas at 25,000 triangles, which I don't think would be sufficient for my nataorium. :(

Hmm this is perplexing, I think I will look into culling more.
TheQuestion = 2B || !2B
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Okay well I got my irrOpenAL working, but in a currently unclean state. I would like to clean it up a bit, and make it more "professional". Right now it supports WAV loading, it's own XML sound library format, and total control over every aspect of the sound.

So if anyone would like to help me clean up my irrOpenAL source before I release it to the public, please say so, because I would appreciate it. After that I should be able to easily implement it into a SceneNode and make a plugin for it.

Now after 4 out of 6 of my engine devices are setup, it is on to the last big project which I have been dreading a lot. Getting Bullet 2.66 up and running in the engine. I have been trying to put it off for sometime. :roll:
:D

And also I would like to announce that dejai has joined the Summertime project as the main content creation author for meshes and things of that sort. I just want to thank him again for that.
TheQuestion = 2B || !2B
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

Fast development, nice work.
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Thanks MasterGod.

Updates:

Okay will first off, I have just got my Power Mac G5 hooked up, and have played around for a little bit, and now I am going to try to get Xcode working. My possible thoughts are that maybe I can develop the Mac OS X(tiger) version and Windows version in two codebases side by side. This may require a little bit of work, but here is my work schedule for tonight:

* Download XCode
* Build Irrlicht, and compile and example
* Bring my Summertime source over from Windows
* Try to clean it up to get a build on Mac OS X

If all this works, then I will be developing the application for Mac OS X, for anybody who uses Mac. :)
TheQuestion = 2B || !2B
FlyingIsFun1217
Posts: 219
Joined: Fri Apr 13, 2007 8:29 pm
Location: Illinois
Contact:

Post by FlyingIsFun1217 »

A little off-topic, but will you have the schools populated?

For example, if I go into the high school, will I see a basketball game going on? Kids getting on busses?

If you need some examples, just holla ;)

FlyingIsFun1217
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

FlyingIsFun1217: It was an idea in the back of my head, although I will be surprised if it makes it into the first version of this game.

Of course I have had conversation with JP concerning his irrAI extension, and it seems positive. So far the things planned are for kids walking around the school, and cars driving around the street(in college). Kids getting on and off a bus would definitely be easy to implement with irrAI, and thank you for providing that idea.

Don't count on that being implemented though, in this first version. Great question FlyingIsFun1217.
TheQuestion = 2B || !2B
Post Reply