3d-pong dot com

For me, 2015 was a transition year from flash technology to html5. Adobe Flash is a great tool, but I explored other possibilities as a publishing plaform. WebGL support in the major browsers, good sound playback, gamepad support, the possibility of saving settings in localstorage made me choose javascript.

I don’t really like to program javascript, actionscript 3 is way better I think, but javascript is a language I know a bit and can use to create things for the web. I have some professional experience as a webdeveloper using jQuery.

About 15 years ago the 3d pong game, I believe published in Macromedia Shockwave back then, was a game I thought of something really cool. That version of the game is still online in the Adobe Flash format, http://www.ponggame.org/3dpong.php

The idea of the game is great, but I think there is a huge missing feature, you need to be able to play this game split screen, so I decided to create my own version of that game with split screen included.

Unreal Engine was a tool I was considering to do that in, great platform and free until you make lots of money with your game, html5 publishing available. I made some first steps into unreal, but in the first months of 2016 I was working as a webdeveloper and was focussing more on web technology then learning a game engine.

I stumbled upon babylonjs and the crosswalk project.
Babylonjs gives a rather good performance with webgl, it had enough features to create that kinda game and it supported all of the gamepads I tested it with, in various webbrowers.
The engine is originated from a team working for Microsoft. Gamepads connected with Microsoft Edge work, that browser can be accessed on Xbox One machines, thus enabling Xbox One as a publishing platform for me, very nice.
Gamepads connected with other major browsers (Google Chrome, Mozilla firefox) on pc or android also work with the engine.
The Crosswalk project from intel can build a cordova app for android with the chromium webview, which supports WebGL and gamepads.
At first, I compiled it myself, but after a while, because of constant configuration changes needed, I used the intel xdk editor to build the app.
This works good for mobile, unfortunately, xdk does not provide the necessary configuration options to publish for android tv. Very disapointing because the television is a medium the game is actually intended for.
For this reason I also provide the apk installer files, that can be used to sideload the game on various android tv boxes.

Being a javascript game, it is rather demanding on hardware. You can play it on recent computers, android tv boxes like the Nvidia Shield, in the Xbox One browser, but the performance can be not good enough on older hardware.
It is something you’ll need to test yourself. The game is online at https://3d-pong.com https://ictbram.com/3d-pong and in the google playstore

For promoting the game I made a video which demonstrates mainly gameplay and shows the key feature of playing split screen.

I hope the game will be much played and is entertaining for lots of people and their friends. There is some documentation provided on https://3d-pong.com/about/ in English, but the menu’s in the game are provided in multiple world languages:
English, Chinese (traditional), German, French, Spanish and Russian.

** Update 16/10/2015

The android version is now also installable on android tv boxes. I’ve managed to open the apk file made by intel and repackage it with Apktool.  In the manifest xml file I’ve added a few use-feature lines:
<uses-feature android:name=”android.hardware.gamepad” android:required=”false”/>
<uses-feature android:name=”android.software.leanback” android:required=”false” />
<uses-feature android:name=”android.hardware.touchscreen” android:required=”false” />

and an extra activity :
<activity android:name=”com.ictbram.threeDeePong.MainActivity” android:label=”@string/app_name” android:configChanges=”keyboard|keyboardHidden|navigation” android:theme=”@android:style/Theme.Black.NoTitleBar”> <intent-filter> <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LEANBACK_LAUNCHER” /> </intent-filter> </activity>

I also found and used the APK2TV tool to add in a 320×180 banner displayed on the android tv home screen.

After adding the banner, once more a repackage with Apktool and a zipalign on that apk file before it was accepted again in the android play store. That arm apk install file is also updated on the about website, the x86 not yet because I don’t have a device at hand to test it on.

From now on, 3d-pong is also published in the Microsoft Store for windows 10 devices.