I’ve been asked how I created the 3D effect in my upcoming game, so I thought I’d write up a little explanation without going into too much detail.
The most important thing are the tiles themselves. It’s a simple brick pattern. We only need the bricks on the edges of the tile, but they should be offset so opposite rows don’t line up. This will be important once we stack them. Also note the 1-pixel blue border around the edges of the tile. This will be the mortar between one layer and the one below it.
Now we create 3 layers of tiles, with a simple y-axis offset to simulate the height of the wall. The first and third layers are identical. But the trick here is to rotate the second layer so the bricks don’t line up and we get the alternating brick pattern. (This step is actually a lot more complicated and involves rotating, mirroring, and some other tricks. You may even want to consider a whole new set of tiles for the middle layer. But you get the general idea.)
I’ve recently started a new untitled project and I received a tremendous response from Reddit and Twitter so I’ve decided to start using my devlog again. Here is an early demo video of the game. The gameplay is pretty unique and this gives you a good idea of what it’s all about. I’ve had a lot of questions about technical details so I’ll get into some of that in my next post. Cheers!
Flatiron has been out for about a year now and I’ve gotten a bit of feedback. Due to personal matters, I haven’t been able to update the game until recently, but now I’ve finally started. Progress has been swift and very beneficial to the gameplay. Most of the changes are intended to address one primary issue – the game was so random, the player seemed to have no decision-making power.
In the future, I am planning on more frequent updates, which will add new power-ups, new enemies, or whatever.
Some of the more important improvements include:
Tap to shoot instead of swipe
Bombs are shootable
Simple combo system
Improved power-up system
Here’s a screenshot of the first boss – the Dreadnaught.
Here are a couple of quick gameplay gifs for Rosso. Still very much WIP, but it’s still nice to show some movement instead of stills all the time. The forest environment is very very much an early test.
Updates have been very sparse over the past few months, due in large part to having a baby! But I’m finally getting back into the groove of game-deving in my spare time.
My new project – a driving game code-named “Rosso” – continues progress. To prove that, here is a screenshot showing off some random color palettes:
In other news, I’ve also been developing a long-needed update to Flatiron. I’ve gotten primarily 2 complaints from players – the game lacks depth and the controls don’t work well. Both of those will be addressed in this update which I will talk about in a future post. Plus I’ve also improved a bunch of other little things.
Lastly, I have a third game project in the works, but that’s so early in development, it’s not worth going into any more detail. But I look to be very busy in the coming few months!
I’ve been working on developing the visual style. Here are a couple shots. Both of these use the exact same assets and all of the colors are generated dynamically in code and shaders. I’m also hoping to officially announce this project before too long…once I have some more details fleshed out and a final title.
I’ve added shadows to my game engine! OpenGL 2.0ES doesn’t support the standard method for shadows because you can’t access the depth buffer. So, my method basically requires packing the depth value into a vec4 and creating a regular texture buffer instead of a depth buffer.
Works great, but very expensive. It will almost certainly need to be disabled for anything below the iPhone5S. It seems the real expensive part isn’t drawing all the geometry twice. It’s the process of drawing it into a texture that is the real bottleneck.