Still working on the creative mode. Now on the desktop version you can save/load the created level to your computer and soon upload to a server.

Current work is to make an inventory system similar to creative inventory of Minecraft. Why Minecraft? Well, I guess Graina shares -some- features and that inventory system is simple and fitting enough for me also.

At the moment I nearly finished the inventory. No screenshots yet because everything looks soo awful. So screenshot will follow as soon as I can work on some -at least simple- graphics.

Graina (v0.07) – Sandy Business

Development of Graina continues and the core game mechanics begin to take shape. I made a very simple puzzle level using only sand as the interactable element and it’s really interesting that even with this you can still create a puzzle.

So I want to talk a little bit about how the game will shape up, what will be the theme and the core mechanics. Every thing is still mostly vague and can change in the future though.


I’m thinking to add 3 modes,

  • Creative: Where you have an infinite supply of all the elements and widgets in the game to play with. You can create pretty big worlds. The game engine is not limited in anyway but the processing power and therefore the FPS might become a problem for overly large worlds. At the moment the engine can handle a world like 2048×2048 grid and each grain is 4×4 pixels. This roughly translates to a “small” world in Terraria.
  • Story: Here you play through the levels, like Lemmings, to help the Gnomes reach safely to the exit door. In each level you have access to a limited number of tools, like the vacuum cleaner, the hammer, the pump. And you also have access to some grain containers like sand bucket, water barrel, lava lamp.
  • Design: This is like the creative mode but you can actually create puzzle levels. In the end, I can merge this with the creative mode, where you can save your creation to be played as a puzzle level.


So the current theme is based on Gnomes and their widgets that can manipulate the environment. For example you can suck the sand with a vacuum cleaner and store it in your sand bucket. In this case the player will assume the role of a “great gnome tinkerer” which should help the gnomes to continue their journey. Why the gnomes started this journey, where are they going and why are they so dumb they they fall into lava pits and so on are questions to be answered.

Core Game Mechanics

Core gameplay is a mixture of Lemmings combined with manipulation of the world like Terraria and having a dynamic environment like The Sandbox, falling sands or powder toy games.

There are different kinds of element that form the environment. Solids (sand, stone, glass, soil, gold) that fall down with gravity and pile up. Fixed solids that are uneffected from gravity and stay where they are (wall, steel, rock). Liquids that fall down and flow freely (water, lava, oil, acid). Gases that rise up (steam, smoke).

Player can get and put those in the game screen (how?, see below) and also these elements ract with each other. For example when water and lava meets, steam and stone forms.

The mechanics are related only to the story mode. Here I needed something to restrain the player from wrecking havoc on the level, so here is the solution I came up with:

At the moment I implemented on one tool, which is the vacuum cleaner. This can collect solid elements but you can’t collect liquids, gases or the fixed-solids.

In addition to the tools, there are containers for each element. For example, you can only collect sand, if you have a sand bucket. And if you collect and then pour some sand into the water, it will get wet, and you can’t collect it any more, if you don’t have a wet sand bucket (sounds silly, I know). Or you can’t collect water if you don’t have a water barrel.

Next Steps

I’ve made a deal with a freelancer artist using e-lance to bring some style and professionalism to the game. I’m also thinking about sound efects and the music but my extreme tight budget is limiting me.

For mechanics, I will implement three more tools to further enhance gameplay, that can manipulate the fixed-solids, liquids and the gases.

Changelog v0.07

  • Added containers for the elements. Containers show the amount of collected element.
  • Entry door now opens when you click, with a nice animation.
  • Buttons are working as radio-buttons now, when you click a tool or a container, others get deselected (pretty obvious behavior but was hard to implement)
  • Added a fancy particle engine to show wich grains are collected and where they are stored.
  • Changed the ugly looking wand to a not so-nice vacuum cleaner
  • Added a second level: Sandy Business, most porbably will serve as tutorial level in the future.



Grania Level 1, 40 secs of Gameplay

Video is sort-of self explanatory. Somehow I can’t stop myself drawing random tiles at the end of the videos, it’s just so much fun. Still can’t make a high-quality video 🙁

Changelog v0.06:

  • Implemented UI system (adaptation from an older game of mine)
  • Added first button which is the “Collectors Wand”. At the moment it just ereases but more to come
  • Gnomes now properly collide with fluids. Not jumping on them like solids but slowly sinking

Gnomes can take damage and go to gnomish heaven :)


Today I worked a bit more to implement some more game mechanics. Most significant addition is that Gnomes can now take damage from enviroment. In this level, if they step on the lava, it burns and then kills the poor gnome, sending his soul to the gnomish heaven. I’m too tired to post a video, but hopefully soon.

Changelog for v0.05:

  • Tile-aware collision to the gnomes so that they can interact with enviroment. i.e. Lava burns.
  • Tweaked the first level to make it less boring
  • Added some effects for burning of lava and angelic gnome (a.k.a dead gnome)
  • Added a reticle to show the tiles being manipulated
  • Sound effects for dying and damaged gnomes, plus exit door. Still as placeholders though.



First level, save the Gnomes from lava pits

It burnns!

Made a first level as a proof of concept. Here there is a small lava pond in the gnomes way and you need to open a hole in the walls to make it flow to the bottom.

Changelog for this update, v0.04:

  • Levels can have actual background art, not has to be plain back anymore.
  • Camera doesn’t go beyond the level boundaries.
  • Liquids and vapor (water, lava, steam, etc..) are now transparent.

Gnomes of Graina

So the game is shaping up. Inspired by this post on reddit, I added some Lemmings-like objective to the scene. Now in overall, you try to lead the poor gnomes to the safety by shaping the world with your “godly” powers. I’m not sure who are we playing actually, an old gnome-god or an all powerful gnome-wizard?

If there is anything you want to see in the game, feel free to comment 🙂

Today I added basic movement for our gnomes. They interact with the world, jumping over the grains and moving around. I also added a spawning door and an exit door to the scene. It actually is fun to play with. The addition of chracters to the game really increases the fun compared to a plain sandbox.

Here is a short gameplay video with a nice celtic music. In the next post, I’m planning to add an actual browser-playable version.


Graina meet Lemmings

It’s really helpful to make prototyping before actually starting to polish and optimize. A hard to learn lesson but of utmost importance for gamedev (yes, I’m feeling poetic).

Anyways, playing around with Graina, I noticed that it’s, erm, boring. Yes you have the sands and water and lava and other stuff but it becomes boring after a few minutes of play. Maybe this is the reason that the original game (Falling Sands) never made it big, like for example minecraft, I don’t know.

Now after a few hours of coding, I added a controlable character to the scene. I’ll either make smt. like a sandbox-platformer or sandbox Lemmings. And here are some screen shots (Couldn’t made a decent video on my MacBook Air, any tips?)

First we have the proverbial sandbox, then add some sand, some water and some guys. I managed to use the particles as a collision map thanks to the great impact engine I’m using easily. What I have is now running and jumping fellas in a completely dynamic particle-based are.


canvas1 canvas2 canvas3 canvas4