Voxels

I wanted my turn based strategy game to be a bit different so after a bit of searching around for ideas I thought I’d have a look at voxels. This gives me the chance to look at destructible environments and possibly do the artwork myself with MagicaVoxel.

There are some guys and girls out there producing some amazing stuff with voxels – see sir carma.

The first step was to knock something up quick with MagicaVoxel, import it in to unity and then see about destroying it. First thing I did was to just make a cube with a couple of colours and a different internal colour. I exported the object in obj format and took a look at it in Unity. I also imported a couple of example models supplied with MagicaVoxel so see what kind of scale I wanted.

I then bought MagicaVoxel Qubicle To Unity from the asset store which was nice and cheap (I’m broke but £5 to save me a days worth of work seemed like a good deal to me) and used it to create a prefab. This asset came with source code so I was able to see how it worked and make some changes. I noticed it created a brand new texture for the model based on the voxel colours used which I didnt want. Instead I wanted to use the texture colour map that MagicaVoxel used which is a 256×1 texture so I could use the same material for the objects or supply my own texture and specify UV mapping. Next I set about adding a couple of methods to hide voxels and rebuild the mesh. Then on collision with a bomb I remove some of the voxels within a radius. Performance seemed good once I pooled some cubes for an explosion effect. I was starting to like this…

I added island detection to check for voxels that are not connected to the ground so they could be removed which is useful for destroying walls. I had a small test scene where I could add walls or floor and wander round and throw a grenade to blow things up. Next I wanted to add a baddy which would explode on hit. This was my first real model in MagicaVoxel…

ghost

A Ghost in a 80’s Gauntlet style.

I put a couple of these on and changed the grenade to a bullet and shot them to pieces. From here I decided to mock the first level of Gauntlet so I could see how it was all going to look.

DON’T SHOOT THE FOOD!!!

No Key? No problem in voxel gauntlet.

I put a few posts on twitter just to show off my voxel work and although its just a simple prototype with poor visuals its proved to be quite popular.

Problem is I think I’m starting to like this a little too much myself and I’m swaying towards doing a Gauntlet style game with this :/

Path Finding

I had the jitters for a while there and nearly abandoned this project because I couldnt decide on a direction but I’m back to it.

I was looking at all kinds of things such as simultaneous player and AI movement and first person views but I couldn’t get anything to work well. The reason I was looking at first person was because I miss line of sight in xCom. I really like xcom but one thing I don’t like is the way line of sight works, or rather doesn’t. You just have to get in range and they pop up on screen or at least thats how it appears to work. This stops you from being able to creep up on things or have the enemy come up behind you which removes certain stealth elements. They’ve come up with a partial solution for this in xcom2 from what I’ve seen (not played it yet) but its not really what I was thinking for this project.

I made a recent purchase of Breach & Clear which is more where I think this project is heading (ie more human on human and not aliens). I was very impressed with the way it handles the turn based action in that you assign waypoints with look directions for all your characters and then hit play and you and the AI take a 5 second turn together.

This is the approach I’ve decided to take for my TBS. I’m using A* Pathfinding Project Pro as the basis for my path finding which I highly recommend. It comes with the source so I can make modifications if I need to but as I found out yesterday there is a learning curve.

I’m not using multi-threading for pathfinding as you only plan one unit at a time so that makes my changes a little easier. Previously I added a defensive calculation to the nodes so it knows when a tile gives you cover. Easy peasy. I’ve also added thin walls, so I don’t need to have a full tile unwalkable, I just disable the connection between the grid nodes. Again, pretty straight forward.

Yesterday I made a modification to add a second Penalty type to the Nodes which decreased on every movement. The idea behind this is that I can make a Unit go to a position and perform an action.

e.g. Say it takes 1 second to get to the position and 2 seconds to perform the action such as lock pick a door (3 seconds in total). Now another unit is 2 seconds from the door, the unit can move to the door, wait for one second and proceed through the open door (again 3 seconds). I know exactly how far the second unit can move because of the new penalty type. If a third unit is 4 seconds from the door the door will be open and no hold required. The whole point of this is to try and make the path finding as intuitive as possible and allow for more complex actions than is available in Breach & Clear.

