Archive by Author

Digital Dragons 2014

It was third Digital Dragons edition. I was on all of them, second time as an indie. It was the best Digital Dragons, hands down. Why? Basically, no errors have been made. This is my attempt at quite detailed coverage. Also it’s reminder for myself, do’s and dont’s for next events, lessons learned and maybe some good tips for others.

I came with special build of Ninja Cat and Zombie Dinosaurs PowerPack – new dinosaur (Archeopteryx), new powerup (dynamite), first equipment (spiders), some bugfixes, and all the things prepared in Pixel Heaven version (new ninja cat, vignette in underground, color mapping in water, blood stains on screen when player damaged, yada yada). I was hoping for finding someone who will help me with distributing the PowerPack electronically, so that players can buy it. Also I wanted to promote the game further across player and dev community.

First day

Indies were put in two long rows of tables, in the center of the main event hall. There were around 30 indie teams, from one-man-army doing things after work (The Miners), to 5-10 people teams with external investor (Gloria Victis). Each indie had one table to present game – not a lot of place, so things were crowded. We had electricity plugs underneath, and internet in the air.

ja i Martyna

My girlfriend Martyna, was helping me with booth. Without her help my throat at the end of the day would be like black metal singer. I would be grumpier than many cats, for answering the same questions (“will it be available for mobiiiile?”) and introducing game mechanics over and over again (I hate repeating myself). And I wouldn’t be able to attend any lectures or play other indie games. Thank you darling! I think that having at least 2 people at fairs is a must. I saw few other indies were alone, and I know from experience that it’s not good. Pro tip: try at least to Read More…

PowerPack status


I ordered mugs…

powerpack mugs


powerpack tshirts

Posters, stickers, bookmarks…
Read More…

Ninja Cat social additions

Recently I’ve been very busy with making a “social version” of Ninja Cat for Sense Lang. Sense Lang is a typing portal, teaching people how to type faster. They have also typing games, and we cooperate for a long time now, ie. you can play special version of Ninja Cat there.

So, after half a year, today (18.6.2014) I finally finished the project and you can play Ninja Cat with social additions here!

What exactly is changed?

Base additions

First, there is a option to login using social portal (currently Facebook and Twitter) – directly inside game. Thanks to that, you can see your picture next to health bar, and be able to save scores to highscore ladder… which is also displayed directly inside game. This is rather unique feature.



Challenges work like this: you select a level and your friend, you play the game, then your score is sent in a invitation to your friend, who can play the same level and try to beat your score. You are informed whether he did it or not, and you both can see your stats (points, accuracy, dinos killed).

That’s pretty cool feature, we predict it can add a lot of fun to game. It will be released in few days also on Sense Lang… and whole internet.… it’s live already, for whole internet. That’s because Read More…

Uuk – word managing tool for Ninja Cat PowerPack

Since sunday I’ve been working on a tool to help me in managing the files with list of words… because I’ve made another change for PowerPack, that is – introduced maturity levels. I called the tool Uuk, which is a name of organgutan librarian in Discworld. Yesterday Uuk reached level at which it can be shown outside, and so I made short video presenting it. Tadam!

It’s a AIR application, which uses minimalcomps for UI. I was timing the implementation, so I know it took me exactly 14h and 23 minutes to make it at this stage.

Why I needed such tool is briefly explained and demonstrated at beginning of above video. Btw, sorry for the bad quality… currently I’d rather work on PowerPack than spend even 3 hours making polished video.

What Uuk allows me to do:
+ easy filter/search for words, in all maturity levels (or a combination of them)
+ add, edit and remove words
+ quickly move words between maturity levels
+ is operated using mouse and keyboard shortcuts
+ autosave of changed words
+ log of changes during program run

What is left to code:
- “show exactly this word” (currently every word search is implicitely *wildcard*)
- case sensitive filtering
- search for duplicates
- full changelog appended to file
- tag support
- multiple languages support (target for future polish version of Ninja Cat)

Except the last two points, all should be quick and easy additions.

KrakJam 2014

For me, end of January is intrinsically connected with Global Game Jam initiative. First I was organising KrakJam’s (local edition of ggj), but after 2 editions I had enough and Maciek Siwek, friend from Shader (student’s organisation of gamedev) took it over. Because of that I was able to start participating, and this year I also had to take part.

Overall that was my 5th KrakJam, and 3rd in which I jammed. The event took place at Krakowski Park Technologiczny, and broke record Read More…

Keyboard shortcuts info in debug builds – IMGUI style

I want to share a little discovery, a trick easing the creation and development of games. First a short motivational and historical introduction.

Case study

I don’t know if you have it too, but when I’m creating a game, I often add to it a lot of keyboard shortcuts – even a few dozens. Player avatar, enemies, map, camera, physics, rules etc. Shortcuts use normal letters, digits, F keys, special keys (tab, home, backspace), and their combinations with ctrl, shift, alt. Sometimes it’s hard to figure out what is available and what does what.

