Gametype: Last Man Standing

Introduce your project and write about your work.

Moderator: PPS-Leaders

The Jo
General DuGalle
Posts: 121
Joined: Mon Mar 01, 2010 7:43 pm

Gametype: Last Man Standing

Post by The Jo » Fri Oct 22, 2010 2:30 pm

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.)
Fail. Fail again. Fail better.

User avatar
greenman
Baron Vladimir Harkonnen
Posts: 360
Joined: Wed Oct 03, 2007 2:53 pm
Contact:

Re: Gametype: Last Man Standing

Post by greenman » Sat Oct 23, 2010 8:32 am

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 ?
There are only 10 types of people in the world: Those who understand binary, and those who don't.

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Gametype: Last Man Standing

Post by x3n » Sat Oct 23, 2010 1:12 pm

cool gametype. :)

the remaining bug should be fixed soon, we exchanged some emails ;)
and yes, that file is missing.
Fabian 'x3n' Landau, Orxonox developer

The Jo
General DuGalle
Posts: 121
Joined: Mon Mar 01, 2010 7:43 pm

Re: Gametype: Last Man Standing

Post by The Jo » Mon Oct 25, 2010 8:31 pm

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. :wallbash: Not again.

Fortunately (and thanks to some hints of Fabian ) the gametype is finished and will be ready to be merged soon :D. (I still have to do some cleanup. And maybe other bugs arise when one is down.)
Fail. Fail again. Fail better.

User avatar
Mozork
Mogthorgar, the mighty
Posts: 134
Joined: Wed Sep 24, 2008 3:27 pm

Re: Gametype: Last Man Standing

Post by Mozork » Mon Oct 25, 2010 8:41 pm

Nice, I like it. :D

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.

The Jo
General DuGalle
Posts: 121
Joined: Mon Mar 01, 2010 7:43 pm

Re: Gametype: Last Man Standing

Post by The Jo » Wed Oct 27, 2010 10:50 am

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.
Fail. Fail again. Fail better.

User avatar
greenman
Baron Vladimir Harkonnen
Posts: 360
Joined: Wed Oct 03, 2007 2:53 pm
Contact:

Re: Gametype: Last Man Standing

Post by greenman » Wed Oct 27, 2010 3:19 pm

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.
There are only 10 types of people in the world: Those who understand binary, and those who don't.

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Gametype: Last Man Standing

Post by x3n » Wed Oct 27, 2010 3:23 pm

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").
Fabian 'x3n' Landau, Orxonox developer

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Gametype: Last Man Standing

Post by x3n » Wed Oct 27, 2010 3:25 pm

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 :)
Fabian 'x3n' Landau, Orxonox developer

The Jo
General DuGalle
Posts: 121
Joined: Mon Mar 01, 2010 7:43 pm

Re: Gametype: Last Man Standing

Post by The Jo » Sun Oct 31, 2010 8:06 pm

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?
Fail. Fail again. Fail better.

User avatar
beni
Baron Vladimir Harkonnen
Posts: 949
Joined: Tue Oct 03, 2006 9:15 am
Location: Zurich
Contact:

Re: Gametype: Last Man Standing

Post by beni » Mon Nov 01, 2010 8:28 am

I guess different levels of difficulty, but that probably is outside of the scope of this gametype and should be implemented much more globally...
"I'm Commander Shepard and this is my favorite forum on the internet."

User avatar
greenman
Baron Vladimir Harkonnen
Posts: 360
Joined: Wed Oct 03, 2007 2:53 pm
Contact:

Re: Gametype: Last Man Standing

Post by greenman » Mon Nov 01, 2010 11:06 am

maybe also additional levels for your gametype ?
There are only 10 types of people in the world: Those who understand binary, and those who don't.

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Gametype: Last Man Standing

Post by x3n » Mon Nov 01, 2010 4:27 pm

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 :D

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...
Fabian 'x3n' Landau, Orxonox developer

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Gametype: Last Man Standing

Post by x3n » Mon Nov 01, 2010 4:33 pm

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...
Fabian 'x3n' Landau, Orxonox developer

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Gametype: Last Man Standing

Post by x3n » Mon Nov 01, 2010 4:55 pm

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 :)
Fabian 'x3n' Landau, Orxonox developer

Post Reply

Who is online

Users browsing this forum: No registered users and 14 guests