Gamestudio Links
Zorro Links
Newest Posts
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
4 registered members (degenerate_762, AbrahamR, AndrewAMD, ozgur), 667 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Gallery
Next Gallery
Print Thread
Rate Thread
Page 2 of 2 1 2
Bounci Madness 2 (Online-MP) #255486
03/10/09 20:19
03/10/09 20:19
8 Images
Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
TSG_Torsten Offline OP

User
Bounci Madness 2 (Online-MP)

Hello everyone,

since more than a year i'm working on the online multiplayer project "Bounci Madness". I've already shown some impressions of the first versions of it. Already this versions were one of the few real-working multiplayer games in A6/A7.
Now, the new version 2 is released. It offers many new features, an even-better multiplayer core, computer-controlled players (Bots) and a complete remake of the game-graphics. Also, some new technics of A7 (like the data-compression) has been implemented.

What kind of game is "Bounci Madness"?
Bounci Madness is an online Multiplayer Game. Every player plays a ball on a roof-top of a skyscraper and has to do different things. The game-targets are very diversely in dependance of the current game mode. For example, in one game modes you have to catch a flag and hold them for a couple of seconds.
In an other game mode - called "Sudden-Death" - you play on dynamically grounds and "just" have to stay as the last one the map - sounds easy? Isn't it!

The Multiplayer Features
Bounci Madness is (as far as I know) one of the few working multiplayer games which use the native engine transfer for data-exchange.
- You can configure your server via config files (manually and with extern tools) and while runtime over a client-console
- Every server will be listed in a online-server list which can be browsed in the game and online
- Up to 30 players can compete on each server

Computer-Controlled-Players ("Bots")
On the server, you can add players which are controlled by the server. They have a complex algorithm in order to understand the different targets of the current game mode and to behave as "normal" as possible. Well, sometimes they behave very strange, but they are just a small extra to fill up the servers (like you do it in other online games like "Counter-Strike")

The Physics
To simulate a realistic behaviour of every ball, Bounci Madness is doing all physic-calculations on the server. Also, Bounci Madness has a lot of special physic functions like magnetic behaviour of objects, Jump-Platforms or Real-Time Shape-Manipulation (Morph the ball into a cube, for example)


The Graphics
We use dynamic soft-shadows in order to create a great looking enviorment. Also, a lot of particle-effects and normal-mapping shaders sum up the look of the virtual-world.

Sounds and Music
Of course we also have sound-fx and different music. The user has also the ability to insert his own mp3-files.

More Information
Bounci Madness is a freeware game.
You can download the whole game (90 MB) for free. Just click on the link below and choose a Download Mirror:
http://tsgames.de/index.php?item=122
(German Web Page)

Also, you can watch the current game-server list on this web-page.


May I will show a trailer next time.


Comments & Critics are welcome =)

Regards
TSGames
16 Comments
Re: Bounci Madness 2 (Online-MP) [Re: mk_1] #255743
03/12/09 10:35
03/12/09 10:35
Joined: May 2008
Posts: 301
Oxy Offline
Senior Member
Oxy  Offline
Senior Member

Joined: May 2008
Posts: 301
The reason why the game looks very laggy is an error in your approach how to handle the position of the ball.

As I can see from the movement (joining your server), you
send the positions of the ball to the client, and display them there at the received position...

That might sound intuitive at first, but is not how you should do it:

Dont use the raw position data to display the balls on the clients. (for other more static elements its ok)
You need a dead reckoning algorythm!

How to do it:

You can keep the received position of the balls as they are right now, but: make the balls invisible!
The balls then each create a connected local entity, wich
is visible to the player.
This local representation should be passable.

Now the local ball calculated its position from the position of its "mother ball".
It should smooth this by doing an interpolation of the positions of its motherballs previous positions).

Even better if the mother-ball also knows its velocity and movement-angle from the server. (stored in skills)

A simple but effective way to make the daughterball have a smooth movement is this calculation:

(for each x,y and z)
my.x (this frame) = 0.7*my.x + 0.3*mother.x;

(this can be enhanced by altering 0.7 and 0.3 by
a time_step adaption, to make it framerate independent)

There are many other more advanced dead reckoning aproaches too.

bottom line:

dont display the raw data of the received ball positions
to the client, but an interposlated version.
This is how you remove the visible lagging.


---

The bots are done nice!

the shadow shader results in a really poor fps...