While doing this I added a bug that caused Unity to crash at 11am and I didnt resolve the problem till 10.40pm. I got my maths a bit wrong here and kept blowing the allocated Heap for A* pro. Not the most productive day I’ve ever had but it was one of those things where I was too bloody stubborn to rip out my code and start again.

Anyway that appears to be working as planned now so I can get to using the hold penalty time to add hold points as well as reducing the total move distance. When that is done it should be a simple case of adding new actions to the project such as lock pick, blow door, climb ladders etc and path finding for action unit and other units should work together happily. Well, thats the plan.

Time for something new!

I’ve decided to try something a little different for my next game. I’m a bit fed up making the same old shit. That being small casual games like Jetpack Something and Ninja Pig in order to try and earn enough to make the next one.

The next one is going to be a Squad Turn Based Strategy in the same mould as xCom and its probably going to be PC/Mac before I even look at mobile. I’ve made a start on the basics which is a grid based path finding solution that can traverse different floors via ladders at the moment, allow for doors and windows in that you can go through them and a two action point system like xCom. Next step is either look at a see through wall shader or destructible environments.

Anyway here’s a screen shot of the prototype so far.

Screen Shot 2016-08-11 at 20.03.08

Playing with low poly terrain

Its been a while since I did any blog posts due to working tirelessly on tickityboom stuff but I did manage to have a play around with terrains and polyworld between xmas and new year. And here’s what I came up with.

Screen Shot 2016-01-11 at 12.30.11 Screen Shot 2016-01-11 at 12.30.51

Not great but a start. Used Snowify on the latter image which has had the effect of massively increasing my poly count but I like the effect.

Screen Shot 2016-01-11 at 12.47.02 Screen Shot 2016-01-11 at 12.48.15

And a couple withe weather and custom time of day.

Another Game another disappointing set of sales stats…

Warning: If you are easily offended by bad language I suggest to go elsewhere to read blogs.

Ok so I’ve been doing this shit for a while now and TBH I expected nothing but crap sales stats for my latest game Jetpack Something because I did zero marketing. And I wasn’t disappointed!

A couple of posts on some forums and a picture of the dog doesn’t really count as marketing.

Oh and when I say sales stats I mean Free downloads. Yes I can’t give fucking games away these days. Anyway the “sales” stats work out roughly as follows.

I make about £20 a month per 1000k downloads. I have four revenue streams where are iAds, Google Ads, In App Purchases, and Incentivised Ads with Unitys Everyplay. The break down is roughly as follows

  •  20% IAP
  • 10% iAds
  • 17% EveryPlay
  • 53% Google Ads.

So if I make 50k downloads then this will earn 1k a month. Sadly I don’t think thats going to happen unless I put it on to Android and frankly I can’t be arsed.

Why?

Well, with no comments on my forums posts other than the friendly devs on Unity forums and no reviews from anywhere in the world on the iOS platform and with only a couple of extra followers on twitter / Facebook (despite giving incentives for these activities) I’ve resigned myself to the fact that its probably not as good as I hoped it was going to turn out.

Thats the last two games I’ve put out under my own label that have bombed and its down to a couple of things. Firstly they probably weren’t that great. Not bad I think, but not great. And secondly they had absolutely no marketing whatsoever. I think an important question I’ve got to ask myself is would I download either of my last two games. Sadly the answer is NO! Not because they are shit, but because they just don’t do it for me.

I’m currently doing a lot of work for a different company so my time as Plastic Cow Games is very short but what time I can spare is going to be put towards creating something I can be proud of. Something I WOULD buy right now if it was available. And something I hope others are also going to buy. After all, if I wouldn’t play my games why should I expect anyone else too.

So what is it? Well here’s an early screen shot. Obviously it needs a lot of work ?

whatisit

In my best Aussie sex pest accent – Can you tell what it is yet ?

New tiles and object pooling(ish)

