HaxBall - A flash game made in haxe

classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

HaxBall - A flash game made in haxe

Mario Carbajal
This is a game I've been working on for about 4 months, it is made in HaXe and the name is a bit of a tribute to it :)




--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Simon Krajewski
  That looks funny. I couldn't figure out how to actually join a game
since the rooms don't seem to indicate whether or not the game has
already started. Once I got it to work, it turned out to be the funniest
10 flashplayer minutes I've had in a while! The acceleration is somewhat
sluggish and post game stats should list all scorers, but it's great fun
nevertheless. Glad to see flashplayer p2p can actually be used properly.

Simon

Am 16.12.2010 19:01, schrieb Mario Carbajal:
> This is a game I've been working on for about 4 months, it is made in
> HaXe and the name is a bit of a tribute to it :)
>
> http://www.haxball.com
>
>

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Heinz Hölzer-2
In reply to this post by Mario Carbajal
Am 16.12.2010 19:01, schrieb Mario Carbajal:
This is a game I've been working on for about 4 months, it is made in HaXe and the name is a bit of a tribute to it :)



wow, looks great, how do the clients communicate with each other? UDP or TCP? Is UDP in Flash possible by now?

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Mario Carbajal
They communicate through RTMFP, which is UDP based, its a new flash feature.

2010/12/16 Heinz Hölzer <[hidden email]>
Am 16.12.2010 19:01, schrieb Mario Carbajal:
This is a game I've been working on for about 4 months, it is made in HaXe and the name is a bit of a tribute to it :)



wow, looks great, how do the clients communicate with each other? UDP or TCP? Is UDP in Flash possible by now?

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Simon Krajewski
In reply to this post by Simon Krajewski
  by the way, people ask how to kick the ball in every other room, you
should put the control information somewhere where they can't be missed.

*still playing*

Am 16.12.2010 19:27, schrieb Simon Krajewski:

>  That looks funny. I couldn't figure out how to actually join a game
> since the rooms don't seem to indicate whether or not the game has
> already started. Once I got it to work, it turned out to be the
> funniest 10 flashplayer minutes I've had in a while! The acceleration
> is somewhat sluggish and post game stats should list all scorers, but
> it's great fun nevertheless. Glad to see flashplayer p2p can actually
> be used properly.
>
> Simon
>
> Am 16.12.2010 19:01, schrieb Mario Carbajal:
>> This is a game I've been working on for about 4 months, it is made in
>> HaXe and the name is a bit of a tribute to it :)
>>
>> http://www.haxball.com
>>
>>
>

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Tarwin Stroh-Spijer
Yeah, really fun game and a great display of what you can do with some UDP. A little jumpy here in Australia but playable.

I do agree that you need to put the controls below the game so people can just start. Also you need better instructions on how to join a team - a large "DRAG YOUR PLAYER HERE" message would do.


Tarwin Stroh-Spijer
_______________________

Touch My Pixel
http://www.touchmypixel.com/
phone: +61 3 8060 5321
_______________________


On Fri, Dec 17, 2010 at 6:26 AM, Simon Krajewski <[hidden email]> wrote:
 by the way, people ask how to kick the ball in every other room, you should put the control information somewhere where they can't be missed.

*still playing*

Am 16.12.2010 19:27, schrieb Simon Krajewski:

 That looks funny. I couldn't figure out how to actually join a game since the rooms don't seem to indicate whether or not the game has already started. Once I got it to work, it turned out to be the funniest 10 flashplayer minutes I've had in a while! The acceleration is somewhat sluggish and post game stats should list all scorers, but it's great fun nevertheless. Glad to see flashplayer p2p can actually be used properly.

Simon

Am 16.12.2010 19:01, schrieb Mario Carbajal:
This is a game I've been working on for about 4 months, it is made in HaXe and the name is a bit of a tribute to it :)

http://www.haxball.com




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Simon Krajewski
Actually this whole room business is a problem. I spent about the same time trying to find a game as I spent time playing. People just keeping joining rooms, seeing that the game is already on and try the next room.

What this needs is a queuing system where people can just queue vor 1vs1, 2vs2, 3vs3 and 4vs4 games with some reasonable presets like 5 min/5 goals. Once a queue has enough players, it selects the one with the best connection as host and virtually creates a room where everyone is already set as player. This might require some polling from the client or a persistent connection to the room server, but it should be worth it.

Note that I'm suggesting this as an alternative, you could keep the room mechanism in case someone just wants to play with a friend. The queues would merely auto create some rooms.

Good night
Simon

Am 17.12.2010 03:06, schrieb Tarwin Stroh-Spijer:
Yeah, really fun game and a great display of what you can do with some UDP. A little jumpy here in Australia but playable.

