Jan 172013

It has been very quiet here for over half a year which might have given rise to rumors that the Tetragon Engine is dead. But these are luckily only that, rumors. Unfortunately, due to profoundly tragic events in my life in the last year, I had to freeze all my activities and projects, except for my daily job. This included development on the Tetragon Engine as well which however was continually being used by myself for my job. There are a couple of good news I have for anyone who is interested in the engine, however …

  • Tetragon is now licensed under the MIT license again and as that distributed as Open Source.
  • Development on Tetragon continues steadily. Sometimes faster, like now, and sometimes slower, like when I’m very busy on my regular job dealing with client work.
  • The Tetragon Engine is now company-backed by Nothing Interactive.
  • The Tetragon project and source code is now hosted on Github.
  • There is now a wiki for Tetragon which can be found at wiki.tetragonengine.com. At the moment it’s still small but there is now a Beginner Guide available and eventually the wiki will become the main documentation source for Tetragon, containing docs and tutorials that cover all aspects of the engine.

So if you are interested in a Flash/AIR-based game engine to use as the basis for your next game project you may want to give Tetragon a shot.

Apr 012012

The Tetragon Engine has so far been released as open source under the MIT License but since today is distributed under a new, custom dual license that was defined to allow us better control of how the engine is distributed while it still can be offered freely to almost anyone who likes to use it for developing games.

But don’t be scared away now by the word dual license! The license change has zero impact on indie developers and small to most medium-sized businesses and most of you will be able to use Tetragon just like any other open source software. The new license can however have an impact on larger companies that exceed a certain annual gross revenue.

You can review the dual license on the License Page where you can also find a fully detailed version of the EULA, which additionally is included with the source code distribution of the project.

Mar 192012

While it currently seems to be very quiet on the surface here, the truth is that it’s buzzing with Tetragon development in the development labs. The engine changes and improves by leaps and bounds with every step. All the time the entity system is being worked on, which proves to be quite a challenging beast. There are plenty of improvements and bug fixes that have been done recently, the FPS Monitor has been replaced by a more useful Stats Monitor which displays a lot more information (more in-depth info on that later!). The build process now allows to define it’s own build properties per build target (think different width/height/fps/etc. for each target platform), the resource folder has been restructured to allow for per-platform dedicated resources, a Fallback Resources feature has been added (mainly for image resources), and right now a layer for hardware-accelerated (Stage3D) 2D rendering is being worked on (based on Starling but highly optimized and tailored for the engine).

I’m pushing intermediate builds live every now and then on the public repository but don’t hold too much onto them as they are usually already outdated the next day. It will probably go on like this until the v.1.1 “Centauri” milestone is reached in which the basic Entity System should be ready and some other systems are integrated (e.g. 2D rendering, audio system) to allow for the development of a demo game that can be used to showcase the engine’s abilities better.

With Adobe’s plans for the Flash platform to become a major player for game development (read Adobe’s roadmap here) these are indeed exciting times to build a versatile game engine for Flash and AIR.

Nov 152011

As you know, Adobe dropped the Flash Player for mobile platforms last week which caused a great uproar in the Flash community and in part in the wider technology community so I think it’s important to let you know where Tetragon is heading from now and what my thoughts are about the whole mess that Adobe has caused with their announcement.

The problem isn’t really that the mobile Flash Player was terminated, it’s the loss of trust in Adobe that comes with it. Adobe’s de facto monopoly claim on the Flash platform has always been a risk lurking at the horizon and now it has come close enough to bite us in the rear end. Adobe, keen on HTML5 like the rest of the internet committee, by now seems quite willing to throw Flash out of the window easily in exchange for jumping on the bandwagon of HTML5 hype. The signs that they are giving are quite clear. But have they asked the Flash programmers if we actually want to have Flash exchanged with HTML5. Of course they didn’t! All of a sudden some Flash devs seem to be strangely attracted by HTML5 and Javascript while others have a more exotic view toward the nature of the internet. I however have to be completely honest with you, I never will be attracted by HTML5 as a programming solution.

For the last ten years I have been a Flash developer, Flash made me learn programming, it made me learn OOP, then it made me learn to hate the Spaghetti coding of ActionScript 1 and love ActionScript 2 and then it made me learn to love ActionScript 3 a loathe ActionScript 2. Flash gave me easy access to learn a professional programming language for creating games. That’s what I always wanted to do. I learned to love ActionScript’s clean and typed syntax and it’s compact distribution form as compiled and compressed binaries. Flash and in particular AIR provided everything I ever wanted for game development, sans hardware 3D but we got that recently, too.

Now enter HTML5 and Javascript! It’s a bunch of untyped, loose and inconsistent stuff at best. It’s the most farthest away thing from a classic programming paradigm and it’s everything I never wanted to touch since I learned programming. With Javascript you get something that is at the level of ActionScript 1 without strong typing, loads of dynamic object access, no classes or packages and a clutter of files that lie around openly on your server. HTML isn’t even a programming language, it’s a markup that reminds me back in horror on the early days of the internet where there was an era during that I used this stuff. I don’t really care whether the code files are easily accessible and can be stolen, that can be done with Flash too. I just don’t like the awkwardness and fragmentation of HTML5′s and Javascript’s nature.

Instead, the reason why I love working with Flash is because of the clearness of ActionScript 3 and because it’s a brilliant write-once distribute anywhere multi-platform approach with a nicely compiled release format. You don’t get this with HTML5, nor with any other platform.

