An Example of How WebGL is supposed to Work

In This Earlier Posting, I described how I had recompiled the Atomic Game Engine, to act as a platform running on my Linux laptop ‘Klystron’, from which among other things, I should be able to create games, and export those into ‘WebGL Format’.

WebGL is an ‘HTML5′ specification, which not all browsers support fully, but which essentially allow for hardware-accelerated 3D graphics to run on the browser, as propagated from a Web-server. It has the same gist that the now-deprecated ‘VRML’ used to have, with the exception of being in binary – partially – and being more powerful.

Atomic Game Engine comes with numerous Demos, that are designed to help users like me, learn how to use their system for creating games, and to test their platform.

The following is not a game I created, instead being a simple game delivered through the installation of Atomic Game Engine to my laptop. So this is something which the developers of Atomic Game Engine created, but which I am able to deploy as well, just because I installed Atomic Game Engine. And it may not work on every browser. I hear that Firefox supports WebGL particularly well. And, it is slow to load, because after everything has been said and done, WebGL is still a less efficient platform for 3D content, than actual ‘OpenGL’, or ‘DirectX’ applications would be.

If you load this on some browsers, they will display a message box, stating that ‘A Script is Taking Very Long To Run – Do You Wish To Continue?’ Because we know that this script is supposed to contain a 3D game, presumably we would allow it to keep running. But even when we do, we need to have a fairly strong graphics chip-set, in order for this to render properly. It renders correctly on my laptop ‘Klystron’ – over a network – but not on my server-box ‘Phoenix’, even though both have the same browser version, presumably because of the weak GPU on ‘Phoenix’. And building Atomic Game Engine, did not require me to install any special modules to my system, as a plausible answer to why that laptop is able to play the animation.

On ‘Phoenix’, this content eventually loads, but only displays a black window. And that is correct, even though I am the publisher and code-maintainer for this little project.

Link To An Atomic Game Engine Sample




Atomic Game Engine Recompiled on Laptop

In This Earlier Posting, I wrote that I had installed a custom-compiled version of the Atomic Game Engine on my Linux laptop named ‘Klystron’.

Well today I recompiled all that, specifically so that I would be able to export any hypothetical games I might want to design with that, to Android, thus testing it thoroughly with my newly-added Android NDK.

I finally have the capability to take games that are written in JavaScript, and to export those either to Linux, to WebGL, or to Android.




Atomic Game Engine Installed – twice

One of the projects which I have recently undertaken, is to compile and install Atomic Game Engine, both on my Linux laptop ‘Klystron’, and on my Windows 7 machine ‘Mithral’. This was originally a closed platform, but has received renewed interest, because it is now available under the MIT license, which is a form of Open-Source licensing, more permissive than GPL v3 is.

This platform has the eventual capability, to deploy 3D applications and games, to Windows, OS/X, Linux, Android, iOS and WebGL recipient-platforms, while some forms of it will run under Windows and Linux, in my own experience.

I have to say though, that my ability to get the Linux version of this game-design platform working, was not due to my own prowess, but rather to the fact that the development team at Atomic Game Engine, provided dedicated and consistent technical support to me, every time I ran into a problem. I would guess they are rather tired of answering my many questions for the moment, so it is also good news, that both under Linux and Windows, my installations of this platform are complete – to my own satisfaction.

I have exported a 3D application to Android from my Windows platform, but have not reproduced this success under Linux, mainly because the platform requires that I specify where my Android SDK and where my Ant executable are located – sensibly – and I do not have any Android SDK presently, installed on ‘Klystron’. I do have the Android SDK installed on ‘Mithral’, which as I said is required, and so the export to Android worked there.

Installation under Windows was much more straightforward than it was under Linux, which is often the case, because the Windows version comes as an available binary SDK, while under Linux it still needs to be custom-compiled. And whenever we custom-compile anything, we can run into dependency issues.

One major issue I faced under Linux, was the fact that the Mono packages that are standard for my Debian distribution, are not adequate in what they provide, for development in C# to be enabled. And so what I needed to do, was to subscribe to another Mono repository, managed by Mono project, to upgrade my whole Mono installation, and after that, C# also worked.

So, Atomic Game Engine allows for 3D applications and games to be designed, using the languages C#, JavaScript, and TypeScript, according to my own experience… But, a C# Project cannot be exported for WebGL playing.

Also, I have discovered along the way, that We are no longer expected to install ‘Visual Studio 2015 Express’, but rather “Visual Studio 2015 Community Edition”, and in order to get C# support to work properly on my Windows 7 machine, I needed to do an in-place upgrade, from ‘VS Express’ to ‘VS Community’.

I am pleased that all the installation and upgrading seems to have gone well, and seems to have left me with no major reliability issues, either on ‘Klystron’ or on ‘Mithral’.

However, because the build of Mono now on ‘Klystron’ is non-standard, I cannot vouch for it in general. On my actual server-box ‘Phoenix’, I must choose to stick with the more conservative Mono packages, that are meant to go with Debian, because this box needs to run reliably 100% of the time. OTOH, on ‘Klystron’, I had nothing else depending on Mono, for which reason I was also willing to do the upgrade.