I do agree that you need to put the controls below the game so people can just start. Also you need better instructions on how to join a team - a large "DRAG YOUR PLAYER HERE" message would do.


Tarwin Stroh-Spijer
_______________________

Touch My Pixel
http://www.touchmypixel.com/
phone: +61 3 8060 5321
_______________________


On Fri, Dec 17, 2010 at 6:26 AM, Simon Krajewski <[hidden email]> wrote:
 by the way, people ask how to kick the ball in every other room, you should put the control information somewhere where they can't be missed.

*still playing*

Am 16.12.2010 19:27, schrieb Simon Krajewski:

 That looks funny. I couldn't figure out how to actually join a game since the rooms don't seem to indicate whether or not the game has already started. Once I got it to work, it turned out to be the funniest 10 flashplayer minutes I've had in a while! The acceleration is somewhat sluggish and post game stats should list all scorers, but it's great fun nevertheless. Glad to see flashplayer p2p can actually be used properly.

Simon

Am 16.12.2010 19:01, schrieb Mario Carbajal:
This is a game I've been working on for about 4 months, it is made in HaXe and the name is a bit of a tribute to it :)

http://www.haxball.com




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

MarcWeber
In reply to this post by Mario Carbajal
Its a lot of fun. However the ball jups a lot. How does synchronization
work in this implementation?

Marc Weber

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Mario Carbajal
The game uses prediction to remove the control lag, but this results in everything that is not the player warping around ( since I cant predict perfectly what is going to happen ). The lower the ping the less warping you'll see.

On Fri, Dec 17, 2010 at 12:34 AM, Marc Weber <[hidden email]> wrote:
Its a lot of fun. However the ball jups a lot. How does synchronization
work in this implementation?

Marc Weber

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

MarcWeber
Excerpts from Mario Carbajal's message of Fri Dec 17 04:54:18 +0100 2010:
> The game uses prediction to remove the control lag, but this results in
> everything that is not the player warping around ( since I cant predict
> perfectly what is going to happen ). The lower the ping the less warping
> you'll see.

What happens if two players kick at the same time?
Who will win?


two players moving to join each other

(P1) ->       <- (P2)
| . 1sec -| - 1 sec |

New let P2 move top instead of left.
Prediction of P1 will still assume that both hit.
Thus P1 is bounced back even though no collision took place because P2
suddenly changed direction of movement?

Marc Weber

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Tony Polinelli
In reply to this post by Simon Krajewski
ahha queue'ing for rooms.. 2v2, 3v3... someone has been playing some stacraft i think ;P



On Fri, Dec 17, 2010 at 1:23 PM, Simon Krajewski <[hidden email]> wrote:
Actually this whole room business is a problem. I spent about the same time trying to find a game as I spent time playing. People just keeping joining rooms, seeing that the game is already on and try the next room.

What this needs is a queuing system where people can just queue vor 1vs1, 2vs2, 3vs3 and 4vs4 games with some reasonable presets like 5 min/5 goals. Once a queue has enough players, it selects the one with the best connection as host and virtually creates a room where everyone is already set as player. This might require some polling from the client or a persistent connection to the room server, but it should be worth it.

Note that I'm suggesting this as an alternative, you could keep the room mechanism in case someone just wants to play with a friend. The queues would merely auto create some rooms.

Good night
Simon

Am 17.12.2010 03:06, schrieb Tarwin Stroh-Spijer:
Yeah, really fun game and a great display of what you can do with some UDP. A little jumpy here in Australia but playable.

I do agree that you need to put the controls below the game so people can just start. Also you need better instructions on how to join a team - a large "DRAG YOUR PLAYER HERE" message would do.


Tarwin Stroh-Spijer
_______________________

Touch My Pixel
http://www.touchmypixel.com/
phone: +61 3 8060 5321
_______________________


On Fri, Dec 17, 2010 at 6:26 AM, Simon Krajewski <[hidden email]> wrote:
 by the way, people ask how to kick the ball in every other room, you should put the control information somewhere where they can't be missed.

*still playing*

Am 16.12.2010 19:27, schrieb Simon Krajewski:

 That looks funny. I couldn't figure out how to actually join a game since the rooms don't seem to indicate whether or not the game has already started. Once I got it to work, it turned out to be the funniest 10 flashplayer minutes I've had in a while! The acceleration is somewhat sluggish and post game stats should list all scorers, but it's great fun nevertheless. Glad to see flashplayer p2p can actually be used properly.

Simon

Am 16.12.2010 19:01, schrieb Mario Carbajal:
This is a game I've been working on for about 4 months, it is made in HaXe and the name is a bit of a tribute to it :)

http://www.haxball.com




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org



