Archive: January, 2011

Top 10 Developer Questions and Answers

Along with the many beta signup requests I have received of late, I’ve also noted a few questions that should probably be answered and since replying to each individual case would take me away from the very important priority of actually completing the engine, I have decided to answer some of those questions here and I’ll be updating the FAQ page with this info later.

So away we go…

Q. Does your engine support only Isometric views or can I use flat 2D as well?
A. It supports both and you can even display both 2D and Isometric views at the same time in different viewports! Check out the platformer demo video on this site or youtube: http://www.isogenicengine.com/2010/12/03/update-platformer-demo-vid-with-box2d-physics/

Q. I want to write games for lots of browsers including IE6 and IE7…
A. Erm… no. Both IE6 and 7 are far too slow (javascript execution, DOM updates etc) to handle HTML-based real-time games. You’re not going to be able to target exceptionally rubbish browsers and even IE8 is pushing its little JS engine to the limit to run HTML games. Microsoft does not care about developers! I recently reported a bug that I submitted against IE9 and Microsoft closed it because (and I quote): “Bug report Read the rest of this entry »

 

Update: Real-Time Sprites Across the Network

As promised in my last post, I have something a little more exciting to show today.

I’ve finished the networking update I was coding and the results are rather cool. In the video below I demonstrate the networking system in the same way as my last video post, however there is one major difference.

On the left-hand side Chrome browser window you can see the editor cursor moving around, however I am not moving my cursor on the left window, I am moving it on the right! The editor cursor (basically just a white tile with some transparency) is actually a sprite that has been created with the sync flag set to true. This flag means that Read the rest of this entry »

 

Update: Dropping Mongoose Library in Favour of My Own Wrapper for MongoDB

I’ve been working on the database system for Isogenic and I’ve been playing around with LearnBoost’s Mongoose library to access MongoDB. Although I initially thought it would prove a lot easier to use their library I soon found myself rather frustrated by the way that the library does things like run queries. I guess there’s nothing really *wrong* with it, it just isn’t the way that I’m used to dealing with databases. After a couple of hours of fiddling I finally decided to write my own wrapper to the node-mongodb-native library.

My wrapper allows for a more traditional Read the rest of this entry »

 

Update: Networked Tile-Map Synchronisation Across Multiple Clients

I’ve uploaded another video to Youtube showing the latest update to the engine.

In this video you can see two web browsers connected to the same world area and the engine is in editor mode so that I can click and add tiles etc to the world. As each tile is added, it is instantly reflected on all the other clients so that everyone “sees” the same tile map. The tiles are also added with the “persistence” flag so they are written to the database and survive client reloads.

The networking code was completely re-written for this version of the engine and being able to synchronise world entities in real-time is something that this version has only just been able to achieve. Although some may remember version 0.0.2 having similar capabilities, this latest version (0.0.6) has vastly superior networking code both in readability and expandability.

Here’s the video!

 

Update: Networking Protocols & Margaritas!

Hi all,

I’ve been feverishly re-coding my engine’s networking protocol since it’s inception in version 0.0.2 and I’ve reached some significant milestones today at almost 1am UK time.

In version 0.0.2 (which feels like a lifetime ago) I wrote a protocol to make networking updates totally seamless so that a programmer using the engine could create an entity (such as a tile or object) and that entity would propagate instantly to all instances of the world area without any intervention (assuming that you turned on the sync flag!) and updates would be tracked and communicated to the server so that the dream of a real-time persistent world could be realised.

Since then and up to version 0.0.5, this protocol has stayed pretty much the same but as some of you will know, 0.0.6 was a major re-write of the engine to get it up to “professional” standards and to create a more logical, readable code base. Along with the rest of the engine, the networking system has recieved a major overhaul as well and as we approach version 0.1.0 (the first beta launch) the networking has taken up a lot of my time.

Networking is not something that you can just “slap into place” and requires a lot of planning and forethought to exectute correctly. I have drawn inspiration and expertise from many sources including my own meandering experience on the subject. I don’t profress to be a networking god but I understand most of the tricks that are pulled off by the big games like Halo so I figured that writing a JS networking system would be pretty simple… well boy was I wrong!

It’s taken me a lot longer than I anticipated but I’ve reached the point that the system now loads a designated world area, loads all the world assets (images etc), reads the map that is set to default for the world (worlds can have many maps), then loads all of the entities for that map into the game.

This is of course exactly what version 0.0.2 already did (and it did more too) but I feel I’ve made a lot of progress to bring the networking system up to speed with the rest of the engine development as we get ever closer to the beta launch.

Margaritas

My friends will know that my favourite cocktail is a Margarita – on the rocks, frozen, virgin, whatever, it’s my favourite and I’ve been drinking a gorgeous blend that I made myself earlier this evening. I’ve taken a pic so you can all enjoy it with me… sort of.

Happy New Year and may this year bring you fortune, happiness and prosperity for you and your family.

Rob

 

Happy New Year

Hi all,

Sorry I haven’t gotten around to answering your emails, comments and general beta questions recently. As many will probably understand I’ve been very busy with Christmas and New Year socialising and haven’t had much time to devote to Isogenic, however I’m back and on the case now so I’ll be replying ASAP.

Please don’t take offense if I take a while to get back to you. I haven’t lost your message, just need some time to process all the requests and messages I’ve received over the holiday period… there were A LOT!

Thanks also to everyone who has expressed an interest in the engine or offered their help. It’s great to see such a fantastic community starting to build around Isogenic and when I launch the beta I am sure we’ll all get to discuss our ideas and thoughts in the forum once I’ve set it up!

All the best, happy holidays and happy new year!

Rob