home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


Sauerbraten engine development

by Aardappel on 03/03/2004 05:18, 1571 messages, last message: 03/14/2008 18:53, 1680005 views, last view: 03/29/2024 14:48

This thread is for discussion of Sauerbraten coding issues / implementation ideas etc.

Go to first 20 messagesGo to previous 20 messages    Board Index    Go to next 20 messagesGo to last 20 messages

#967: Re: ..

by tentus on 07/11/2005 21:32, refers to #966

i was just thinking on this a few days ago... so far the options for this a very limited.

1) Quake 2 style vweps, in which the gun models are custom made to mesh with a specific character model. This is messy and space/time consuming at best.
2) Use a set of bones which would align generic models and guns together. Without a good bit of time put into the bones, models, and system as a whole, this usually comes out with glaring visual glitches.
3) Allow for spot adjustments to the gun models, to mesh with the player model. this is very like the Q2 system, but it requires a lot less modelling effort.
4) don't bother meshing the character and gun, just have 'em roughly in place. I discover in CL that my hudguns look significantly better without an arm/hand attached to them, so i just let the weapons float around. Obviously, this is not a solution if you're looking for realism :)
5) don't use models for vweps- instead, use an icon or something that will overlap the player model, perhaps float over their head, which will clearly tell what you've got out. This is simple, has few glitches, and requires the least work.

There are a few others that i could mention, but i think this pretty well covers the basics. of the lot, i'd say that #5 is the most reasonable for the time being, while #2 would be the most professional looking but hardest to pull off (hence #3).

reply to this message

#968: third person?

by CC_machine2 on 07/11/2005 23:17

ok, so i start the newest version of sauer and try this new third person thing and it doesnt work. Ive tried:

/thirdperson - says 'unknown command'
/thirdperson 1 - just does absolutely nothing

am i typing the wrong command or is my computer f***ed up?

reply to this message

#969: ..

by enigma_0Z on 07/11/2005 23:55

Out of those, I think that I like 3, 4, & 5 the best, perhaps 5 as a temporary fix untill something better comes along.

reply to this message

#970: Re: ..

by tentus on 07/12/2005 02:21, refers to #970

hey, just because some of us aren't as pretty as you... lol

third person does increase the desire for custom player models, because all of a sudden your identity is being represented by something decidedly inhuman, instead of being left up to the imagination. it also creates a real problem in that the fist is so radically different in 3P than in 1P.

*bleh* talk about opening a Pandora's Box, Aard :) Of course, this cements into fact that someday (in the distant future, most likely), i will have to make a Sauerbraten Legends. That's really hard to pronounce though, so I'd better stick to the Cube Legends name.

reply to this message

#971: Re: ..

by enigma_0Z on 07/12/2005 05:01, refers to #970

--offtopic--

Speaking of pronouncations...

how do you pronounce "sauerbraten"? I've been pronouncing it: SOUR-bray-ten ... is that correct? Sour like taste, bray like in braid, and ten like the number ten.

Anyways...

--ontopic--

With 3p mode, platforming adventures become alot easier to do with sauer... I'm getting all excited!

reply to this message

#972: Re: ..

by jerrybean on 07/12/2005 06:50, refers to #971

I was going to say how I (incorrectly) pronounced sauerbraten, but I looked it up and it's actually a word.

http://merriam-webster.com/cgi-bin/dictionary?book=Dictionary&va=sauerbraten

Yum.

Anyway, I'm looking to make some changes: A better vertex array (VA) division algorithm and hardware occlusion culling. Is anyone doing work in this area?

I took a look the current VA divisions by drawing bounding boxes, and they are a mess (my fault) and not well suited for occlusion culling, let alone view frustrum culling. I have an idea that should break down maps more evenly as well as go faster (during VA construction) due to less redundant work.

reply to this message

#973: Re: ..

by jerrybean on 07/12/2005 07:24, refers to #972

Apologies. updateva has changed a bit more than I thought. These VA bounding boxes don't make sense anymore.

reply to this message

#974: Re: ..

by Wolf on 07/12/2005 08:02, refers to #973

i believe there is currently only one verex array. not 100% sure tho only looked though some of the code

reply to this message

#975: 3rd person..

by Aardappel_ on 07/12/2005 08:19

is here to stay yes. It has always bugged me that games prescribe 1st or 3rd person, and I think the user should have to option to play any game in either. So it will stay in as an engine feature, where game modes can set the "default", and users can override it if they are not happy.

having seemless zoom from 3rd person is an interesting idea. I think if the camera is too close to the model for whatever reason, the model should go seamlessly from 1.0 alpha to 0.0 alpha.

Yup, the vweapon is an issue. Dunno what I want to do here yet, especially since you do not see much of it at the moment. I may want to mount the camera bit over the players head, that would be easier for aim. Also, with a character on screen all the time it will be time for better animations and animation blending someday.

