Category: Misc

Virgin Media Broadband Down

For anyone in the U.K. currently experiencing issues with their Virgin Media connection, I can confirm that both the Internet and Virgin’s own site are both offline.

Their support line 0844 496 8541 also appears to be having issues probably because of the high call volumes being received. If you are also experiencing these problems drop us a message below with your county / area and how bad the blackout is. Here in Norfolk it is intermittent with Skype disconnecting and reconnecting constantly.

 

 

 

 

Hosting, Engines and Flying Unicorns

OK, there aren’t any flying unicorns but we’ve been hard at work getting the hosting service up and running. I’d like to say a big thanks to our beta users who have taken time to provide bug reports and suggestions, and in particular Gaston Borrazas for his excellent help, contributions and patience.

Along with the hosting service we’ve also been making a LOT of updates to the engine. Some of them are purely cosmetic and some of them are seriously useful. Here’s one that’s both:

Coloured Console Logging with Stack Traces

As you can see from the screenshot below, outputs such as warnings now come with a full stack trace on both Node.js console output AND on the client-side browser console! It means you can track down your code issues really easily:

On the server console

Client-side console

 

 

That’s all for now, just a quick update since I’m busy busy busy!!

 

Rendering HTML + CSS to Canvas

One of the problems faced when creating a UI system for our engine that can be deployed on devices that use OpenGL as well as inside of a web browser is that the UI elements that are designed and placed via HTML and CSS have no way of being displayed on a pure OpenGL implementation.

With this in mind I have started to work on a system that can render HTML + CSS directly to a canvas tag so that you get an “image” version of a web page.

You can see an example of this working live here: http://www.isogenicengine.com/html-canvas/test/index.html (click “Render” on the right of the page to see the canvas version get generated).

On the left hand side are the HTML elements rendered using standard DIV tags and CSS stylings. On the right is a canvas that is rendering the same HTML + CSS except as canvas output. The result looks like this (the background colours of the HTML and canvas containers has been set differently so you can distinguish them apart):

Apart from a few minor differences the canvas version is almost identical to the HTML + CSS version. There are some obvious optimisations that can be made to bring the canvas version even closer to the HTML + CSS but for now, this is a good starting point.

The system currently supports:

  • Border settings for left, top, right, bottom including widths, colours and radius
  • Background colours
  • Background images
  • Element positions
  • Element dimensions
Further support can be added easily for stuff like:
  • z-index
  • opacity
  • text output
  • background repeat settings
  • border styles

Feel free to grab the code from the example page or download the archive here or grab a fork from our github repo here: https://github.com/coolbloke1324/html-to-canvas

To run the archive, make sure you are running from a webserver (it uses AJAX!) and then hit the page ./test/index.html

Oh, and if you like this, don’t forget to take 1 second and click the +1 right at the top of the page! :)

 

Just Finished the AskMDN Session

For those of you who missed it, we had the first AskMDN (Ask Mozilla Developer Network) Q&A session on HTML5 and JavaScript Game Development and Mozilla invited me to participate as an expert in web-based game engines. You can check out the questions and answers over on Twitter by looking up the hashtag #askmdn.

It was a great session and an awesome chance to meet some other experts in my field and reconnect with some whom I’ve already had a chance to chat with before. There were tons of questions and only an hour to write some answers. I think for any future sessions we all agreed that it should go on for much longer. Rob Hawkes (@robhawkes) who was managing the session from Mozilla’s side is going to put up the Q&A plus all the questions that we didn’t get time to respond to so perhaps we can go back and answer those in our own time via their blog.

For anyone who had questions and didn’t get an answer directly and would like to have a response, I am happy to answer any questions here if you care to ask them.

Thanks to Mozilla for organising the event and to my other co-experts who took their time to write some answers!

See you all at onGameStart this September!

 

Old Screenys of a 3D Game I Made a Long Time Ago

Hi all,

I was rummaging around in an old hard drive and found some old screenshots of a 3D space game I was writing years ago. Thought I’d share them with you so they are preserved for the future… I can look back in wonder at my terribly designed space stations lol.

P.S. if anyone wants the code I might be able to dig it up! LOL

 

Node.js Domain to Host:Port Router

Hi all,

I’ve created a router in Node.js that will take a domain mapping table and automatically route connections from the domain to the host and port specified by the mapping data.

This allows a single server to run multiple listeners on different ports and route different domain names to those ports.

Consider an example where you have a domain name with all sub-domains pointing to the same IP address via an A record such as *.isogenicengine.com => 50.16.209.235

Whenever we set up a new user account for hosting, our router can allow the user to select a new sub-domain and then we modify our configuration to map the new sub-domain to a Node.js instance that we’ve just fired up on a new port. The router automatically detects the change in configuration and loads the new data into the mapping table without closing any connections or restarting itself.

You can check out the router over at github or clone it: https://github.com/coolbloke1324/node-irrelon-router

If you like this project, Flattr it! http://bit.ly/qStA2P

 

jQuery Client-Side Language Translation Plugin

Hey all,

I’ve put together a jQuery plugin that allows client-side content translation based upon a phrasebook. This works instantly without having to call server-side code or use Google Translate (where results are variable and can take time to process).

Example page: http://www.isogenicengine.com/jquery-lang-js/