I worked out that to travel 1000km I would need to create a level that has 84 tiles and it would be nice to have a bit of variation so this week I’ve added quite a few new tiles. There is now two section types, Town and Farm plus a water section thats a useful milestone marker for the player. So far I have 15 individual farm tiles, 21 town tiles and a few odds and sods, add to that there are 4 special areas with more complex details that just to give a bit more variety. I may also be able to rotate these tiles 180 degrees which will double the variation.

As an optimisation I thought I’d try and have all the available tiles in the scene from the outset and place them behind the camera, then when one needs to be displayed I could just move it into position instead of instantiating a new tile every time.

When I tried the new farm tiles I ran into a bit of a problem. In the images below you can see some of the tiles I have created and there is a lot of duplication of models in some. e.g. crops, there are 3 different variations of crop in my model pack but I thought batching would help keep performance up.

NewTiles

When I ran the game on my iPad 3 I noticed slow down to almost 30 fps in certain areas so I went back to the unity editor and did some profiling. During these slow points I could see that the draw calls and batching shot up from the usual 50ish & 100ish to 200 & 220.

To get around this I wanted to combine the meshes. The asset store had a few solutions to choose from and I opted for the Mad Mesh Combiner and after a bit of fiddling I managed to combine the crops in to 2 meshes (one for the left side of the road and one on the right). Draw calls and batching are now roughly the same for my farm tiles as they are for my town tiles (50 & 60) and often less and when testing on the iPad I’m back up to a healthy 55-60fps throughout the farm section.

Oh and this is what the new tiles look like in-game too.

wip4_half

Jetpack Characters and Progress

Thanks to the Unity Asset Store I’ve found some great characters for Jetpack Something (Still a working title).

Jetpack_Half

An in-game screen shot:

Bob_Flying

Still many many things to do such as add more variety to the never ending map and as each model controls slightly differently due to physics I need to tweak each one so they play nicely. Currently having a few ugly collision problems too but I’ll come back to that later.

Anyway here’s a couple of old screen shots so you can see how far its come along thanks to the Asset Store.

Wip1_halfWip2_half

Marketing Time

Its time I pulled my finger out of my backside and did some marketing before I release another game that no body knows about (aka Ninja Pig). So as of today I have 24 twitter followers, 8 likes on Plastic Cow Games Facebook page, 104 likes on Moto-x-Racer Facebook page and 6 likes on Ninja Pig Facebook page. Not going too well at the moment.
So I’ve decided to release a screen shot (not quite) of my upcoming game which has a working title of Jetpack on to the Unity forums and twitter as seen below :)
Sneeky

Ok fair enough. Seeing as you have made the effort to visit, here is an early screen shot:
Jetpck1

Hello!

Who the hell am I?
My name is Simon and I’ve been making games for mobiles since 2004 but I’ve been making games as a hobby since 1983 when I got my first computer, a Commodore VIC-20. My first claim to fame was a feature the readers games section of Amiga Format (1997 I think).
England 66

When the amiga died and PC’s ruled I felt it was a little difficult for a bedroom programmer to compete but in 2004 I decided to give it another go in the mobile market.
My first game was called Dark Horde. It was written in J2ME and was crammed in to 58k but it didn’t quite set the world alight and for 6 month of work I was lucky if I made £1000:
DarkHorde

I then wrote Absorbed before teaming up with to make Arcade Pool and Dirt Racers before taking a break. I came back to game development in 2009 when the iPhone market exploded onto the scene. I quickly converted Absorbed to iPhone as a test case and found that the iPhone kicked ass and then teamed up with Mediatonic to make the fantastic Must.Eat.Birds for the iPhone. I stayed with Mediatonic for a while meeting some great people and helping to create some awesome games.
Since then I’ve gone on to release Moto-X-Racer and Ninja Pig with Plastic Cow Games and worked with Ladyshotgun to create another awesome game Buddha Finger.

I’m now using Unity3D for my mobile projects and have 3 prototypes on the go at the moment:
Think Stunt Car Racer on the Amiga:
Stunt

Sniper – take out the waves of enemies with only your trusty Sniper rifle:
No Screens yet.

Jetpack – Guide Poppy and friends as far as possible in this endless flier:
Sneeky
Hey, I don’t want to give too much away too soon 😉

NOTE: No animals were harmed in the making of any of these games or this blog.