Dunno what the bug is you are getting. I noticed heavy physics performance issues in debug mode, which the 3rd person mode pronounces. Haven't found out what happens yet... Gilt or eihrul, feel free to have a go at it.



reply to this message

#976: oh and..

by Aardappel_ on 07/12/2005 08:23

I added png alpha support, for models. Some people are making some nice trees with this. For making some larger scale RPGish maps. For... but that is just hearsay ;)

reply to this message

#977: ..

by staffy2005 on 07/12/2005 12:28

when in 3rd person mode you don't look like you are running when you shoot + run.

reply to this message

#978: yum 3p views

by madcrow on 07/12/2005 15:07

This would actually make Sauerbraten much more flexible. 3rd person would make things like action-adventure games/levels quite doable.

reply to this message

#979: ..

by staffy2005 on 07/12/2005 23:26

I made a rpgish map. (a copy and paste job) http://img326.imageshack.us/img326/5476/screenshot661002zg.jpg

reply to this message

#980: Re: 3rd person..

by Gilt on 07/13/2005 00:32, refers to #975

when it comes to physics, well we are still generating planes each time we check a collision with a cube. so on average we are generating planes at 5cubes*20moves(+1perMob)*50hz... (and 5 cubes is probably very optimistic for the way many maps are made..) .. so it adds up very fast. we really should be doing some sort of caching of the planes before looking at tweaking anything else I think... unless you can think of a really fast way to generate the planes...

also todo is the fact that plane generation is being done two different ways, for physics collision and ray collision. this should be refactored into one. it'd probably be better to stick with the physics version since I'm guessing it's overall faster, though I haven't checked it yet

reply to this message

#981: Re: 3rd person..

by Aardappel_ on 07/13/2005 02:07, refers to #980

Well, more than just the planes, other things must be going wrong. Like I said, in aard3 (relatively simple geometry), I can get down to 5fps in debug mode when standing on the grass, but sometimes on the grass I get the usual 200 fps. Then around the grass I get guaranteed 200fps. Then at YA I get 5fps again. I don't think this is just the planes, it sounds like something really is buggy.

But yes, a physics cache would help.

struct cacheitem
{
float planes[N];
cacheitem *next;
cacheitem **backptr;
int age;
};


make an array of M elements of these (M can be tweaked, lets say 1000 for now). Link them up much like the current particle system.

Every time you compute some planes, grab one of the above from the freelist, and make the cube point to it. Make backptr point to the pointer inside the cube, that way we can clear it if this structure gets reused. set age to current milliseconds.

If you add them in order, and if at some point you need a new cacheitem and the free list is empty, you can simply find the tailend of the list and move the last items to the freelist (the oldest items). Ideally items that are referred to are moved back to the head of the queue. So maybe a doubly linked list would work better.

One thing to be careful of is deallocation: if a cube gets deallocated, you must remove its physics cache item as well.. subtle bugs could result.

reply to this message

#982: Re: 3rd person..

by Aardappel_ on 07/13/2005 06:42, refers to #982

first of, all the FPS display slowly gravitates towards the real fps, this is to make the figure more "readable".

Second, yes, at slow fps the physics will run more often, so basically it will always take a certain amount of time no matter what the fps. This means if there is something REALLY inefficient in the physics it can clog the fps more than on other games.

This is in an attempt to make the physics behave the same on all systems... it is rather hard to write physics which works the same on 5 and 200 fps if you use variable time steps.

reply to this message

#983: third person?

by CC_machine2 on 07/14/2005 22:36

ok, so i start the newest version of sauer and try this new third person thing and it doesnt work. Ive tried:

/thirdperson - says 'unknown command'
/thirdperson 1 - just does absolutely nothing

am i typing the wrong command or is my computer f***ed up?

reply to this message

#984: Re: third person?

by enigma_0Z on 07/14/2005 23:56, refers to #984

Yeah, it's not in source CVS, but you need to download the latest EXE. There's a link at the top of the thread titled "Sauerbraten - Bug Reports".

reply to this message

#985: Re: third person?

by enigma_0Z on 07/14/2005 23:57, refers to #984

Uhh (open mouth, insert foot)...

That is to say that it's not _only_ in source CVS. Chances are it's there too, but you don't need to get the source to get the thirdperson mode... Just download the latest EXE.

reply to this message

#986: Lua scripting patch

by Andrew Brault on 07/15/2005 01:46

I made a quick patch to integrate Lua scripting into Sauerbraten. I haven't tested it much but it "seems to work". The patch needs to be applied against the latest CVS sources.

http://unsignedint.com/sauerbraten.html

reply to this message

Go to first 20 messagesGo to previous 20 messages    Board Index    Go to next 20 messagesGo to last 20 messages


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
53440662 visitors requested 71200633 pages
page created in 0.118 seconds using 10 queries
hosted by Boost Digital