Teaching & Unemployment

In early May, I got back into Unity3D after a few months of hiatus (because of using Haxe to make webgames), in order to teach basic game development at a local tech community. Naturally, teaching being my first time, I fumbled through each class, learning as I go. Next week will be the last of the 8-week course.

crossychickenicon

I went into teaching with minimal materials. I predicted I would be able to quickly hack up a working Crossy Road game, then integrate it with Admob, Unity Ads, Google Play Services, and In-App Purchases. I wasn’t wrong — Cumulatively, I spent about 12 hours (6 weeks x 2 hours) implementing all that, excluding the preparation time.

The only problem was, students couldn’t keep up and were left behind early in week 3. It’s too late for them to catch up now, but I’ve provided all the necessary documentation and sample projects for their review. Hopefully this experience won’t deter them from game development.

What did I learn from all this? Preparation takes time. Students are always slow, no matter how simple the teaching material is — They need time to absorb and understand each new line of code before moving on.

The solution? Show them the steps, and let them try it out. Make sure everyone has tried out the step personally, before moving on. Personally guide them, even if I have to go to each student one-by-one. The drawback of this, though, is that classes are drawn out longer, and there’s a lot of lulls in between each step. At first, I thought this was awkward. But after personally attending a few classes to study other teacher’s methods, I realise that this is natural.

Preparing materials has also made me learn a few tricks about teaching too. For example, students can understand better if each new topic is presented in the following format:

  1. Preview
  2. Step-by-step instructions, with screenshots
  3. Review (i.e. show the preview again)

This allows students to know what they’re expected to do, so they won’t blindly follow instructions without knowing what’s the outcome. The step-by-step instructions with screenshots help as effective visual cue. It also helps if the screenshots come with comments or highlights.

crossychicken01

So here is the game that is out on the Google Play Store now — It’s not exactly balanced, but I demonstrated the core game with Ad and Play Services integration. The next update (coming up next week) will implement IAP. After that, I’ll upload the code on Github for everyone to study and learn from it.

I thoroughly enjoyed teaching, although I always felt anxious and nervous, afraid that whatever I teach is incorrect. Perhaps I’ll gain more confidence as I teach more often. Unfortunately, while I hope to continue teaching after this, I’m afraid I have been an indie gamedev for far too long.

It is time for me to seek employment. My savings have officially run dry. My 3-year period is up. My bootstrapped indie journey comes to an end. If anyone is looking to hire, I’m totally available — All my portfolio and links can be found on my Itch.io page.

Flappy Soot

So here’s the latest little game I made using Haxe/Kha/Wyngine. It took an accumulated time of a week at best, but I was occupied with a lot of other stuff in between, which resulted in about 2 weeks delay before I could finish and upload it.

flappysoot-1

Flappy Soot

Play the game here

I’m quite pleased with how smooth it feels. It almost feels as frustrating to the original game. I did all the graphics myself, studying the screenshots from the original Flappy Bird game.

Hopefully, for the next game, I can incorporate some sort of IAP feature to monetise on in-game items. But before that, I have to design the game well. Here’s to hoping I don’t burn out before then!

 

HTML5 games with Haxe/Kha/Wyngine

Over the past few months, I have been using Haxe/Kha with my custom Wyngine framework to make HTML5 games. I had been so occupied with getting the games to work, that I forgot to promote them anywhere. So here goes!

itchio-thumb

Pollen

Play the game here

This is the first game I made in Haxe/Kha. Originally, I used Kha without any frameworks, and experimented with various ways to make a game framework. One time I tried using KhaFlixel (which is now abandoned), and KhaPunk, but it felt bloated and I didn’t want to dive into someone else’s code and maintain it.

So I went through 5 different iterations of this same game, and eventually begun Wyngine.

itchio-thumb

Hurdles

Play the game here

Download from Google Play Store

After spending about one month on Pollen, I felt the urge to make another game to make sure I don’t end up with just one game forever. While making Hurdles, I improved Wyngine and added libraries for Kha, as noted in previous posts.

I ended up spending too long on this game too, which was about 2 months. The moment I tested the Admob/Unity libraries to work on Android target, and published it, I moved on to the next game.

itchio-thumb

Adventuroads

Play the game here

This is a simpler 2D version of Crossy Roads. Kha has had an ongoing problem with audio, and only recently in the latest commits did Robert Konrad fix the audio (halfway) for mobile web targets. As such, I finally added sound and BGM in this game.

I managed to finish this game in less than 2 weeks, but the progress was dragged out to early this month (May 2016) because I started looking for freelance jobs and alternative ways to earn money. I would have officially been in debt this month if it weren’t for my mom helping me out.

Next Game

I am almost done with my next game. It is a Flappy Bird clone, and it’s been two weeks despite the simplicity. Partly because I’ve been looking for jobs on Freelancer.com, seeking advice from mentors, and doing a side project for some pocket money (teaching basic Unity3D classes in a local community gathering).

All in all, gamedev is a very difficult lifestyle. I know now that I shouldn’t be taken in by the glorification of tech startups and indie gamedevs; for every successful game or person, there are hundreds if not thousands of failures in obscurity. I am probably going to end up disappearing one day, if I continue to make games without thinking of a way to sustain myself.

We shall see how next month goes. Hopefully I’ll still be around! 🙂

 

Random Knowledge

This was encountered in Kha, but I’m pretty sure it applies to any other framework, even outside Haxe:

tile_artefact

If images seem to produce artefacts when you’re tiling them, the solution could be to add a 1px padding at the edge of the tiles. Sure, it won’t look nice in your spritesheet, but this is my fix for it after banging my head on the desk for a few hours:

tile_noartefact

Kha Resource

In case you couldn’t tell, I’ve been using Kha since late December 2015, and it seems people have been picking it up as well, and writing samples/tutorials for it. Lewis Lepton has been doing a Youtube video series for basic Kha stuff, and I think it is excellent!

https://www.youtube.com/channel/UC8Wzk_R1GoPkPqLo-obU_kQ/videos

So yea, check it out. In the meantime, I’m supposed to be writing a quick tutorial series for using Wyngine, but I haven’t had the time for it yet. I’m sorry. Thank you for your patience, if you’re still waiting for it.