Sunday, February 9, 2014

Current Project: Coin Purse Isometric Engine

The current project I am focusing most of my time on, is an Isometric engine for a game idea in development we called "Project Coin Purse". The engine is geared towards a RPG tactics style play with smaller battle maps as the focus instead of larger world maps, though the engine can support some really impressive map sizes. The engine is programmed within the Game Maker: Studio software and is being designed to be user friendly as not only will we use this engine in our own games, but plan on releasing it as well to the Game Maker Community for there projects and hopefully see more isometric games out of it.

The current plan is not to charge for the resource but provide it for free. Though we have plans for a donation option that will come with exclusive tilesets for those who donate to the project to use on their own games or projects as well as direct support and help for the implementation and use of the engine in their games. None of this is in anyway final but a "planned" aspect.

Now on to what the Engine will feature!

Please note these are just SOME of the features planned and currently in place and some features will be improved upon as development continues.

Works off a standard grid making implementation and use extremely easy. The engine renders everything into Isometric projection maintaining proper depth between tiles.

Supports a huge range of tile sizes and shapes (as long as they are a factor of 2)

Supports large maps up to 300x300 with a max range of 500x500!

Supports animated tiles!

Map generation with various terrain tools such as Noise and Perlin Noise effects.

Generates a movement map based on the accessibility of each terrain block that can be used in the built in path movement or any custom algorithms.

Generates a shadow map to render low lying places and objects with a shadow to better help with depth.

Has support for water shaders including ripples and reflections***

Options for developers and players alike to tweak the mouse script when determining Isometric placement.

Saving and Loading of maps along side game randomly generated maps.

Scripts to let dev's easily drag and drop there content into the engine and it start working with minimal work.

many more to be listed soon...
*** this is a current feature of the engine and is planned to stay but can change

Current Progress:

Currently I am iterating through the terrain handling scripts to optimize them and make the engine run faster. I am also commenting many other functions for the release of GM:S 1.3 that add's in many new features that will be used for the engine. Yay for accessors!. Much of my free time is taking up refreshing myself with math /algebra/trig and researching different aspects of the engine such as water rendering, particle effects, shadows both static and dynamic. Gathering idea's and feedback on possible solutions and making small mockups and seeing what works and what doesn't.

The engine can currently generate flat maps apply a rough random noise or the user can manipulate the terrain and adjust the tiles themselves. There are options for smoothing out terrain using a basic implementation of a Perlin script to work through the tiles ad you can actually try out the early demo of the engine which I complied when I came across a really fun effect when constantly keep applying a smooth effect over the entire terrain. You can find that here: ProjectCoinPurse Early demo Simply click the left mouse button anywhere on the map to see the effects of the script. You can enable and disable this shockwave effect with the "enter" key and doing so can actually try out the engine by using left/right click of the mouse to raise and lower the terrain. Please note it wasn't meant to be a real test demo more a developers demo that was to good to keep to myself ;)

My goal is to make this as "all-in-one" as I can without going to specific in any one area. If someone wants to use it for either a tactics RPG or an over world map for a platformer,.I want to support a wide range of possible uses and make it's implementation easy. As we all know isometric is one of the harder games to program and develop and hopefully with this resource it will make it a tad more easier for anyone to make a basic Isometric game.

If you have any questions, suggestions, or comments please leave them here or email me! As I progress more on the engine, demo's will become available for testing, but for now all I can ask is you Subscribe and keep visiting the blog to keep up to date on it's progress.

No comments:

Post a Comment