Page 1 of 2

Soccer mode

PostPosted: 23 Dec 2012, 11:09
by Funto
Some of you know it already: I'm adding a "soccer mode" in my Christmas branch in SVN.
It's a multiplayer mode similar to battle mode except players have to push a ball to the opponent's cage to score points.
It's not finished yet, but I hope I can get it fully playable not so far from now.
By now, there is a new choice in the possible challenges, a new type of tracks, and a test arena derived from the Stadium arena.
I may change it so that it would become a table football. That would explain the huge ball and justify obstacles on the way. Or maybe it would be cool to keep a field without obstacles?

Some ideas for soccer arenas:
- ice-themed, where we should push a sliding ice cube
- moon, where we push a rock. Maybe in the form of a planet, would be cool to fight on a sphere, but it would require more work :)

Some screenshots:
Image
Image
Image
Image

Re: Soccer mode

PostPosted: 23 Dec 2012, 11:19
by Ludsky
It's very good idea, i like (I have a same idea in my head ^^)

Re: Soccer mode

PostPosted: 23 Dec 2012, 11:22
by WillemS
Wow, that's nice! (I was looking at the SVN log and I was already wondering what "soccer mode" meant ;) )

Re: Soccer mode

PostPosted: 24 Dec 2012, 12:42
by betharatux1
it seem must make new arena :lol:
suggest : how with swatter on kart, but the head swatter change with football shoes / keep shape, and added sticker ( football shoes ) :lol:

Re: Soccer mode

PostPosted: 24 Dec 2012, 15:51
by Funto
I prefer to keep the current items available, as is done with battle mode. Having a derivative of the swatter to "shoot" the ball would be cool (I suppose that's what you mean), but I think the same effect is achievable with firing a bowling ball when we have the soccer ball in front of us.

Re: Soccer mode

PostPosted: 28 Dec 2012, 18:26
by Funto
I made some progress in this area.
Finally I removed all obstacles in the soccer field and added goal cages.
Goals are checked when the soccer ball crosses the line, and the soccer ball is teleported back to its original position as soon as a goal is scored.

I still have to count points and determine when the game is finished.
BTW, I think a configuration screen would be useful for determining:
- which player goes in which team (I thought of making 2 teams, say a red one and a blue one)
- how many goals are needed for the game to stop, OR how long the game lasts

Also, I'm not sure what behavior to adopt when a goal has been scored: winning animation? teleporting the karts back at their start position? let the players keep driving and quickly go to the newly added soccer ball?
I thought also of coloring the goal cages in red and blue for the players to easily spot which cage they should aim. I also thought it may be interesting to add a 2D arrow showing where the ball and where the cage we need to aim is (not sure my explanations are clear here).

You can test this mode by checking out the "christmas" branch on SVN. I only updated the CMake configuration files (no Visual Studio solution or Xcode project).
Any thoughts?

Re: Soccer mode

PostPosted: 29 Dec 2012, 17:09
by WillemS
I tried it, and it is really funny already :)

I think it would be nice when a team scores a goal, the ball is teleported to the middle again. Then one loop of the winning animation could be played for the karts of the scoring team, and one loop of the losing animation could be played for the other team.

Okay, perhaps now I'm getting a bit too excited, but it would be completely awesome if Thunderbird (being the referee) picks up the ball from the goal and drops it in the middle again, while the animations are playing :D But I understand how difficult that would be to implement ;)

I think it is more fun not to transport the karts back to their starting position when somebody scores, because you need more strategy then to prevent your opponent from scoring immediately after your own goal.

Unfortunately, if you have the minimal race GUI enabled, the soccer mode is unusable at the moment: when Thunderbird is ready counting and the race is about to start, STK segfaults. Backtrace:
{l Code}: {l Select All Code}
#0  0x083ac77e in QuadGraph::mapPoint2MiniMap(Vec3 const&, Vec3*) const ()
#1  0x083aeb1c in Track::mapPoint2MiniMap(Vec3 const&, Vec3*) const ()
#2  0x08356f38 in MinimalRaceGUI::drawGlobalMiniMap() ()
#3  0x08357a95 in MinimalRaceGUI::renderGlobal(float) ()
#4  0x08243d35 in GUIEngine::render(float) ()
#5  0x0821b9d9 in IrrDriver::update(float) ()
#6  0x082dbe6c in MainLoop::run() ()
#7  0x081adfab in main ()

Re: Soccer mode

PostPosted: 29 Dec 2012, 19:56
by Funto
WillemS {l Wrote}:I tried it, and it is really funny already :)

Thank you for your constructive answer, I'm happy to trigger some interest :)

WillemS {l Wrote}:I think it would be nice when a team scores a goal, the ball is teleported to the middle again.

