• Home
  • Blog


Crumbling Towers Workflow

First of all - we've got gameplay video now!

Actually that one is kinda outdated now - couple implemented recently features are not there yet. But still shows a general idea about Crumbling Towers.

Also did some work on site not long ago - like, tracking specific blog tags or blog posts about specific game. Latter ones are also accessible from game info page. Though there's not a lot of content around, surfing felt kinda weird.
And with that I also present a new tag - "workflow". That's going to be something related to work done on current game. Can't say I'm a person that is good with posting on daily/weekly (well, definitely not daily) basis, but I'm working on that :). Actually there's a bunch of things I'd like to write about, but also a lot of stuff to do with game, balancing those is a bit tricky.

So, speaking of that stuff. After beta release we had to work on some reported issues, like lack of loading screen, confusing zero-life respawns and some minor bugs related to level design. And also we applied for participation at DevGAMM 2017 Moscow! Never been to any game conferences yet, must be an interesting experience. Had to take care of several issues and wrap things up to get a decent game build for this. Especially implementing GL ES 2.0 support right before deadline was kinda tricky. But it worked out, though I'm not happy about performance on devices that do not support ES 3.0. That was pretty much a reason we ditched ES 2.0, but I guess having an option is nice. Still not sure which would be better, playing with 20 fps in a pretty high-paced game or not being able to run it at all :).
Going for GL ES 2.0 also uncovered a couple issues. Some sounds refused to load up for unknown reason, and it was a different pack on each launch. android.media.SoundPool was just spitting out messages about failed loads followed by empty error descriptions. I blame memory issues, so now we need to care more about that, which is a pain with Java. No idea how to handle that without diving into NDK, so for now I rely on garbage collector magic :). Workaround for sounds was keeping track on failed-to-load sounds and trying to load those again later. Testing showed that it resolves within 30 seconds tops. Not happy about that hack but don't have other options yet. And that issue never occured for our devices, which do support ES 3.0. Again, who knows how that is related, but my guess would be a problem with memory handling.
Another one is from that type that feeds "Now idea how it worked before" memes. Happens to be that using GLES30.glBindFramebuffer(GLES30.GL_DRAW_FRAMEBUFFER, ...) with ES 2.0 instead of GLES30.GL_FRAMEBUFFER was a bad idea :). Still a lot of stuff to understand about all those OpenGL API's and constants...
Along with that we had to think about workarounds with specific requirement for one of the DevGAMM nominations - owning all IP rights, as music was done for us by Ninichi. So I had to learn a lot of new stuff related to composing. I've been into music for 15 years, I guess, but my knowledge about orchestral instruments and mixing those was almost blank :). Pretty sure there are still ways to go, but I'm kinda happy about the track I managed to create (the one in gameplay video atm). And learing music is fun! Though can be really time consuming, especially if the track you are fine with is, like, your 5th or 6th try and that is going on for several weeks while deadline is staring at you through its evil eyes..
So, we've got two tracks ready! I guess the dream of a track-per-theme is a bit closer now :).

Now to the new stuff! Said themes - finally implemented customizable variety of those. As for now that variety consists of tile color set, window colors, colors and intensity for whole pack of main, back and side lights, and kind-of-post-processing (not really post-, but looks like it) overlay colors. Second theme is still to be configured by Kx, as I don't rely on my sense of color, but here's a screenshot of what I did with that.

And there's also a new object - wooden ramps. They do add up a bit for a climp-directly-up places like shown above.

And one more feature to brag about, which also relied to themes - our external config. Now part of it looks like that:

theme.addWindowColor(2, "70fcd203", "70e7651a", 100);
theme.addTileColor("f0a08844", "f0ffd084", 110)
theme.addTileColor("f0ffffff", "f0a8a8a8", 150)
theme.addTileColor("f0ffffff", "f0a8a8a8", 150)
theme.setLightColor("main", "ffffff")
theme.setLightColor("back", "fbc76c")
theme.setLightColor("side", "A093D9")
theme.setLightADS("main", 0, 75, 85)
theme.setLightADS("back", 0, 50, 30)
theme.setLightADS("side", 0, 35, 10)
theme.setOverlayColor(0, "3b0800", "000018");
theme.setOverlayColor(1, "1b1b00", "00000a");

