WIP: Monkey Volleyball – Contest Entry

Hello all,



I decided to enter the contest and post early!

The game would be based on “Arcade Volleyball” and will have very similar gameplay, tho it will be in 3d ofc. Since it is to show jME characters will be monkeys, “heading” a banana to each other.

The point of the game is similar: make more points by “giving the bananas” to the other monkey, since both monkeys are trapped inside an arena and they are both good samaritans and are willing to sacrifice themselves in order to give the food to the other monkey!!!

The monkey that successfully gives more bananas to the other (splash them on the ground) wins!



edit: Arcade Volleyball

http://www.youtube.com/watch?feature=player_embedded&v=KO7Wpv3y-5E



Banana-like ball:
http://www.google.com/imgres?q=bananas&um=1&hl=pt-PT&client=opera&rls=en&channel=suggest&tbm=isch&tbnid=NxWcWzojhZgV9M:&imgrefurl=http://www.cepolina.com/po/bananas.htm&docid=Rja7WJY-dB4eTM&imgurl=http://www.cepolina.com/photo/food/fruit/banana/2/bananas.jpg&w=640&h=480&ei=1hS9TpCqIs7Y8QPy-7C5BA&zoom=1&iact=hc&vpx=179&vpy=369&dur=3875&hovh=194&hovw=259&tx=118&ty=108&sig=112690143611930658585&page=10&tbnh=134&tbnw=181&start=173&ndsp=19&ved=1t:429,r:7,s:173&biw=1366&bih=667

Since I'm making this while learning Java and jME don't exacly know the outcome. This is what I have done so far as of to test how to make the network work:
Ball Entity is the only one working so far. No game logic or game manager has been made or designed yet.
http://dl.dropbox.com/u/2671657/jME_networking.png


Since I only know how to program, I'll have difficulties in making models and it's textures which is something I have never done in my life.

Best regards,
Marco
3 Likes

Hehe, looks like it could be fun, good luck with this!

1 Like
@normen said:
Hehe, looks like it could be fun, good luck with this!


Thanks! :D
Will try to put it as much fun as it can be, tho the game is very very simple.

I do remember this game on my VERY VERY VERY old computer. GOOD LUCK!!!

I also remember playing something similar (remake of this game most probably). Good luck with this. If you need any help regarding the rules, just ask.

Hello again,



Arcade VolleyBall has been implemented on different platforms back in the day :stuck_out_tongue:

@see http://en.wikipedia.org/wiki/Arcade_Volleyball



Now, updates:

I’ve done the Player information networking test. This was to test the networking conditions for the 1st time I was doing it.

Even if it already allows server <-> client communication, it does not have any logical game manager, neither a propper connection one.



For demonstration:

http://www.youtube.com/watch?v=AlNgAxexgX4



Notice that, direction of models aint done yet. (getViewDirection() missuse I guess). The server makes a "ghost" CharacterControl after a client connects, at it's spawn location (with it's control and physical form). Don't know why that happens, but I'm sure I'll figure it out after I've done a propper establish a connection manager from server.

jme-examples package does not have any monkey model (besides the head) does it?

Will keep this update,
Marco

EDIT
Question: CharacterControl's dont hit each other do they?
2 Likes

No they don’t collide. You need to fix yourself.

@half said:
Question: CharacterControl's dont hit each other do they?

Just attach a kinematic RigidBodyControl with the same collision shape and make sure via the collision groups that it does not collide with the character its attached to.
1 Like

Great example video! Nice to see the full process of how entering a game works :slight_smile:

@half: Do you allready got the CharacterControl’s/RigidBody’s colliding? I still got trouble with this and I haven’t found any example code for this.

@normen said:
Just attach a kinematic RigidBodyControl with the same collision shape and make sure via the collision groups that it does not collide with the character its attached to.


Thanks!! ;) Will do!
@Vortex said:
@half: Do you allready got the CharacterControl's/RigidBody's colliding? I still got trouble with this and I haven't found any example code for this.


Yes. RigidBodyControl being the Ball Entity. I made it through a control (on the Ball) to listen to Physical colisions.
(BallControl extends RigidBodyControl implements PhysicsTickListener, PhysicsCollisionListener)

Then you're able to get NodeA & NodeB on the collision from collision event "public void collision(PhysicsCollisionEvent event)".
https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:advanced:physics_listeners

Happy coding :P
@normen said:
Just attach a kinematic RigidBodyControl with the same collision shape and make sure via the collision groups that it does not collide with the character its attached to.

@normen: but that limits the total number of characters at 32. Is there a way to overcome that limit?
@Momoko_Fan said:
Is there a way to overcome that limit?

Not of you do it this way but you can also have a collision group listener that enables or disables the collision based on a check of both nodes. So just return false when its character and its own kinematic object.

Updating:



I’ve been coding very very few lately due to other university works. Just made it possible for multiple connections to server, so everyone would have one unique id and made team logic (tho not complete). Now when a client enters it is put in spectators team, being able to join using “1” or “2” keys, but I’m encountering a small problem which I intend to fix today.

May make a video once it’s done.



TODO:

Full connection logic, game logic (except ball’s one, otherwise it could never touch the ground yet.) before experimenting with gameplay issues.



regards,

Marco

Update:



Connection and Team Selection managers done. Players are freely to choose teams (Red or Blue, plus to Spectate).

Weird problems still occur when I put 3 players (1 running server, plus 2 connections), so I’ll limit the game to a 1on1 so far.



Cheers,

Marco

Update:



Finishing working on the “cage”:

http://dl.dropbox.com/u/2671657/monkeyballcage.png



Thanks to Paul for hyper-lighting code burst on how to make it transparent :smiley:



Initial stage of HUD display (what appears is for test purpose).



Regards,

Marco

cool, how is your game play coming along? I’m looking forward to seeing this playing!

@thetoucher said:
cool, how is your game play coming along? I'm looking forward to seeing this playing!


Havent touched gameplay yet.
Was worried about backbone stuff like cage and the draft about game manager. Neither is complete so, gameplay will be handled once I can know and set everything straight (player1 hit's ball, he can only hit 2 more times. if player2 hits ball, etc. Score based action and collisions etc :D)

Did played your game today ;)
For about 20 seconds because I was on class eheh. but since you remembered me to go check it right now :D

@thetoucher Arena all done. Gonna start working on gameplay.

Initial steps have been very hard :expressionless: Ball has weird behaviour and collision detection of the engine (even pre-thick) makes a double or triple detection which boosts the ball out of play (out of arena itself).