Wow.. Is all I can say after watching Paul Bakaus of Dextrose discuss his chosen technology stack on the Aves Engine. [Great work guys!]
Download and watch the video here.
I started the Simdraz engine back in early September 2009 as a hobby with a colleague; at which time I had never heard of the Aves games engine until April time where I came across it from Ajaxian.
I had seen Vanthia early on in the year - which I was amazed with and thought‘ hey they seemed to of cracked it and created a great game with html, javascript I should give it a go; but lets create something different maybe a real time strategy?’
It’s been almost a year on since I started. And I`m smiling after watching Paul Bakaus presentation of the Simdraz engine.. Why? Well I`m not going crazy and my chosen stack is what other teams are using - Simdraz works on a similar stack of technologies and with only 2 developers I think we are doing pretty well. There are things we aren’t including like the pixel map canvas support, I just don`t feel we need it - but it`s awesome and one of the things I hadn’t thought of or known about - (Canvas has always been so slow, so I’ve never spent much time reading into it); but, I`m going to look into it in the future! All our interaction is tile not object based. So if you hover over a tile with a structure you are then interacting with that structure.
Another thing we don’t use is the google maps type patch generation of it’s map tileset. We just haven`t had a big performance hit on the amount of tiles we display and we have tried thousands without issue.
But we will be breaking down our world map into manageable quadrants to help reduce map size and load times. Screen resolution doesn’t matter we don`t use a fixed view port just like Aves.
So what technology stack do we use?
.
Lets start with the front end:: -
We are using the jQuery javascript framework and so far have had no need for jQuery UI but we may do in the future.
We are using html4 and CSS2.1 there hasn’t been a real push for us to move onto html 5 or CSS3. The way I see it is if we desperately need something in html 5 or CSS3 we can easily incorporate it, although one of the things I’m currently looking into is html 5 offline storage.
Browser support - well IE6 works and without any hacks! All latest browser FF, Chrome, Safari, Opera also appear to work without issue. We have had to change some functionality for the game engine in Opera but otherwise it’s all looking great.
We have also been playing with Adobe AIR and I believe we will be putting a package together to incorporate sound and improve speed through the webkit engine for our players who want added benefits and can install the game on their home computer whilst having the luxury to play the game at work from their browser.. .. Yes; I know you all play games at work.. I see you all on farmville & facebook all day when I go to get my coffees! Also benefit of AIR runs on any platform / OS you just need air installed on your computer, mobile phone, iPad type devise and you get our devised benefits plus javascript performs 50% faster on AIR. Mobile air is still in beta but when we release the game I`m sure AIR will be stable and ready for your platform.
As with ‘Civilisation V’ we have decided to go with the hexagon rather than the square to create our isometric view; it means a lot more design work but looks great and also very functional.
.
Now the Server side stuff:: -
We also are running node,js on V8 with the nginex webserver. We originally started with PHP until 2 months in, a colleague working on another project showed me the light.. And as Paul says javascript server side is awesome.. .. did he say that? well anyway it is! And the speed IO comms are just what we needed in our engine.
If node.js ever becomes it’s own webserver we will then jump onto it. But as everyone knows node.js still has a lot of security flaws.. Hey its new give it a break.. And the speed at which it runs I`m willing to give up php!! Although wiki, forums, blogs will all sit on php
Now, I think this is one difference we do have. Our database is NOSQL where as I believe Aves runs off a SQL derivative.. Could be wrong.
Why`d we choose NOSQL? Speed, flexibility, scaleability current node.js adapters to mysql aren’t that great in my opinion although dbslayer does a good job as a none blocking layer to mysql and returns pure json which is exactly what I believe node.js should have but still I wasn’t happy even though surely I have enough performance who cares about a couple miliseconds of blocking.. .. um well.. I do.. I want scalability and speed! Nope I was wrong.. Aves uses NOSQL aswell
So out of the 20 or so I had available I am risking it all on MongoDB!
It was a completely new world to me coming from a SQL background and there has been a lot of swearing headaches schema changes well not schema structure type changes.
At the moment I still feel it is the right choice although and with everything being none blocking super fast and returning json structured data I couldn’t of asked for anything better. Give Mongo a go.
I believe even the guys use it over on the hadron collider project
.
To Note about the Simdraz Engine and its developers:: -
Now one major thing you need to bear in mind - we are developing the Simdraz engine around the 2.5d environment as discussed in Pauls presentation. We have no plans nor the time to even think of making other types of engine compatibilities; so if you want a free open source games engine other than one for strategy then look at gameQuery or talk with the real experts who have the time, money and the right people working on the Aves Engine. Another thing to note, everything I know and develop with has been self taught I don’t claim to be a Guru with javascript, html, or css. I’ve been in the web industry for 11 years now and the only courses I have actually been on are Oracle related. I have worked in the games industry working for Jagex the makers of Runescape & FunOrb and a few other secret projects. And have worked heavily with UI both for the games industry and corp/government blue chip clients.
Other than that our engine is gonna be kickass… And I hope you all decide to make your games on our free platform
If you can draw and have a great story then Simdraz is for you - no need for you to learn how to code.

2 Responses for "Blog:: Aves Engine Tech Discussion and some info about the Simdraz Engine"
Good article, and thanks for the charming words!
We’re indeed using a light NoSQL setup as well as SQL is way too heavy. All JSON structures in the backend. And to the pixel map stuff, we’ve also got the basic tile detection going for older browsers and mobile (and for just different kind of games). Important to note that everything I did here is mostly also learning by doing
Looking forward to see the Simdraz Engine!
Cheers,
Paul
Thanks Paul; I hope you’re one of the first to jump on and try it out.
I’ve added you to the future list of people to pester and try out the engine
Feedback and suggestions are always welcomed!
Leave a reply