That's normally what you should have experienced...
WillemS {l Wrote}:Then one loop of the winning animation could be played for the karts of the scoring team, and one loop of the losing animation could be played for the other team.

I thought of this as well, but I don't know which trajectory the karts to follow, as there is no driveline...and they should not interfere with each other, run into a wall, etc, so it doesn't seem to be easy to do.

Okay, perhaps now I'm getting a bit too excited, but it would be completely awesome if Thunderbird (being the referee) picks up the ball from the goal and drops it in the middle again, while the animations are playing :D But I understand how difficult that would be to implement ;)

I thought of this Thunderbird thing also. It would be simpler to implement if the soccer ball was a kart, but I don't think it's really difficult to implement anyway (at least it seems less hard than having to find a path for the the karts that play the animations).

WillemS {l Wrote}:I think it is more fun not to transport the karts back to their starting position when somebody scores, because you need more strategy then to prevent your opponent from scoring immediately after your own goal.

That's what I thought also, I think I will keep this behavior. Maybe I could just play the winning/losing animations, but the player would keep the control of the kart? This way, the animations would be here, and we keep the "strategic" part of having to think in advance of the positions to adopt for next round. I like this idea, what do you think? :)

WillemS {l Wrote}:Unfortunately, if you have the minimal race GUI enabled, the soccer mode is unusable at the moment: when Thunderbird is ready counting and the race is about to start, STK segfaults. Backtrace:
{l Code}: {l Select All Code}
#0  0x083ac77e in QuadGraph::mapPoint2MiniMap(Vec3 const&, Vec3*) const ()
#1  0x083aeb1c in Track::mapPoint2MiniMap(Vec3 const&, Vec3*) const ()
#2  0x08356f38 in MinimalRaceGUI::drawGlobalMiniMap() ()
#3  0x08357a95 in MinimalRaceGUI::renderGlobal(float) ()
#4  0x08243d35 in GUIEngine::render(float) ()
#5  0x0821b9d9 in IrrDriver::update(float) ()
#6  0x082dbe6c in MainLoop::run() ()
#7  0x081adfab in main ()

Thanks for the report, this is fixed now.

Re: Soccer mode

PostPosted: 29 Dec 2012, 21:02
by WillemS
Funto {l Wrote}:That's what I thought also, I think I will keep this behavior. Maybe I could just play the winning/losing animations, but the player would keep the control of the kart? This way, the animations would be here, and we keep the "strategic" part of having to think in advance of the positions to adopt for next round. I like this idea, what do you think? :)

Yes indeed, actually that was what I intended (although I admit I should have put it clearer ;) ). I however thought of a problem now. The kart animations are made animated that there is a "fluent" transition from the "normal" state to the "winning" state. But as far as I know there is no part of the animation "back" from the "winning" state to the "normal" state. I wonder whether it looks right to just switch immediately between those states? Furthermore I am curious how well the "strange" losing animations look when used in such a way, such as Tux being put in a terminal and Wilber being erased :) Perhaps you should only do the winning animations?

Funto {l Wrote}:Thanks for the report, this is fixed now.

Thank you for fixing, it works now indeed :)

Re: Soccer mode

PostPosted: 29 Dec 2012, 23:35
by Funto
I think it must be possible to interpolate from the winning state back to the normal state...
Otherwise we could also play the animation in reverse?
And yes, the strange animations would be strange ^^ I know hiker isn't fond of those, maybe we could replace them with simpler ones?
And last possibility is to have an optional special animation for soccer mode...but I don't like this idea.

Re: Soccer mode

PostPosted: 02 Jan 2013, 12:23
by Totoplus62
Love your idea Funto ;) !

Funto {l Wrote}:
WillemS {l Wrote}:I think it is more fun not to transport the karts back to their starting position when somebody scores, because you need more strategy then to prevent your opponent from scoring immediately after your own goal.

That's what I thought also, I think I will keep this behavior. Maybe I could just play the winning/losing animations, but the player would keep the control of the kart? This way, the animations would be here, and we keep the "strategic" part of having to think in advance of the positions to adopt for next round. I like this idea, what do you think? :)


Yes this is a good idea, but when the ball is "teleported" you keep the control of the kart but you can't move the ball until each player is in his own half of the soccer'field.
And when your team is in his own half of the soccer'field you have to have to wait 5-6 seconds (to go on you position) until a whistle blows that show that the ball is now "unlocked".

Re: Soccer mode

PostPosted: 02 Jan 2013, 13:00
by Funto
Seems a good idea, but I'm afraid this could break the rythm of the game, and players would not have to think about the next ball while they are playing with the current one.
I'm not sure which system is better, I think we need to see both in practice to choose.