Obviously this is most useful if you know someone who can do the translations perfectly for you! If not you can still use Google Translate and enter the results it gives you. This way your users don’t ever have to wait for translations.

In my app, I save the user’s language so that I can deliver the exact language pack to them rather than making their browser download all of them. It means I can write all my content in English and it automatically changes based upon the user’s default language. Woohoo!

You can get the repo over here: https://github.com/coolbloke1324/jquery-lang-js

If you like it, Flattr it!

Flattr this

 

Why Developing with Chrome Kicks Bottom & Firefox Has Lost It’s Way

Lovin’ The ‘fox

As many of you will know I am a keen web developer and love to play with new technology. When Google Chrome first came out I was a bit hesitant to jump ship from my beloved Firefox to a brand new and pretty much untested platform for a number of reasons such as plugin availability, customisation, sheer love of the ‘fox etc. Firefox had it all, the swanky plugins that made my life easier like AdBlock, the awesome themes like Noia and best of all I could feel smug in the knowledge that other lesser web users were still “surfing” the net with crumby IE – so really they were “boogie-boarding in virus-ridden sewerage” at best.

Fast = Shiny and Nothing is as Shiny as Chrome

I cannot use the web without AdBlock because I *HATE ADVERTS THAT MUCH* so it wasn’t until Chrome started getting plugin support that I finally decided to check it out. There was this bare-bones browser window with none of my usual menus or buttons and my first reaction was “Hey, where’s all my stuff? I don’t like this!”. I think it was about version 4 that I started to use Chrome.

What drew me in and kept me using Chrome for browsing was the speed at which it launched and the speed at which websites were rendered in comparison to Firefox. They were fast, I mean REALLY fast. By comparison Firefox just seemed to get slower and slower. Starting up Firefox was becoming a long drawn-out process and on some computers I’ve seen it take so long you could actually make a cup of coffee whilst it loads. Whilst I doubt that in the coffee case it was actually Firefox that was causing the problem, Chrome did not suffer so badly even on that steaming heap of a computer.

I’m currently running a solid-state drive that actually uses RAM to store the HD content. This is used as my boot drive and a place to store frequent use apps (such as web-browsers). My drive C is only 32GB because that was all I could afford; at the time 32GB in 8x4GB sticks was about £1,500. This makes my drive C excessively fast. Even with this in place, Firefox still takes 2.5 seconds to load, whereas Chrome appears instantly (yes I mean blink-of-an-eye instant).

On top of this, it had all the great tools that developers need to write web applications like an element inspector and a JavaScript debugger mirroring the Firefox Firebug plugin in many ways. This leads me nicely onto the reason that Chrome out-does every other browser out there right now… the V8.

V8 Rules the World

V8 is like a dream-come-true for web developers. It is very fast, stable and super-easy to use. It makes stuff that used to crash IE (such as iterating through millions of array items) run so fast that it feels like you can finally spend more time coding to achieve something than you do trying to optimise it. Obviously we don’t live in a web-utopia where everyone is using the most up-to-date modern powerhouse browser so there still has to be some trade-off, but some polite reminders in each app you write informing your users that they are using a sucky browser really will go a long way to converting the millions of users still living in the browser dark ages. It is SHAMEFUL to see that the UK still has a 2.6% usage of IE6. Urrgh!

Most webdevs won’t ever look but V8 also has very cool capabilities under the hood that make it a fantastic choice for other JS-enabled apps. If you want to implement your own JavaScript driven application you can just create new JS methods that make calls right back to your native code and BAM you’ve got an app that anyone with web-skills can script in and that makes for some very interesting use cases! Imagine JS-driven robots where your JS scripts control IO from an IC… hmm.

Anyway back in the real world, V8 is used in lots of cool places outside of Chrome such as Node.js and the Android OS. Expect to see it popping up all over the place!

So Firefox Sucks Then?

Firefox DOES NOT SUCK. It is one of the greatest browsers ever made and the folks at Mozilla are truely the main reason why we have a functioning world-wide-web today. Imagine a web where apps were slow, where everything you did that you needed realtime response from had to be an ActiveX object, where Flash could crash and all your other browser windows would crash with it. That is how the web would be today if Mozilla hadn’t challenged Microsoft to put an end to their train-wreck of a browser.

BUT… much like IE, Firefox has become more bloated and slower over time which is a real shame. Honestly a lot of what Firefox offers is great but it seems that Chrome can do it WAY faster.

I know that Mozilla is reacting to this criticism and has committed to releasing faster iterations of their browser and I believe I read somewhere that they are working to make it load faster too. I hope they do! I started loving the web when Firefox came along, saw the movie, spread the word, even bought a T-Shirt but for now, Chrome is king.

 

Why In 10 Years Time, You’ll Write Nothing But JavaScript… and be Happy!

It’s no secret that Microsoft recently stirred up a bit of a storm in a teacup over their announcement that Windows 8 would use HTML and JavaScript to bring new home-screen apps to PCs everywhere. What was quite surprising was the uproar that occurred afterwards from the .NET camp. Read the rest of this entry »

 

Ha! Just Found an Old Game I Made…

Was quite amused to be browsing the net and find a video someone has made of playing a game I wrote for the iPhone a few years ago called iBacteria! Check out the video! – Looks like he’s got it on the easiest AI level though!