Page 1 of 2
Gametype: Last Man Standing
Posted: Fri Oct 22, 2010 2:30 pm
by The Jo
The Gametype Last Man Standing (
http://www.orxonox.net/browser/code/bra ... anstanding) is ready to test and use.
(It shouldn't be merged though, since there's still one known bug and collisionshapes aren't totaly implemented in the level.)
Re: Gametype: Last Man Standing
Posted: Sat Oct 23, 2010 8:32 am
by greenman
Hi
At first thanks for your work. It is great to see people creating content for orxonox
wanted to test it today, but when trying to start the level the error
Code: Select all
LuaState: Cannot include file 'lastmanstandinghud.oxo' (not found).
appeared in the console and the mainmenu background image stayed on the screen.
did you forget to add it to svn ?
Re: Gametype: Last Man Standing
Posted: Sat Oct 23, 2010 1:12 pm
by x3n
cool gametype.
the remaining bug should be fixed soon, we exchanged some emails
and yes, that file is missing.
Re: Gametype: Last Man Standing
Posted: Mon Oct 25, 2010 8:31 pm
by The Jo
greenman wrote:
Code: Select all
LuaState: Cannot include file 'lastmanstandinghud.oxo' (not found).
appeared in the console and the mainmenu background image stayed on the screen.
did you forget to add it to svn ?
No.
Not again.
Fortunately (and thanks to some hints of Fabian ) the gametype is finished and will be ready to be merged soon
. (I still have to do some cleanup. And maybe other bugs arise when one is down.)
Re: Gametype: Last Man Standing
Posted: Mon Oct 25, 2010 8:41 pm
by Mozork
Nice, I like it.
One thing that bugged me, though: I can fly through the asteroids.
Adding some collisionshapes could prevent that.
And sometimes I die for no apparent reason. Probably that's intentional, to discourage hiding, but some message as to why I died would be nice.
Some respawn delay would probably be nice, too.
Re: Gametype: Last Man Standing
Posted: Wed Oct 27, 2010 10:50 am
by The Jo
Mozork wrote:
One thing that bugged me, though: I can fly through the asteroids.
Adding some collisionshapes could prevent that.
I've been working on that, but I still have a little trouble to place some collisionshapes correctly.
Is there a way to make collisionshapes visible? (The only way I know to detectem is to crash into them. that's not the smartest way...)
Mozork wrote:
And sometimes I die for no apparent reason. Probably that's intentional, to discourage hiding, but some message as to why I died would be nice.
Some respawn delay would probably be nice, too.
That effect is intended. I've added a warning message, that appears before the punishment actually takes place.
I'm still working on the respawn delay part.
Re: Gametype: Last Man Standing
Posted: Wed Oct 27, 2010 3:19 pm
by greenman
The Jo wrote:
Is there a way to make collisionshapes visible? (The only way I know to detectem is to crash into them. that's not the smartest way...)
if you are using sphere collision shapes you can attach a sphere mesh to the collision shape with the same size ^^
maybe we could implement such a feature into collision shapes (to make them visible). the only problem would be to get the right mapping between scaling factor and real size.
Re: Gametype: Last Man Standing
Posted: Wed Oct 27, 2010 3:23 pm
by x3n
scaling is not really a problem as long as the corresponding mesh has the right dimension.
@jo: as greenman said, you can attach a model with sphere.mesh or cube.mesh and scale them like the collision shape (use the attribute scale3D="x, y, z").
Re: Gametype: Last Man Standing
Posted: Wed Oct 27, 2010 3:25 pm
by x3n
example from the fps level:
Code: Select all
<StaticEntity position="0,-50,0" direction="0,-1,0" collisionType=static mass=100000 >
<attached>
<Model position="0,0,0" mesh="cube.mesh" scale3D="100,100,10" />
</attached>
<collisionShapes>
<BoxCollisionShape position="0,0,0" halfExtents="100,100,10" />
</collisionShapes>
</StaticEntity>
note the correspondencies between scale3D and halfExtents
Re: Gametype: Last Man Standing
Posted: Sun Oct 31, 2010 8:06 pm
by The Jo
I've implemented all features that had been requested.
At the moment I simply can't see how to improve my implementation of last man standing significantly, so I need your suggestions:
How can the gametype or the level be enhanced?
Re: Gametype: Last Man Standing
Posted: Mon Nov 01, 2010 8:28 am
by beni
I guess different levels of difficulty, but that probably is outside of the scope of this gametype and should be implemented much more globally...
Re: Gametype: Last Man Standing
Posted: Mon Nov 01, 2010 11:06 am
by greenman
maybe also additional levels for your gametype ?
Re: Gametype: Last Man Standing
Posted: Mon Nov 01, 2010 4:27 pm
by x3n
The Jo wrote:I've implemented all features that had been requested.
At the moment I simply can't see how to improve my implementation of last man standing significantly, so I need your suggestions:
How can the gametype or the level be enhanced?
looks good so far
maybe the camper alert message could vanish immediately when you hit someone instead of staying visible for another few seconds?
also the respawn-delay message could count down, that would be coold
also I got a crash, can't tell you exactly what happened, but thats the crash log:
Code: Select all
orxonox.exe caused an Access Violation at location 0x77a11cea in module ntdll.dll reading from location 0x00000001
Call stack:
0: 0x77a11cea RtlFreeHandle +0x2488
1: 0x779da5a4 RtlTimeToTimeFields +0xbe3f
2: 0x76c03f01 HeapFree +0x14
3: 0x77189c03 free +0x39
4: 0x01a0d121 orxonox::packet::FunctionCalls::addCallMember(unsigned int, unsigned int, orxonox::MultiType const*, orxonox::MultiType const*, orxonox::MultiType const*, orxonox::MultiType const*, orxonox::MultiType const*) +0x16b
5: 0x01a03a56 orxonox::FunctionCallManager::addCallMember(unsigned int, unsigned int, unsigned int, orxonox::MultiType const&) +0xea
6: 0x6849c374 orxonox::GametypeInfo::sendFadingMessage(std::string const&, unsigned int) +0xa0
7: 0x6847b72b orxonox::LastManStanding::tick(float) +0x2ef
8: 0x6846cf23 orxonox::GSRoot::update(orxonox::Clock const&) +0xdd
9: 0x65409ca7 orxonox::Game::updateGameStates() +0xcb
10: 0x654095b0 orxonox::Game::run() +0x16e
11: 0x684454dd orxonox::main(std::string const&) +0x631
There seems to be something wrong with sendFadingMessage... not sure if this is related to your gametype or if it's a general problem, but i've never seen this before. I couldn't reproduce it either...
Re: Gametype: Last Man Standing
Posted: Mon Nov 01, 2010 4:33 pm
by x3n
looking at the crash log, I see sendFadingMessage() calls callMemberNetworkFunction() instead of this->dispatchFadingMessage(message)... that should only happen in network games! so probably the clientID is wrong - which is it->first->getClientID(). No clue why that doesn't work though...
Re: Gametype: Last Man Standing
Posted: Mon Nov 01, 2010 4:55 pm
by x3n
another 4 ideas came to my mind:
1) instead of instantly killing a camper, just do him some damage, i think that would be more fair.
you could also make this an optional feature, that can be turned on or off in the config file. (i.e. bPunishCampers=true/false or similar)
2) I like the level a lot, but there's a hole in the ring and 2 pillars are "double" (two pillars at the same position) - you can see them flicker (next to the hole - probably a wrong index in the lua script or something)
3) I'd suggest to display the remaining lives permanently on the HUD, not just once as a fading message.
4) How to deal with players that join in the middle of a game? They shouldn't start with the maximum amount of lives, that would be unfair. Instead I suggest to give them min(lives) of all players in the game (i.e. lets say there are 2 players, one has 3 lives left, the other 1 life left, so give the new player only 1 life)
about the crash: I couldn't reproduce it so far... Feel free to try it yourself, best with a debugger, so you could examine the clientID and maybe even the cause for why it's wrong. Maybe it's not your fault, it could be a problem in another part of the code