Especially I had problem with that in Ninja Cat, where shortcut availability depended on compilation mode (CONFIG:: variables, you can treat them like #defines) – debug+editor had all of them, debug without editor had a part of that, editor without debug had yet another part etc. It was very useful, because sometimes having too much shortcuts and special keys was bad – ie. during testing, when pressing some keys would change gameplay.

But I didn’t want to have it as binary – either all, or none. Sometimes the ability to intervene meant beaing able to catch a bug on the hot spot (perhaps Heisenbug?), and do something about it. So it was nice having it at such a granular level (debug/release, editor, deploy, profile). The disadvantage was that often I forgot what the actual shortctus were, what could I do at this moment. I was pressing shortcuts and they didn’t work, or I was forgeting about some magic functionality, hidden in not so visible code places.


Ok, now I’ll explain how to fix this situation. The easiest is to just display a list of all shortcuts, upon pressing some key like F1 or H(elp). But nobody would be able to create such list and maintain it over time. Also, having one huge list of shortcuts when you have only let’s say, a third of them, is not that really helpful. The solution? Do it in a automated way.
Read More…

Crowdfunding Success!

Yesterday at midnight the Ninja Cat and Zombie Dinosaurs PowerPack project has finished with whooping 130% funding rate from 50 people, collecting almost 3k zlotys! How is this possible, in spite of its problems at beginning?

One of the facts was that the CD Action, biggest polish player magazine, has backed PowerPack and became patron of the game.

The second thing is that the material status has changed, and extension won’t be available online f2p for everyone. At beginning it was meant to be like that, then I changed it for a one month exlusivity period, finally it became forever. So supporting project on was the only chance to get and play PowerPack, which made supporting the project much more sensible option. In the future most likely I’ll be selling the game through digital distribution, but the price is unknown, and for sure there won’t be so many nice bonuses.

Agata the Ninja Cat

There was also an awful lot of promotion. Really, almost all big polish internet game portals have written very positive news about PowerPack crowdfunding; some even few times. Also Krzysztof Gonciarz, PowerPack ambassador has helped a lot. Thanks goes also to for their huge help, and Artifex Mundi for giving out games in combination with mine.

I’ll be preparing a postmortem from this project, because I made many errors and have learned a LOT. Now, I’m finally back to developer work, and in the meantime will be printing the gadgets and sending them to backers.

Ninja Cat PowerPack

EDIT: long story short, here’s epic video which explains everything about game, PowerPack and life. What’s best, it has cats in it!

I’ve been working on it almost a week, with video recording and editing. It has english subtitles so click boldly.

Few days ago I’ve released a crowdfunding project for PowerPack to Ninja Cat. By doing this I want to significantly improve the game. I love it very much, got good reactions from players and game press alike, so it looks like a sensible thing to do :)

PowerPack logo

Here’s the list of new features that I want to add in PowerPack: Read More…

Config::Toggle plugin for FlashDevelop

I am using FlashDevelop to code in AS3. It’s stable, quite feature complete and very lightweight – using it to develop Ninja Cat was pleasure. During that time I learned that it’s possible to create conditional compilation constants, so you can selectively include some pieces of code. Sounds complicated, but it’s just a simplified version of #ifdef macrodefinitions from C language. It’s a simple way of creating traditional debug/release versions of game, but you can also extend it to editor/stats/ads/portal specific versions.


Unfortunately editing those constants in FlashDevelop is time and labour intensive. If you want to change the value of some of your project compiler constants, you have to:

  1. click mouse on Project->Properties, or better press ctrl+P
  2. click mouse on the last tab Compiler options
  3. click again on the small plus next to Compiler constants
  4. click on the chosen CONFIG, backspace a few times, write the new value
  5. because enter doesn’t close the dialog, grab the mouse again and click OK

Now if you forgot to change also some other constant, you have to do the same again. And it’s pretty much the same if you want to check what’s the value of one of those constants.

FlashDevelop compilation constants

Seems like a lot of time? It is, especially if you’ve based the configuration of your project on those CONFIGs, you’re using them all day long, testing different builds. And in my case (probably not only in mine) that’s what’s happening – because they’re incredibly useful, allow to quickly change the build of the app in a fundamental way, in an mutually independent way.

… (read about the solution)

Level editor design in Ninja Cat, part 1 – inner workings

I’d like to share some of the design concepts applied, and lessons that I learned, while creating and using in-game editor in Ninja Cat. I like reading about how other developers make games, their stories from the trenches – it inspires me, gives knowledge and allows learning on others errors :-P So here is my story for you – how the Ninja Cat editor works, what’s the reasoning behind some of its concepts, and what proved to be good, bad or ugly.

At start, I want to explain how levels look like, so that it will be easier to communicate. It will be rather complete list of all possibilities, because of what I’ve stated – I like reading gory, low level details and think it’s very informative.

How does it work?

When the game is built with editor support (which can be checked using CONFIG::editor directive in AS3), press TAB during game. Then the game gets paused and editor UI appears, as visible on screen.

The editor has 3 modes, changed by pressing 1-2-3 number keys (or clicking on the menu captions on left). I will refer to controls visible in top left corner as main menu.

… (read the rest of article)