--
Tony Polinelli
http://touchmypixel.com

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Mario Carbajal
In reply to this post by MarcWeber
@Marc: I'm not sure I understood the question, but here's a try at answering :)

The hosts are constantly streaming the state of the game, if prediction were disabled players would be able to play, but they would have input lag ( press left key and only see the change happen after PING time ). I predict what the state will be in ping time and render that. The prediction is recalculated for each state frame the host sends.
This means that the host is the authority about what happens to the simulation, so even if a client predicts something incorrectly he will eventually be corrected by the host.

On Fri, Dec 17, 2010 at 1:08 AM, Marc Weber <[hidden email]> wrote:
Excerpts from Mario Carbajal's message of Fri Dec 17 04:54:18 +0100 2010:
> The game uses prediction to remove the control lag, but this results in
> everything that is not the player warping around ( since I cant predict
> perfectly what is going to happen ). The lower the ping the less warping
> you'll see.

What happens if two players kick at the same time?
Who will win?


two players moving to join each other

(P1) ->       <- (P2)
| . 1sec -| - 1 sec |

New let P2 move top instead of left.
Prediction of P1 will still assume that both hit.
Thus P1 is bounced back even though no collision took place because P2
suddenly changed direction of movement?

Marc Weber

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

MarcWeber
Excerpts from Mario Carbajal's message of Fri Dec 17 06:34:41 +0100 2010:

> @Marc: I'm not sure I understood the question, but here's a try at answering
> :)
>
> The hosts are constantly streaming the state of the game, if prediction were
> disabled players would be able to play, but they would have input lag (
> press left key and only see the change happen after PING time ). I predict
> what the state will be in ping time and render that. The prediction is
> recalculated for each state frame the host sends.
> This means that the host is the authority about what happens to the
> simulation, so even if a client predicts something incorrectly he will
> eventually be corrected by the host.

So the prediction (eg movement of other players) is based on the state
which was streamed but calculated 2 times the ping time ahead.

It would be fun to play the game without prediction because maybe the
brain can do so better than the computer ? Why - the brain can analyze
the players and what they are likely to do.

Maybe my ping time was very bad. There was a time the jumping items
drove me crazy.

Would it be much effort to allow players switching off prediction?

Marc Weber

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

MarcWeber
There is another question I'm interested in:
The page says you've been working on that game for month.
Do you think you had to spend a huge portion of the time creating the
gui elements (buttons, list view etc?)
Or did you use an existing library?

Also it would be pretty nice if you could join by double clicking or the
like.

Marc Weber

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Mario Carbajal
It would be fun to play the game without prediction because maybe the
brain can do so better than the computer ? Why - the brain can analyze
the players and what they are likely to do.
Initially there was no prediction but it was damn impossible to control your own player like that.

Maybe my ping time was very bad. There was a time the jumping items
drove me crazy.
This is likely, with pings under 100 msec it isnt very noticeable.

Would it be much effort to allow players switching off prediction?
The first prototypes had this, but everyone was playing with 100% prediction so I decided it was best not to clutter the UI with useless features. I can build a version of the game that doesnt predict if you need being convinced ;)

There is another question I'm interested in:
The page says you've been working on that game for month.
Do you think you had to spend a huge portion of the time creating the
gui elements (buttons, list view etc?)
Or did you use an existing library?
Yes, I made my own mini gui lib. I guess I can't say I'm a very pragmatic person :P

Also it would be pretty nice if you could join by double clicking or the
like.
This is on the todo list.

On Fri, Dec 17, 2010 at 3:34 AM, Marc Weber <[hidden email]> wrote:
There is another question I'm interested in:
The page says you've been working on that game for month.
Do you think you had to spend a huge portion of the time creating the
gui elements (buttons, list view etc?)
Or did you use an existing library?

Also it would be pretty nice if you could join by double clicking or the
like.

Marc Weber

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Baluta Cristian
Fun game, i just helped a team to lose with 0.
I didn't knew how to join a team, but i finally saw the + button. You need some big arrows from your player to indicate what team you'll join if you click them.
What i don't like is the slow easing.

On Fri, Dec 17, 2010 at 9:39 AM, Mario Carbajal <[hidden email]> wrote:
It would be fun to play the game without prediction because maybe the
brain can do so better than the computer ? Why - the brain can analyze
the players and what they are likely to do.
Initially there was no prediction but it was damn impossible to control your own player like that.

Maybe my ping time was very bad. There was a time the jumping items
drove me crazy.
This is likely, with pings under 100 msec it isnt very noticeable.

Would it be much effort to allow players switching off prediction?
The first prototypes had this, but everyone was playing with 100% prediction so I decided it was best not to clutter the UI with useless features. I can build a version of the game that doesnt predict if you need being convinced ;)