While prototyping some game ideas I was thinking about some system that would work for dialogues, quests and stuff. And being a programming geek I decided to write a kind-of-object-oriented scripting language that I could use to bring complicated dialogue trees together. Can't say I succeeded with dialogues (though they worked, but were still a mess to write and keep track on), but it worked out perfectly for script-based configs :). Nice to be able to tweak things without rebuilding everything, especially for non-programmers in a team. Probably not an issue with modern engines, but a bit of a pain for custom one.
And as a fun fact - that script do not actually need semicolons, but with my habit of putting those everywhere it was always failing to run. So I had to trunc all semicolons in script code :).

That's it for now. As we are done with second theme appearance we'll roll out an update for Crumbling Towers. Stay tuned!
by Ricane at 24.04.2017 05:13

Crumbling Towers gone Beta!

Game we've been working on for almost a year is now available to test out!

Crumbling Towers is a move-around-tower 3D vertical-scrolling platformer game. Simple one-touch controls are combined with challenging gameplay and difficult levels, and crumbling walls make everything even more tricky!

Lead the Knight through the journey to the top of the tower to find his dream. Collect magical crystals which give additional lifes and improve chance to win. And remember - height can be dangerous, so be careful not to fall!

Crumbling Towers Beta:
  • - Jumps, double-jumps and wall-jumps performed with simple touch
  • - Bright and colorful 3D-world
  • - 2 towers with 8 levels each
  • - Random set of 10 levels to try out after main towers are finished

Our thanks to Ninichi for working on soundtrack!

by Ricane at 01.04.2017 19:03

Amoeba released!

Amoeba has finally gone gold!

Somewhere deep under the seas little protozoa live their simple and colorful life. Inside various areas different populations emerge and sometimes become overcrowded. Try to keep their environment clean and suitable for new species!

Amoeba gameplay video

Get it at Googleplay!
by Ricane at 17.11.2014 13:11

The Grid tutorial

Still searching for the ways to make idea of The Grid: Disc Merger more understandable. And another tutorial is on the way, I guess the fifth type of it... So, here are a couple of videos:

Tutorial v1 - more fast

Tutorial v2 - more hints
by Ricane at 16.10.2014 17:24

Amoeba Soundtrack

Another round vs. soundtracks - now it is one for the Amoeba. Check it down there:
by Ricane at 11.10.2014 21:44

Colored Colonies released!

One thing there I forgot to mention. Colored Colonies gone on GooglePlay a while ago! It is a match-three tetris with protozoa set taken from Amoeba. If you like that kind of tetris - try ours!

by Ricane at 09.10.2014 12:23

Amoeba Gameplay

Was working on Amoeba shadow shaders for a while. Here is one of the results based on fragment shader (also some Amoeba gameplay there!).

by Ricane at 09.10.2014 12:17

Working on Amoeba

Amoeba is our first project since we started creating Android games. We have been working on it for nearly 2 years already, and it was just something to start with. Pretty simple and definitely not AAA type. So why the hell it is so long? Here are a couple of random thoughts about problems with developing our first game.

by Ricane at 02.10.2014 18:15

The Grid: Disc Merger is out!

The Grid: Disc Merger v1.01 is now available at Google Play!

It is a puzzle game with unique gameplay and many different levels around it. Launch colored discs from the edge lines and use merge points to change the disc trajectory. Launched disc merges with the ones of similar color and pushes others further till another obstacle. When merged disc becomes large enough it dissapears, and the goal is to clear out entire Grid.

  • - Sci-fi infographic scheme
  • - 100+ different levels
  • - 12 levels with hints and solution guides
  • - 3 level skips if current level is a bit hard
  • - Each level has "Gold Crown" moves condition
  • - 6 grid levels with random-generated disc layouts to chill out
  • - Runs on Android 3.0+

Try it out for free at Google Play!
by Ricane at 01.09.2014 12:53

Working on Soundtracks

Here are soundtracks for our upcoming game - The Grid: Disc Merger. Hope to get it released in first decade of September!

Ingame soundtrack:

Teaser soundtrack:
by Ricane at 08.08.2014 23:50