Perhaps a small update.

Although Glacial Flame did come to a halt due to available of time I have been rewriting the engine behind it over the last few months. It is set and built to contain all of the previous features and a few more as well as now being properly optimized and even more smooth.

The new aspects of the engine can be seen bellow.

Height maps have been added which can be easily toggled on and off.

When creating the initial ground layer you can perform the following:

ground_level.stack_tiles(height_map_layout,”5-ground-block.png”);

height_map_layout is the array containing the different heights for each tile and “5-ground-block.png” represents the image to use.

Engine now contains “simple” rotation where you can rotate around the world to view from 4 angles.

Of course, no isometric engine would be complete without gradual smooth zoom. Tiles are created larger than the set width and heights meaning the Canvas draw resizes. This means when zooming detail doesn’t become pixely. The drawing algorithm also takes into account for larger height tiles such as trees. The width and height proportions are set when the isometric object is created

ground_level = new isometric(context,50,25,ground_map_layout, ground_graphics,ground_dict,28);

50 and 25 being the proportions.

And then rotated when zoomed in.

 

With height map shadows toggled on. You’ll need to excuse the tiles that contain trees just now, currently the shadow function works out the start of the tile meaning it isn’t taking into accord for the height (yet).

 

Some other features contain:

objects_level.alpha_mouse_behind = 1; // Allows you to alpha the objects in front of the mouse pointer.

objects_level.hideGraphics(true,0,6,”7-normal.png”); // Allows you to mass replace a range of graphics with other tiles on the fly. Will be properly useful when you are outside of a building and obviously shouldn’t be able to see inside.

ground_level.setPosition(10,10); // Jump to point on the map

ground_level.draw_tiles = 28; // Number of tiles to draw in viewport

objects_level.align(“h-center”,706);

objects_level.align(“v-center”,425); // used for aligning your map to the centre of your canvas element (useful when in a small 4×4 room).

 

But yeah, there has been isometric work, just got to get on top of my  real work and university stuff first and then there will be more!

 

 

This entry was posted in About Glacial Flame, Canvas, Javascript, Technology, Tile World. Bookmark the permalink.

10 Responses to Perhaps a small update.

  1. adailton says:

    I think the best that has javascript engine on the internet, you are good ^ ^!

    I can make a request? make a tutorial approach with WebSockets “jwebsocket”

    excuse my english I’m from Brazil.

  2. This is awesome. Will you be sharing the source code at any point soon?

  3. Edward Smyth says:

    Hey,

    Our intention has always been to release the code, the main issue being we never quite got the code to a point where we were happy enough to release it properly.

    Myself and Iain have come back to glacialflame recently and are interested in finally finishing it off properly.

    In terms of extra tutorials I’d be happy to revisit websockets and will work on a more up to date tutorial

  4. Brad says:

    Dude, your blogs are amazing. I am doing a University project on this exact theme you have described! Every tutorial entry has helped me complete my project and I cannot wait for your game to be fully released so I can mess around with it, looks very promising.

  5. Brad says:

    Seeing as you know more about your code than I do. I have added a lot of features to my project on top of some of your tutorial work.

    How would I go about making the character move from tile to tile in a smooth motion? Rather than moving from one tile to the other tile instantly?

    I thought about creating a bit of code that adds a timed event on a key press until it reaches the new tile so it looks like the character tile is moving. But when it comes to multiplayer it will be a lot harder to implement.

    Any suggestions?

  6. Joe says:

    I keep checking back on this site to see if you guys have posted anything new (sorry for the quiet lurking). Do you still intend to release it? I would definitely contribute if you had a donation page with a source download. This would be the perfect engine for my Baldur’s Gate webversion (I want to make xml-scripts so users can contribute their own game scripts and mods).

    • Iain Hamilton says:

      Hey Joe,

      Thanks for having such interest! At this very moment I’m just finishing up the last couple of weeks of my uni masters classes in advanced computer science so it’s a proper painful time right now. Both Ed and myself talk quite frequently about picking this up ASAP and getting something out there and releasing the engine used. Currently though Ed is proper tied down with freelance work and I’m doing full-time freelance around full-time studying so it might be another few weeks yet before we can really get some time to focus on this.

      Believe me though when I say I actually cannot wait to have the time to start back up on this though, once this semester is over I have many plans and ideas to throw in and will definitely be getting some long sessions back into this!

      Your ideas sound great and hopefully once the engine is at a bit of a further on level we can provide the core elements to get you moving!

      Again many thanks for the interest, it boosts the enthusiasm to getting back on to this ASAP.

      Iain

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>