Re: Bounci Madness 2 (Online-MP) [Re: Oxy] #255757
03/12/09 11:49
03/12/09 11:49
Joined: Mar 2009
Posts: 40
MokyjeBrute Offline
Newbie
MokyjeBrute  Offline
Newbie

Joined: Mar 2009
Posts: 40
why is there SADDAM?

Re: Bounci Madness 2 (Online-MP) [Re: Oxy] #255773
03/12/09 14:10
03/12/09 14:10
Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
TSG_Torsten Offline OP

User
TSG_Torsten  Offline OP

User

Joined: Mar 2005
Posts: 564
/www/europe/ germany/index.php
Originally Posted By: Oxy
The reason why the game looks very laggy is an error in your approach how to handle the position of the ball.


I already doing such a similar algorithm (but only for the player-entity at the moment).
When new position-information received on the client, the position will be changed to the new information. Now, the difference from the last position will be calculated. This difference is used for interpolating the movement and simulate a "prediction" of the current movement.

But anyway, you're right, such an algorithm you described is even better for preventing "lagging" behaviour of the balls. But it's very complicated to create locate entities and "connect" them to the real server entities and manipulate their positions (the game is still developed in c-script!)

But the problem of the lagging is not only the visible part, also, the transfer of the controls from client to server and to see the results comming back (Server-Client) is one of the most important problems.

But as I already mentioned, I personally don't have any disturbing lags while playing over the internet with a ping about 90-110ms. Most time it runs as smooth as playing on a local network server. Of course, sometimes it lags because the internet connection is used by other programs, but most time it works without any problems.

Quote:
why is there SADDAM?

SADDAM was a name of a player which was currently playing while I took the screenshots wink

Thanks for your comments and critics so far
TSGames

Last edited by TSG_Torsten; 03/12/09 14:13.
Re: Bounci Madness 2 (Online-MP) [Re: TSG_Torsten] #255788
03/12/09 15:45
03/12/09 15:45
Joined: May 2008
Posts: 301
Oxy Offline
Senior Member
Oxy  Offline
Senior Member

Joined: May 2008
Posts: 301
The balls where shaking pretty badly when i tried it.

Its not really complicated to make a attached entity.
With ent_create_local (or so) you can make a pure local entity.
Just let every server-ball create a local copy,
and apply the position interpolation there.
Other things, such as the angle/animation can by taken directly from the server-entity.
The server-entity is simply kept invisible, so you can use your current code.

You should avaoid to make the interpolation "forward",
as in classic dead reconing. Since you have fast moving balls, wich change their angle of movement often, you would
often have the balls get into a wall.

The interpolation that I mentioned is a "dragging behind"
calculation. You can adjust the factors (for example
0.9 and 0.1) they just need to be 1 in the sum.

For the player-inputs the only thing you can do is sendign it always right away when pressing a key.
Apart from that, there is not much that you can speed up.
(only if you change the gameplay to let the player-ball get
processed on the client already, but then you
cant have collisions with other balls)

Last edited by Oxy; 03/12/09 15:49.
Re: Bounci Madness 2 (Online-MP) [Re: Oxy] #255931
03/13/09 17:35
03/13/09 17:35
Joined: Sep 2003
Posts: 9,859
F
FBL Offline
Senior Expert
FBL  Offline
Senior Expert
F

Joined: Sep 2003
Posts: 9,859
The game concept looks really itneresting.
Still I think, a less realistic environment would fit better, but I guess that's just about taste...

Staying at names... does TSG represent Torsten Schäfer-Gümbel? *hides and runs* laugh

Re: Bounci Madness 2 (Online-MP) [Re: TSG_Torsten] #262753
04/25/09 18:17
04/25/09 18:17
Joined: Mar 2008
Posts: 68
Germany, Essen
V
virtualmarctek Offline
Junior Member
virtualmarctek  Offline
Junior Member
V

Joined: Mar 2008
Posts: 68
Germany, Essen
oh, I'm on some screens, too laugh
Do you know something about the new Intro?


mfg, Marc V.
Re: Bounci Madness 2 (Online-MP) [Re: TSG_Torsten] #265272
05/11/09 16:16
05/11/09 16:16
Joined: Apr 2009
Posts: 274
atari98 Offline
Member
atari98  Offline
Member

Joined: Apr 2009
Posts: 274
Super Mulitiplayer Game.Grafik ist 1. Klasse


Meine Fun Websiten
www.free4-fun.de.tl

www.gamer-liga-live.de.tl

Meine Game-Projekt Websiten
www.gamer-projects.de.tl
Page 2 of 2 1 2

Moderated by  jcl, Realspawn, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1