Re: Soccer mode

PostPosted: 03 Jan 2013, 10:24
by Binky
I think this would make a fun easter egg - perhaps hide one of the teleporter bubbles (as found in the overworld) somewhere on one off the more explorable tracks (green valley?) - this bubble would start a soccer game.

Re: Soccer mode

PostPosted: 03 Jan 2013, 10:25
by Ludsky
Please, when we test this mod ?

Re: Soccer mode

PostPosted: 03 Jan 2013, 10:49
by Funto
Ludsky >> You can download the code from the SVN branch "christmas", compile it and launch it. But anyway, this branch should get merged to trunk soon I think, so you will be able to test it with the nightly builds.

Binky >> It's a multiplayer mode, so if you give access to it through the overworld, you would end up with the need for another player...that doesn't work ;/
However we could still make this a bonus mode that you have to unlock ^^.

Re: Soccer mode

PostPosted: 03 Jan 2013, 13:15
by Ludsky
Funto {l Wrote}:Ludsky >> You can download the code from the SVN branch "christmas", compile it and launch it. But anyway, this branch should get merged to trunk soon I think, so you will be able to test it with the nightly builds.


Thanks You, Congratulations again for your good idea !

Re: Soccer mode

PostPosted: 05 Jan 2013, 20:20
by Auria
Hi Funto,

sorry for the delay, holidays vacations :)

I just tried your soccer mode. It looks quite cool! I think the ball could be a little smaller though, and instead of disappearing when you score a goal you could use some particles. Apart from that, it looks like it could be quite fun :)

Re: Soccer mode

PostPosted: 05 Jan 2013, 21:07
by Funto
Instead of disappearing, I thought we would have Thunderbird take it and bring it back to its initial place.

Re: Soccer mode

PostPosted: 07 Jan 2013, 03:48
by hiker
Funto {l Wrote}:Instead of disappearing, I thought we would have Thunderbird take it and bring it back to its initial place.

That should be reasonable easy - after all thunderbird is setup so that it can be attached to a ball, so just make it a child of the ball and all should be fine.

Re win/lose animation and unsmoothness: I am not sure how easy it would be to interpolate the various animations. Perhaps we could hide some of this with some camera movement? The camera would zoom up and out (to show how the ball is moved to the center by thunderbird), before zooming back to the normal view. When the camera is furthest away you could just switch the animations, I doubt that this will be noticeable.

While I haven't played it, one suggestion (based on some IRC discussions we had): perhaps the physics representation of the ball could be a puck. That might make it easier to push it around (which someone complained about, and I think Auria's comment about the ball size might trigger similar things). The graphical object would then do the rotation.

Cheers,
Joerg

Re: Soccer mode

PostPosted: 07 Jan 2013, 13:59
by Funto
Nice idea for the camera looking at the bird from behind, I would love to see a majestic bird grasping the ball and letting it fall with some nice godrays behind!
Supposing we go this way, we would quit splitscreen for the time the animation runs, and the karts would be back at their starting position once the next round starts.

Concerning physics: I suppose the point of making a puck would be to introduce friction, so that pushing the ball would not make it go away? It seems this could be solved by using angular damping, according to this thread on the Bullet forum.

Re: Soccer mode

PostPosted: 07 Jan 2013, 23:00
by hiker
Funto {l Wrote}:Supposing we go this way, we would quit splitscreen for the time the animation runs, and the karts would be back at their starting position once the next round starts.

Yes, that would make sense (admittedly I didn't think that far ;) ).

Concerning physics: I suppose the point of making a puck would be to introduce friction, so that pushing the ball would not make it go away? It seems this could be solved by using angular damping, according to this thread on the Bullet forum.

My idea was to avoid that the ball goes up, which it apparently does (according to pictures). If it's a puck, there would be no (or hardly any) upwards components when hitting the 'ball-puck'. But we can try that, once you've merged into trunk :)

Cheers,
Joerg

Re: Soccer mode

PostPosted: 07 Jan 2013, 23:59
by Funto
Ah, I liked that the ball could go up, that's a more realistic behavior...
Maybe making it smaller would already solve the problem?

Re: Soccer mode

PostPosted: 28 Feb 2013, 12:10
by nod
AI for Soccer mode

Re: Soccer mode

PostPosted: 28 Feb 2013, 16:25
by Ludsky
This mod is
>> Player VS Computer ?
or >> Player VS Player ?
or>> the two ?

If Player VS Computer it would be nice to have 2 teams of 5 (or 4, or 6) karts ^^

Re: Soccer mode

PostPosted: 28 Feb 2013, 17:08
by Arthur
Player vs player. AI for soccer mode would be nice but quite a bit of work, so for now it will be multiplayer only.