There is another question I'm interested in:
The page says you've been working on that game for month.
Do you think you had to spend a huge portion of the time creating the
gui elements (buttons, list view etc?)
Or did you use an existing library?
Yes, I made my own mini gui lib. I guess I can't say I'm a very pragmatic person :P

Also it would be pretty nice if you could join by double clicking or the
like.
This is on the todo list.

On Fri, Dec 17, 2010 at 3:34 AM, Marc Weber <[hidden email]> wrote:
There is another question I'm interested in:
The page says you've been working on that game for month.
Do you think you had to spend a huge portion of the time creating the
gui elements (buttons, list view etc?)
Or did you use an existing library?

Also it would be pretty nice if you could join by double clicking or the
like.

Marc Weber

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org



--
Băluță Cristian
http://ralcr.com
http://imagin.ro

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Simon Krajewski
In reply to this post by Tony Polinelli
Actually, I never played Starcraft. The idea just seems soooo obvious in an "I don't care who I play with, just let me play!" environment. :)

Simon

Am 17.12.2010 06:05, schrieb Tony Polinelli:
ahha queue'ing for rooms.. 2v2, 3v3... someone has been playing some stacraft i think ;P



On Fri, Dec 17, 2010 at 1:23 PM, Simon Krajewski <[hidden email]> wrote:
Actually this whole room business is a problem. I spent about the same time trying to find a game as I spent time playing. People just keeping joining rooms, seeing that the game is already on and try the next room.

What this needs is a queuing system where people can just queue vor 1vs1, 2vs2, 3vs3 and 4vs4 games with some reasonable presets like 5 min/5 goals. Once a queue has enough players, it selects the one with the best connection as host and virtually creates a room where everyone is already set as player. This might require some polling from the client or a persistent connection to the room server, but it should be worth it.

Note that I'm suggesting this as an alternative, you could keep the room mechanism in case someone just wants to play with a friend. The queues would merely auto create some rooms.

Good night
Simon

Am 17.12.2010 03:06, schrieb Tarwin Stroh-Spijer:
Yeah, really fun game and a great display of what you can do with some UDP. A little jumpy here in Australia but playable.

I do agree that you need to put the controls below the game so people can just start. Also you need better instructions on how to join a team - a large "DRAG YOUR PLAYER HERE" message would do.


Tarwin Stroh-Spijer
_______________________

Touch My Pixel
http://www.touchmypixel.com/
phone: +61 3 8060 5321
_______________________


On Fri, Dec 17, 2010 at 6:26 AM, Simon Krajewski <[hidden email]> wrote:
 by the way, people ask how to kick the ball in every other room, you should put the control information somewhere where they can't be missed.

*still playing*

Am 16.12.2010 19:27, schrieb Simon Krajewski:

 That looks funny. I couldn't figure out how to actually join a game since the rooms don't seem to indicate whether or not the game has already started. Once I got it to work, it turned out to be the funniest 10 flashplayer minutes I've had in a while! The acceleration is somewhat sluggish and post game stats should list all scorers, but it's great fun nevertheless. Glad to see flashplayer p2p can actually be used properly.

Simon

Am 16.12.2010 19:01, schrieb Mario Carbajal:
This is a game I've been working on for about 4 months, it is made in HaXe and the name is a bit of a tribute to it :)

http://www.haxball.com




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org



--
Tony Polinelli
http://touchmypixel.com

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Eric Priou
In reply to this post by Mario Carbajal
Hi,

> They communicate through RTMFP, which is UDP based, its a new flash feature.
Could you please tell which technology do you use serverside for RTMFP ?
Thanks by advance
---
Eric Priou aka erixtekila
http://www.ericpriou.me







--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Mario Carbajal
I'm using Cirrus.

On Fri, Dec 17, 2010 at 10:55 AM, Eric Priou <[hidden email]> wrote:
Hi,

> They communicate through RTMFP, which is UDP based, its a new flash feature.
Could you please tell which technology do you use serverside for RTMFP ?
Thanks by advance
---
Eric Priou aka erixtekila
http://www.ericpriou.me







--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: HaxBall - A flash game made in haxe

Heinz Hölzer-2
All your players create direct connections with each other player, right?
Do you use Netstream.send to send direct messages??

Am 17.12.2010 18:30, schrieb Mario Carbajal:
I'm using Cirrus.

On Fri, Dec 17, 2010 at 10:55 AM, Eric Priou <[hidden email]> wrote:
Hi,

> They communicate through RTMFP, which is UDP based, its a new flash feature.
Could you please tell which technology do you use serverside for RTMFP ?
Thanks by advance
---
Eric Priou aka erixtekila
http://www.ericpriou.me







--
haXe - an open source web programming language
http://haxe.org



--
haXe - an open source web programming language
http://haxe.org
12