vendredi 10 juillet 2020

The Giant Ball - Where does that come from?

In 2006, I was working in Sweden at the now defunct University of Gotland, in the Game department, doing development mostly, but also research. Aside my work activities, I also developed games in my spare time, mostly proposed free as applets on the Giant Ball website.

But the first game on this web-site, as you might have guessed, was the Giant Ball. A strange idea on several accounts, a failure in term of revenue (the days I got the most visits, Google decided my ads value was 0), and a success as an experiment.

The idea is both very simple and quite weird. A giant beach ball, 1275km of diameter, somehow arrives on Earth and stay still until pushed. Of course it is no easy task to push such a big thing, so it needs many persons pushing it simultaneously. To push it, the first version was only using the visit: once started, the game would count one push. That was way too simple and strange, so a red button was introduced. Press to charge, release to send hits.
Then another issue, I wanted to do an online multiplayer game, and I was not a flash developer. I was used to C++ and Java, so went with Java. I wrote the server, and went to do the web-game in an applet, in 3D...

Bad idea.

It might have been the only multiplayer game using Java 3D, we will maybe never know.

It worked (it got the red button after the screenshot, I did no try to run it again :) ). But you had to install Java3D, manually. So, while Java was at that time installed pretty much everywhere, and the applets were running straight away, that was not the case for Java with Java3D. You got a message asking you to install it instead, and that did not help the game.

So for a long while, the browser game was in 2D and in 3D, it would use Java3D if installed, or fall back to a 2D version. Actually the ball was kind of more 3D in the 2D version, at it was raytraced in real-time. After some years, the 3D version got dropped.

Naively,I wanted the game to be cooperative, without an official competition. Of course, it started to work only when it started getting some competition 😅.

At the end if got 83 countries, more than 100.000 players, so that's a success. A sad success actually, as it showed that Africa was pretty much fully absent from the internet at that time. Of course my sample was not that large, but all others continents (well except Antartica) were present.

It was supposed to be Ads-supported, as at that time I needed to rent a physical server to run it. Let say that the Giant Ball, and the others games I pushed there, were pretty much my gift for all the visitors, a gift that was not free on my side 😃. As far as I remember I got 3-4 € from the ads, so not enough to receive anything, and it simply disappeared after a while.
About the other games, they are now on, the 2 biggest having been enhanced and completed, and might come to Steam. They all work on PC desktop now, and are still written in Java. I am still looking for persons that would like to build a package for Linux for them. On Mac, only the smallest would work, as it uses plain Java AWT and does not do anything fancy, and actually was done in a way that would keep updates to the minimum (only when you do something). But the 2 others uses a pretty fancy game engine I wrote to support several thousand of quite smart units (they are all autonomous and uses attached sensors), and relying on a very well done graphics engine for applets, Pulpcore2D, that stopped being supported when the applets stopped being relevant. Some persons made it standalone, I adapted it a bit, also changed the mp3 streaming part I used, so they are now desktop application. Thanks to that, I also added many things that couldn't be in an applet, and sadly removed the centralized score saving (that needed the server).
Well, all these explanation to come back to the Mac port. Apple in its habits of killing whatever is not their interest decided to stop supporting some graphics API that were central in normal 2D Pojo graphics, so Pulpcore is both slow and flashing on a Mac. Without replacing all the graphics layer by something else (like LWJGL), it is probably impossible to fix...
I still need to work on the Linux port. Funnily I am pretty use to applications on Linux, but not desktop ones 😉, and I run only VM Linux, so I need to go back to it. My only issue is on how to bundle Java with the game.

And what about the Giant Ball? Well, it might do a comeback ;)