BlueStudios Johns Blog

Its Just another WordPress weblog.. Really!

Archive for July, 2010

Blog:: Dolphins playing with bubble rings

  • Filed under: Blog
Jul 31,2010

Usually I`d put this on facebook but I thought it was too good and so thought I`d share it with the world.

Jul 29,2010

zz..zz I`m a bit tired to write much tonight; but I got excited when I came across this!

The Render Engine a MIT Open Source jQuery Games Engine.
Released only a couple days ago. The project was started last year by Brett Fattori..

And I have to say reviewing the source it looks good! Actually very good and way ahead in terms of development & documentation of the Simdraz engine..
All I can say is this guy has way too much spare time on his hands ;) And he wrote his first game in the same year as I was born! I feel like  junior now…

Anyways go check it out!
The only drawback that I have with this Engine is the game viewport is generated with canvas…
Not that it will be a bad thing in a couple years. Just canvas for me is slow now.

Great work Brett!

Jul 29,2010

Yes!! We are working on it!

Currently only Chrome and Safari from what I can see support websockets; but we are including this functionality. So; if you are using the AIR version of the Simdraz engine or a browser that supports websockets you won`t need to worry about AJAX request and polling even though AJAX is fast, it’s just not as fast as websockets and it also helps saves on bandwidth.

In theory less request & better performance :D

Jul 25,2010

Check this article out. ~
I`m always working on improving the Simdraz engine and this little thing looked awesome!

Although canvas still has someway to go for me before I would contemplate using it…

Think of making multiplayer classic gameboy engined games with chat!! ;)

Jul 16,2010

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.

Jul 11,2010

Oracle Open world is approaching fast and I`m still unsure if I can make it.. :(   fingers crossed I`ll be able to make this one with a few others from Ether Solutions. :D

And if so, I`ll be heading over to the apps lab team trying to get a sneak peak at the latest PS 3 installation they`ll have running and seeing  all the crazy fun stuff they get to work on that hasn’t been published or released outside of Oracle. There may even be a hackathon and if that’s happening you`ll see me working to tie in node.js withe Googles V8  engine to some custom WebCenter Tools I have in mind…

So… Air Desktop App running Sencha sending a request to node.js to interact with WebCenter to have instantaneous cross communicated links back to Air.. :)

What Is Node.js?

Nodejs returns light speed event event driven IO requests (.. .. ok not light speed but fast! ) with Javascript  that runs server-side on the  V8 Javascript engine.

I`m currently using it with the open source jQuery games engine; if you haven`t tried it out you have to stop what you are doing and give it a go.. It will change your life.


Jul 11,2010

So here`s a quick update on progress made.
Before if you can remember we showed you a small clip on navigating around the map and the village with a few trees dotted around.

Today I have a small clip showing you a new type of context menu we are working on..
It’s Still very early days so please excuse rough items we are still working from sketches.

We have randomised the village shape as before it was a large generated hexagon – now we can randomly generate all our island maps and villages.

We also have included a small resource ticker that will calculate if you have enough resources like wood to construct your selected buildings.
(You should see it bottom right of the screen. When I place the building down the ticker goes down and begins to count back up.)

We have included 3 temporary building examples – these buildings are just for demo purposes and we will not be using these in the final release – it is just there to help visualise the game. Lumbermill, Quarry and a mansion of different dimensions. As you can see when we place a building down it appears half built; we are working on the JS refresh timer to display complete constructed items, at the moment we have the building complete timer set to 15 seconds. If I was to refresh the page after the 15 seconds of placing the building you would see the construction has been completed.

We also have object detection in place so now you can no longer build on a tile that already has something on it until it is destroyed.

Hope you enjoy.

Jul 6,2010

Ok so 30 mins before I leave for the airport check this out! ;)

Jul 5,2010

Ok, so here it is my Chromeless Adobe AIR App Demo!

I wish I had more connections setup at the time of the demo.. But going on holiday tomorrow so little time to add connections and make a proper presentation..

But you can see the Sencha JS framework in action pulling the webcenter data from the REST API…

ok, you can`t see the app pulling the data but trust me its connecting authenticating and working!
User Credentials are hardcoded in the app -  future update will have login ability and ability to specify which webcenter server you want to connect to ;)

Jul 5,2010

air_logoSo recently I didn’t have much luck convincing the Oracle AppsLab Team to start creating Adobe AIR desktop applications for Webcenter Spaces :( The good news is however they are creating browser extensions which are just as good and not only for 1 browser. It looks like they have been working on Chrome, Safari and firefox!

I`m not sure if I can make OOW this year.. 50/50 I`ll be going but if any of you do go. Go check out the AppsLab team booth and see what great things they have been doing..

So your probably all going I don’t know flex, AIR is rubbish what’s the point its all flash. Flash is probably going to die in 4 years time or so unless they make something cool there is no point in looking at AIR.

Well I would agree on the above points.. But wait.. AIR supports CSS3 and HTML 5 using the Webkit engine and you don`t need to know any flash flex you can simply use html javascript. AIR works cross platform – smartphones, smartbooks, tablets, netbooks, and PCs – on Windows, Mac, Linux you just need the air engine running.  It also has other benefits  – The javascript engine is 50% faster! There is mass storage detection to synchronise your files like photos, mp3s etc – Support for local DB environment upto 1 TB on mySQLLite or you could use HTML5 offline storage!

So this weekend I set the challenge to go ahead and create my first AIR application for WebCenter connecting via ajax to the REST services.

It took me all weekend but it’s done!

So what monster did I create? Mwuhahahahahahaha!!

Well it’s nothing special  – I connected to the REST People Connections API to bring back all the user details I`m connected with. And to display the data I used the Sencha JS Framework formerly known as EXT JS. This allowed me to order display and find connections quickly. View Quick Demo

I`m really excited with whats happening with Sencha – they have joined forces with JQTouch expanding EXTs potential on touch devices; iphone, android, ipad you name it!! It all looking so good.. There just isn’t enough time to keep up with technology..