From Good to Awesom-ium

This has been quite a week! We FINALLY released alpha to a handful of people and it has been well received. Just over the course of a few days over two dozen bugs were uncovered (some already known) and half of them fixed. Between the bug fixes I began looking into moving the UI (User Interface) over into python. Why? I wanted to make all of the UI completely moddable and make it easy to add in new UI through mods. I had attempted this before and had problems getting the library I was using to be exposed. That was when I found something very shiny – Awesomium.

Awesomium is a full fledged “web UI bridge for native applications.” In other words, it is Google Chrome inside Crea. This was not the first time I had looked at Awesomium. I had considered it before for a previous project but had foolishly decided against it.This time I was no fool.

I have made the jump and I’m not looking back. I have been making great progress over this last week. This has been one of my most focused weeks – ever. I completely tore out the previous UI which I fortunately had the foresight to decouple from the rest of my engine as much as possible. Then I implemented Awesomium and got a prototype working surprisingly quickly. From then on I have been working on re-implementing Crea’s UI such as the menus, inventory, crafting and so on.

What does this all mean?

  • Crea UI will be 100% moddable
  • UI visuals and interaction is implemented in HTML5/CSS3/Javascript
  • UI interfacing with game logic is implemented in Python
  • Crea’s UI will be Awesome

For those web devs reading this, we have decided to use JQuery, Ember and Handlebars for templating and data binding the UI. You can also point your browser to a port on your localhost and you get full access to Google Chrome Developer Tools for the UI in the game. How awesome is that?

Screenshots coming soon!

Oh! I almost forgot I am doing regular livestreams now! Click for more details.

12 thoughts on “From Good to Awesom-ium

    1. Jasson Post author

      Sadly we are quite behind schedule. We’ll be making an official delay announcement soon. We want to make sure Crea is rock solid and that takes more work than we thought. It’ll be worth the wait!

      Reply
  1. Dimitri Travailloux

    Hello

    I pledged 50$ on your project and I don’t be put in the early access, why ?

    Can you check it please. I am exciting to start to help you.

    Best regards

    Reply
    1. mwchase

      That’s because early beta isn’t out yet. It’s still in Alpha. The public tracker indicates that early beta comes out in around a month.

      Reply
    2. Jasson Post author

      mwchase is correct. We have not started Early Beta yet. Alpha is only for a very select few (mostly close friends). Don’t worry we will be sure everyone who pledged for Early Beta will get it. Thanks for your excitement! :D

      Reply
  2. Aramis Xperia

    Hiya! I got Crea for the beta stage, and I just wanted to know if it’s possible to change it to Alpha by giving you guys more money… Thanks…

    Reply
      1. Jasson Post author

        Contact me on the forums through PM if you want to talk about doing Early Beta. We’re full for Alpha testers atm. :)

        Reply
  3. Pingback: Development Stride | Siege Games

  4. ztan

    I’ve also been playing with Awesomium to render HTML/browser as a texture in my Unity3D based project. I completIy agree, Awsomium is awesome. I very much like the idea of having a HTML5 based UI system too. This may be a dumb question but it’s not obvious to me.. Is the UI layer just one browser that’s a fullscreen overlay? If so how do you make parts of the overlay transparent? Or do you have seperate browsers for each UI component? (*gasp) Thanks in advance for the insight!

    Reply
    1. Jasson Post author

      Hey Ztan, I actually am doing the latter and have separate browsers. This is probably not the optimal solution but I honestly have not run into any issues with it so far. However, I have also made it possible to have transparent areas like you would have in a fullscreen overlay. How you can achieve this is save the bitmap buffer that you get from Awesomium to display a view. When you detect a click from the user you can check the bitmap buffer to see if the pixel the mouse is on is transparent or not. Here is my code. Feel free to ask any further questions. (http://pastebin.com/fDhuyqhA)

      Reply

Leave a Reply