Another big deal is the Open-Sourcing of the Flex framework. Quite honestly I’m not sure what to make of this one. Flex for the web is clearly unsuitable by now. HTML5 is taking over the RIA world and I have no problem with it. The Flash platform isn’t accessible enough to provide well integrated apps on the web. It’s strength are clearly defined in other areas. But the Flex framework is a very attractive solution for building desktop and mobile apps via AIR and Adobe has added several mobile-optimized UI components to the framework just recently. The open-sourcing of the Flex framework in my opinion is far more concerning than the end of the Mobile Flash Player.

How will all this affect Tetragon? For now this doesn’t affect the development of Tetragon at all. The Desktop Flash Player is still with us and hopefully for quite a while longer. But it’s easy to see where Adobe is heading with this. They are following suit with the popularity of the HTML5 dictate and want to jump on the band-wagon as quick as possible. Collateral damage doesn’t seem to matter for them. Neither does it seem to matter for their CEOs and marketing managers that JS and HTML is one giant jumble of incoherent, unoptimzed mess that lacks any OOP structure and that no decent game developer on earth wants to code with.

After that we still have the AIR platform for desktop and mobile apps and as long as the AIR platform continues to exist there is absolutely nothing in the way of Tetragon’s development. AIR is extremely attractive for game developers who want to deploy to the desktop and mobile platforms with the same code base and that is clearly one of Tetragon’s goals. Time will tell how Adobe progresses with the AIR platform but I hope they don’t spoil that one too.

But what if Adobe messes up completely and kills AIR and with that the whole Flash platform (as stupid as this may seem)? In that case I guess for me it’s either time to step back from this all for a while and concentrate on some other game design- and game development-related things or concentrate wholly onto another technology like C#, C++, haXe or even Objective-C, maybe even Python. The problem however remains: None of these technologies provide an attractive and compact multi-platform solution like the Flash platform does.

There is one thing that I can guarantee you that is never going to happen: me starting to develop with HTML or Javascript.

Oct 282011

Just a quick note for anyone who is linking or following this website or it’s RSS feed … this site has now been moved to it’s official URL www.tetragonengine.com so I recommend to update your bookmarks.

A quick info on the development state of the engine in case you’re wondering why it’s so quiet over on the engine’s GIThub repository … Do not worry! The engine is under constant development, however the dev build is – for the time being – under private hosting. For one, this is because with this we have a trac coming along with it where we can more easily track issues, bugs and feature todos. And the second reason is that Eclipse’s Egit plugin is shaky at best when it comes to merging repository branches.

There’s still quite a bit of work ahead to get Centauri ready so please be patient, we’re working on it!

Jun 062011

I’ve just pushed to master the official release of Tetragon v.1.0.0 “Sol”. After many builds that were available in a ‘use at your own risk’-state, this release now marks the public availability of “Sol” which provides the fundamental basis of the Tetragon engine.

Keep in mind however that this is nonetheless beta software. Also, the 1.0.0 “Sol” milestone might not look like much is going on as there are no visual or aural marvels to except in this release. It might seem pretentious to call it a game engine at this current state but with “Sol” we’re now having a solid and flexible basis to move onwards with implementations that are more game-related and less boring than under-the-hood stuff like resource management or logging consoles.

With that said from now it’s on to implement some more exciting things like the Entity/Component system and I’m having an itch to start working on the audio engine and various data and entity definitions.

Get Tetragon v1.0.0 “Sol” here.

Mar 272011

Good news for anyone who is interested in the tetragon engine: the source code and continued development has been made public over at github and the source code can now be downloaded, forked and used as you please. The project files can be found on github at github.com/hexagonstar/tetragon and a live demo is available at labs.hexagonstar.com/tetragon (even though there’s not very much to see yet but you can play around with the console). Keep in mind however that there is no support for the engine yet so if you’re going to use the code you’re on your own.

So what’s tetragon anyway?

tetragon is a game engine intended for developing large-scale games for the Flash platform. Actually to be honest though right now calling tetragon a game engine is a bit of an exaggeration as there isn’t much game in the engine so far. But it’s going to come as the implementation for some game-related parts have already been started and it will from now on go more and more into this direction. Now I hear you ask if there isn’t any game code in it yet then what can tetragon do? Right now tetragon does a lot but most of it is ‘under the hood’ kind of stuff.

First of all the project is a true multi-platform-target setup. You are able to build release packages for web, desktop, Android and iOS all from the same code base. In fact the Ant builds that are part of the project will do that job for you at the click of a button. Then there is the resource management that allows you to load assets from embedded files, the filesystem and even from resource packs. The latter ones can be large, packed files that contain all your assets, similar like in many commercial games. Again the project setup will do the packaging of these for you. tetragon provides a comfortable debugging console incl. logging command line interpreter and an app monitor for keeping an eye on the FPS, memory etc. Plus there’s a lot more. I recommend to read the wiki at github to get an overview of all the features.

In the next couple of posts I will provide some guides on how to set up and build tetragon with FDT, Flash Builder and FlashDevelop.

Mar 062011

Here are two preview images of the tetragon engine which is currently under heavy development. The images show the logging console, the CLI and the FPS monitor and give a few hints about some of tetragon’s features that are to be expected. I don’t want to give away too much right now but tetragon will feature a comfortable logging and command console similar to the dev consoles found in many commercial games. It features carefree resource management, loading and unloading of media and data files from files on the harddisk or server and even from large resource zip archives> Then there’s screen management, etc. etc. More details in the near future.