Throughout the month of July and first week of August I took part in “Make a game in a month”  Kurki Collective challenge called Game Factory.

Each member of Kurki Collective indie game developers group can volunteer to make a game within 30 days for a community voted topic.
I figured that I shall try myself against it since:

  • I decided to pause from ordinary game jamming which used to give me a creative boosts
  • my day job gamedev became a tad complicated (At that time I was in a team making a synchronous multiplayer fps game in a team of 8 people),
  • my longer side project “Light Sheppard” also needed a fresh view

Result was interesting – I made a game. However I am not 100% satisfied by final game version.

Community voted for theme “Destruction UP”. Here’s the final gameplay movie:

TL;DR version

What I made right?

  1. Game has nice visuals & style is consistent.
  2. It has all the features I planned, including music, sounds and a boss fight
  3. I’ve learnt to create Voxel models in Magica Voxel during the process of game creation
  4. I managed to code the game in a “smart” way using the code lessons I was given in the #gamedev company I used to work for since January.

What went wrong?

  1. Life went wrong 🙂
    The company I used to work for since February had decided that we needed to part our ways. I found another job shortly after but it sure distracted me slightly from the project.
  2. I haven’t thought the game design well at first and practically had to rebuild the game in the last week of Game Factory Challenge.
  3. I again focused too much at the graphics and therefore lost some time which I could spend on juicing the game up
  4. Frigging Summer and its awesome weather. You can’t code properly if it’s 30 degrees Celsius and you want to have a life 🙂
  5. Lets face it: the game is boring. It’s nothing original. It’s solid but lacks the twist and content.
  6. UX is not clear enough.

Lessons learnt

  1. Expect the unexpected.

    I haven’t planned to job seek during the project. You can find yourself in similar situation in the feature: your publisher can ran out of money; your computer can break down; you will be struck by some other random event. Just have a backup plan and never take anything for granted – even when everyone around you try to convince you it’s the contrary.
    Backup, always have backup plan.

  2. Design first, code second, create assets last. Always in that order.

    I lost 2 days trying to sculpt the Dune-like voxel worm. 2 days which I could spend on adding screen shakes, tweens, creating better VFX effects, code more interesting features.
    Moreover, instead of thinking the design through, I fixed myself on the SWIV-clone idea. I got trapped by my own mind.
    Instead of properly choosing features that would enforce the main theme “Destruction UP” I added stuff like a local cooperative mode, which I cut in the end as well.

  3. GameDev is a marathon. Plan ahead and stay focused.

    I got distracted by way too many things, then due to procrastination, I had to cranch to deliver the project. If I spent less on stupid things or actually took time to think things over cranch could be avoided. It’s way better to build when you maintain the work-life balance so that you dont have to juggle all the time erratically choosing whatever you need to do in that particular moment or lose sleep.

    > You’re living in a relationship? Be a good partner, help and spend time with your partner so that they will not suffer from you being obsessed “to deliver”
    > Sleep at least 8h. Your employer will be more happy if you come to work rested. You will be more relaxed and focused. You don’t need to stay up all night to “code that one more thing”
    > Fun is important but have some limits. Avoid distractions and FOCUS. Close that darn Facebook! Close the twitter! Close the friggin’ reddit! FOCUS! NOW!

  4. Coding is easier if you know at least some basic design patterns and algorithms

    There’s still a lot for me to learn but actually going back to the math basics and learning  OOP foundations, as well as design patters is a huge improvement. I almost want to puke when I remember how I used to code before march 2017. I don’t want to even remember the Unholy Showdown code….

Additional notes:

( for those 1% of rich people who have time)
  • Magica Voxel (free software to build voxel models) DOWNLOAD IT HERE is really straight forward. I can finally make something in 3D. It’s still a “programmers art” but the effect is interesting.
  • Get yourself a designer friend. A real life one. Talking with a bunch of friends online ain’t the same thing as a person who has some design experience and can give you feedback straight away. Piotr from my new workplace gave me a great tip to save the project. Without his feedback, the game would look like this

  • If you are not a versed GFX artist – get the assets from the Unity store. Seriously. Let everyone do what they do best.
    My spaceship model was a bunch of blocks. The spaceship made by my fiancee (GFX artist) looks like this:
    Definitely better than mine.
  • If you don’t know what to do with your life – learn to code. Best life choice ever. When I had to look for another job I found it after 2h.  TWO HOURS.  After I decided to take the current job I have to turn down offers on regular basis. Best job security feeling ever is knowing that if things go wacky – you will always be employable.BTW: here’s the CV that got me another job (not updated with current projects… but I am no longer job hunting. At least for now) LINK HERE
  • UX is critical: I got feedback that people had problems learning the distance. I’ve recorded some sound signals but they are not clear enough. I should focus more on telling player what to do. Maybe some Height Indicator on UI? Different camera angle? There is no easy answer.
  • Unity Physics sucks big time. I had to add custom forces to make the explosions look more real / interesting.
  • Shadows – pay attention to the lighting system. Specially when you use post processes and particle effects
  • Juice it or Lose it!