Game Development Community

"I'll be back" and here I am - Air Ace update too!

by Thomas \"Man of Ice\" Lund · 03/05/2006 (2:57 am) · 14 comments

Looong time ago (or so it seems) I ran into the stress wall, and had to drop everything to relax. Well - I'm up on my feet again. No need to dwelve too much into that, but the most important thing is that I'm back and alive.

One of the things I promised myself is that I do not want to work "alone" anymore. Being indie is hard enough on your own, and having a soul mate is essential for survival.

Mind you - I've been working with others on my projects. But none that really had the same indie mentality, and none that were coders/producers kind of people. Sparring about problems, issues and simply throwing a problem to your partner saying "I cant find the bug - help me" instead of having to do everything yourself. Always.

For the last 2 IGCs I've hung out with Phil Carlisle a lot, and we had a lot of discussions about everything. Well - we finally decided that its time to partner up! Phil is definitely a cool guy, and we share a lot of the same problems with artists, contractors as well as the same views on life.

So for the last month, I've been secretly working with Phil on getting Air Ace done.

My work so far has been to build a backend system - master server, auth server, community server. This work is now "complete" (is there ever such a thing) to a point where it can support initial alpha tests of Air Ace.

Main features:
* master server functionality compatible with stock TGE/TSE
* authentication of accounts
* pilots (the name for the player avatar)
* squadrons (the name for clans)
* buddy lists
* saving stats
* security mechanism to control game servers

System is build a bit like Battlefield 2, where you have "official" servers that are allowed to save statistics, while unofficial servers can (in this system) be allowed or disallowed. Disallowed servers simpy are not allowed to start up, and clients cannot join them.

From a technical side, the backend server system is a multithreaded java server that uses Hibernate to connect to any JDBC compatible database (MySQL, PostgreSQL, MS SQL, Oracle etc.). It has full transactional database support, so any error rolls back changes made. Meaning that its almost impossible to mess up the database due to errors.

On the client/game server side it uses the existing mechanism for talking with master servers. Its based on async UDP communication and script callbacks. Its 100% compatible with stock TGE/TSE, and requires very few engine changes.

And without much further talk, here are some screenies!

(Warning - I'm not a GUI artist. So its all coders art!!! Still to find someone who can make this all nice and shiney)

First up is the pilot page.

On the left is the buddy list, where your buddys show up. You can see their online status (offline, online, playing). If anyone is playing, you can simply press a button and you connect to the same server as your buddy!!

In the middle you change your pilot name, and see your current squadron membership in form of the insignia and name (here my current squadron is "Base Rapers").

On the right I can see all the squadrons I am member of, and can change which one is my currently active one.

www.codejar.com/airace/aabackend1.jpg

Next screenie is from the squadron page.

Left is a list of all squadrons. Right we have the name, tag and insignia. In the bottom there is a list of the squadron members, as well as their online status.

Squadron leaders can change the details of a squadron as well as invite/kick members from here.

www.codejar.com/airace/aabackend2.jpg
Last image this time is a screenie of the server. Instead of taking a screenshot of the Linux console (a bit boring), here its running inside IDEA. In the bottom the server is showing what requests it has processed.

Not much more to tell about it now. Its very very very easy to expand with new request/response commands, and picking Java as the backend language has paid of 1000 times already. Ultra stable, threaded, simple to code and fantastic database abstration through Hibernate. All exceptions are caught and will (very soon) be emailed to me for bugtracking. Since Java doesnt have problems with buffer overflows and similar, its also very safe.

www.codejar.com/airace/aabackend3.gif
Initial support for webpages are also under construction. They are so ugly, that I didnt want to post any screenies of it. But each player will have his personal webpage for tracking statistics and managing his profile from a browser (in addition to the ingame GUIs). Administration of the backend server is also done through a webpage.

With the backend "done" for now, I'm moving into helping with the actual game. Soon we will have it ready for internal alpha testing, and its shaping up nicely!!

We also have some announcements very soon that are totally awesome. Watch Phils plans for more info!

Thats it for now!!

-----

Oh - on a totally unrelated note. My project until now was Steel Sentinels - an arcade ship game. Its been mothballed for now, but I'm using art and code bits in Air Ace. I've promised myself to only work on one game/project at a time. And Air Ace has a much more promising future. But who knows what will happen ;-)

My Steel Sentinels partner Brian Wells has also gone MIA. If he is reading this or anyone knows where he is - please buzz me. I've been trying to reach him by any means, but he has gone totally offline since early December!! Where are you!!!???!?!??!

#1
03/05/2006 (3:25 am)
Sweet!
#2
03/05/2006 (3:49 am)
Nice stuff. I hope AA takes off (no pun intended) for you and Phil!
#3
03/05/2006 (7:20 am)
OMG thats awesome! nice work :) such a master server would also be a nice resource or commercial pack... exactly what we need also for our project^^
#4
03/05/2006 (9:13 am)
nice Job, good to see work continue on Air Ace.
#5
03/05/2006 (9:37 am)
Welcome back Thomas!

-Tim
#6
03/05/2006 (9:45 am)
Hey what tool is that? Something custom you guys wrote??

BTW I am sure you guys know this but yesterday was the 70th an for 1st flight of the Spitfire.
#7
03/05/2006 (9:56 am)
Wow that back end stuff is awesome!
#8
03/05/2006 (1:42 pm)
Thanks guys.

Once the backend is done, it might be set up as a commercial pack in some form. For now its for Air Ace only until its battle hardened. Code is very clean and coded with reuse in mind, so it should be really easy to wrap it up in a pack.

Lets see :-)
#9
03/06/2006 (10:38 am)
Man o Man I've been longing for a good Air Combat Game. This looks more and more like "the one"!

I love those screens! So simple and elegant.
#10
03/20/2006 (11:48 am)
Wow, nice work Thomas. I really hope you release it as a commercial resource, we could really use that for Metal Drift. Does it run just on Linux, or can it run on Windows as well?

Good luck on AA, Phil's been dying to announce the uhh, announcement, can't wait to hear what it is!
#11
03/20/2006 (1:06 pm)
Hey Brian

Runs on everything - still battle hardening the code with air ace as test subject. Finding things here and there, but in general it works as expected :-)
#12
03/04/2007 (7:00 pm)
Hey, was the master server ever made into a commercial resource?
#13
03/04/2007 (11:04 pm)
Hi Weston

Yes and no! It has been cleaned up, refactored a bit (to allow clustering of the backend) and its now in use on 2 internal non-released games. The updater part + the launcher client has been tested and is released in Determinance.

(Its way more than a master server BTW. That part could maybe be taken out and made into a stand alone product, but the architecture would not be optimal for it then)

So its quite finished and hardened, but still missing a few pieces like a nice admin client (one has to manipulate the database directly for now).

On the other hand, GG chose to run with Josh Ritters MMO platform it seems. So if there is ever going to be a commercial pack out of this on GG, I dont know. I am thinking hard about selling this as a service. Maybe a product that I sell on my own.

Dont know how big the market would be for this
#14
11/17/2007 (2:15 am)
Hi , is there a way to have access to steel sentinel???
Thanks