I haven’t quit my job or dropped out of college, but I create games and I’m happy about it.
Polską wersję tego tekstu możecie znaleźć tutaj.
Hi. My name is Tomasz Marciszewski. I’ve been programmer ever since I can remember. I’m a gamer even longer. For years I’ve been inventing various game ideas — some dumber than others. They all had one thing in common. They were only ideas — never implemented. In 2015 I’ve decided to change it.
I know how to code, but as it turned out, creating games is a subject a lot wider than creating another number cruncher for some bank. I’ve tested few game engines and finally stumbled upon Unity. Most engines have high entry barrier. Some have their own scripting language or need complicated configuration. Unity is different. It allows you to create project of any magnitude — from very simple 2D game to extremely advanced 3D simulation on level with AAA games. It can be coded with C#. That’s another obstacle removed for me. What’s also important — all of Unity projects are easily converted to PC, Android, iOS and other platforms.
Learning the ropes took few months, but at the beginning of 2016 I felt confident enough to start producing my first complete project. That’s how Boulders (https://play.google.com/store/apps/details?id=pl.progmatic.boulders) were created. Game drawn a lot from Boulder Dash, but overall gameplay, in my opinion, varied greatly from original. So I wouldn’t call it a clone. Boulders were another learning step. As you might imagine it was not a huge success. On Google Play it was downloaded a little over 1000 times. Aside from Play Store Chinese people turned out to be very active. Game was quickly copied to one of popular far-eastern sites hosting “pirated” APKs. Chinese downloaded Boulders over 5000 times and are playing it to this day, even though I haven’t updated it in quite a while.
It quickly turned out, that the hardest part of gamedev is not coding, creating graphics or 3D models. The hardest part is marketing. I’m not very exuberant. I don’t know how to brag and boast — that’s how I was raised. Suddenly I figured out that I need to show and describe even the smallest things I’m working on constantly. Just overcoming shyness was no small task. I started to publish materials from development of my game on Twitter and (sometimes) Reddit. Initially the interest was minimal, but in time other developers and players started to comment on my progress. My current approach to the topic is simple: show everything, even the tiniest changes. You’ve made new model — upload it. You’ve created new animation — show everyone. To this day I don’t know how to trigger massive interest. I hope, some day, I’ll make it.
Although Boulders weren’t huge success I was happy. I’ve learned A LOT. After short break I started working on a next project. My initial assumption was simple. Game must be controlled with one finger. Literally. I don’t mean only eliminating complicated gestures or buttons. The only allowed interaction must be touching the screen anywhere. Right now my favourite game genre is rogue-lite in all varieties and tastes. My first thought was: “I’ll create one-touch controlled rogue-lite”. It was a silly idea. Perhaps more experienced designers could pull it off. I’m not one of them. From my perspective the basis of rogue-lites is choice. It’s hard to make choices by only touching the screen. Some time later I stumbled upon awesome project named Reigns. It’s developers used swiping left and right (like Tinder or other similar apps), but I admire their creativity.
Anyway the idea of rogue-lite fell. There was a new concept — arcade game was a lot more suitable for simplified control schema. The most obvious reaction to tapping the screen is jumping. After few changes the game was named Crumpy Jump. Yeah. I’m not remarkably original. I know such titles as Shooty Skies, Crossy Road etc. but lets remember we are creating games not for ourselves but for the players. It’s good to be familiar. Structure of the title was determined by another aspect of my game. I’ve decided to leave 2D/Pixel Art graphics behind and try my hand at 3D. Creating super complicated 3D models is obviously out of the question for me… but there are voxels. It turned out, that my limited experience with pixel art enables me to create satisfactory, good looking blocky 3D models. What’s more interesting — users love them. Voxels are cute. Success? (!)
From word to word, the idea slowly clarified. The game is created for mobile devices. Character will jump from islet to islet. On some of the islets he/she will encounter Evil Things (traps, monsters, etc.). User can avoid those traps by double-tapping the screen. Simple. The game must have shocking number of characters who will move around in worlds specially created for them.
As a developer without spectacular success story I don’t have the budget. It means that for everything I do, I’m trying to use free software. At the beginning I was creating models in MagicaVoxel, but it turned out, when exporting, MagicaVoxel produces not very optimal output. Game was supposed to run on mobile devices and those don’t like to display tens of thousands of triangles. After some exploration I’ve discovered a new tool — Qubicle. Authoring tools in Cubicle are light-years ahead of those from MV, and generated models have at least 3–4 times less complicated geometry. There’s only one problem. Qubicle is not free. Initially I was using Steam trial — I didn’t want to invest in solution just to abandon it. But after few weeks there was no turning back. I had to dole out $75. You can’t argue with quality.
I was hacking happily at the code and cool graphics but there was one thing painfully missing — sounds. Simple sound effects — such as jumping, picking up coins, landing — I generated myself, after looooong session of trial and error, with BFXR. After some enhancements in Audacity it didn’t sound bad. A friend of mine — Marcin Marzewski — helped with more complicated ones. He is the author of sounds you can hear in character unlock scene. Friendly developers are invaluable. You can always count on factual, constructive criticism and sometimes they will even toss some juicy assets. Win!
The next problem was music. This one was not so easy to overcome. Despite multiple attempts I was not able to compose or create soundtrack. Period. I did not have the budget to pay someone more talented. Creative Commons to the rescue! I found fantastic composer on Reddit — Fabian Gremper. Fabian was cool enough to share some of his (awesome!) music with gamedev community. Both Boulders and Crumpy Jump are using his compositions. When I have any financing for my next project he is the first guy to get paid.
Creating Crumpy Jump took around six months. Working after hours is not as efficient as standard hours. There are often more important things to do than hacking out at your games. I don’t know… for example wife and kids are important. Despite the fact I still didn’t experience measurable success in games industry, I’m happy. I’m doing something interesting. I’m doing something for people. I’m doing something with people. It doesn’t matter I haven’t earned a single dollar on my creations (yet). For the moment the fun of doing it is the best reward.
You can see the fruits of my labor here:
If you wan’t to help you can vote on my game in Free Galaktus contest