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.
I worked on Graina during weekend to implement some of the changes suggested by folks here and here. No screenshots this time, since most of the changes are not visible.
Completely changed the control scheme. Left-click collects the grain and right-click drops the grains to the scene. You can switch the grain (i.e. water, sand) by using mouse sheel or the keyboard. If you try to get a grain that’s not selected currently, it also switches to that. Nah, you better play it to see it 🙂
Added the much-missed pause button. Hit space to pause.
Also checked the game as a windows .exe with NW.JS, it works flawlessly in fullscreen in windows! Yay!
Now I have 4 things to do before coming closer to a pre-alpha:
Add creative mode, where you can save the level and actually share with others or play as a puzzle level.
Optimize the renderer to spit more frames per second, also add support for textures instead of colors for the grains.
Add menu to the level for replay, quit, music, sounds, etc..
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.
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.
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.
The single biggest challenge I have when creating a game is creating decent graphics. Many of my games has halted or took way long time then necessary because of this single point. There are ofcourse some invaluable sources like this where you can find some decent visuals for free but to make a complete game with a consistent style is quite difficult. Yes, you can find a monster animation there and a tileset here but most of the time either they don’t fit to each other or the sizes don’t match, etc… In any case it requires lots of editing with Photoshop and the end result is nowhere near a pro-looking art.
On the other side, there is the possibility to hire a freelance artist and have your art done. But this is also a little bit tricky. Lacking a proper budget and a project planning (hallmarks of ameteur game dev), which are two key items to work with freelancers, the end results are far from satisfactory. At least this was my experience during the few cases I tried.
The Zombar and the Gorillas project were all stopped due to the same reasons. I make the prototype with some placeholder graphics, and when it comes to add the flavor, characters, effects, etc.. the graphics come to haunt me. Just thinking about how to handle the visuals is enough to drain my energy which leads to lethargy and things come to a grinding halt.
Now I decided to change my strategy completely. I’ll only focus on game ideas that could be implemented with minimum or no hand-drawn graphics at all. There are indeed plenty of titles that used this approach like geometry wars or the all-mighty Minecraft.
So the next game I’ll be working on is a falling sands type game. The need for art is absolutely minimal (other then some GUI perhaps) and the gameplay makes the real differance. There is already a modern take on falling sand named The Sandbox, which has still alot of hand-drwan graphics and nice visuals. But any case, it’s relatively nothing compared to many other titles with similar success.
So as a one-man programmer game dev, I’m starting a low-visuals diet. I’ll be posting the updates about my first game with this approach.