Thursday, June 20, 2019

Into hobbyst game development time planning and execution

Following release of Number+, I want to highlight some lessons learned and a new approach, tested on ground from myself that worked just fine.


About Number+



Main idea for this project was to build a turn based puzzle game, for mobile because some friends asked me to do it, so here we are!
I've done another mobile game for Android in the past (Catch the cat), but if that game was an experiment, my aim here is to build, test and deploy on google play store a free game, from beginning to the end.

Inspiration


I've been struggling on this point for some years now. At start game development (and programming in general) is overwheling. You try, something on screen is moving: so cool! But after a while (for me, but after a while some other people too I know personally and from internet), programming could be frustrating.
You can do basically everything.. so you can do nothing?
I think that is a path everyone has to follow: be overwhelmed, find a way, go over a struggle and grow as developer and more important as human being.

It's a path connected (and it's weird from my eyes!) to Diffusion of Innovations:



  1. a lot of expectations. I know how to program a videogame, cool! I can do next triple-A title or maybe an MMORPG!
  2. well.. this require a lot of time.. maybe I have to scale down my expectation a bit..
  3. okay.. I'm lost, why I've started this (my answer here) anyway ?
  4. So what to do ? Start a new project or go and watch a tv series ?

Realize this about inspiration could lead on more toughts: why I'm doing this, why wasting time, again ?


Design, scope and focus


One important lesson learned over years is to narrow scope and focus on what really is important to do.

For the concept I've started from awesome Card+1 made by Citron Curieux, ad worked backwards. Like I've said for Infiltration, I've put some effort on prior design and thinking before rushing to keyboard and programming. For this I'm adapting some concept learned from an awesome book Designing Games: a guide to engineering experience, from Tynan Sylvester.

In particular I've started with a simple paper&pen approach: draw a small sketch for the game, then list all mechanics in the game. This is an important step: just write them down, in any order, even small details.

After this first step, just organize them in a tree, where at root there is most important (and first thing to do!) mechanics: display all board's tiles.

After this is simple to add them one after one, to build a guide for development.


Click so see details, in gray optionals mechanics


Another key point is also to stay in focus: highlight mechanics that are core, ones without them there is no game. An example is when player touch the board: could game played without this ? No of course! But you can admit for example that use colors for different numbers is something less important, so not in the core list.

I think that this lessons highlighted from Tynan in his books (adapted of cource from project management, feature prioritization and planning!) MUST be followed and understood from any game developer, in particular hobbist or people that do something in spare time. If your time is limited, why waste it in small things that are not part of the core experience?


Handle feedback and stay focused (again)



My players are awesome: so many reviews, plays and more in general feedback on email, whatsup etc.. Stay organized here is the most important thing.

My solution here is to create a simple spreadsheet and record every interaction with all of my players,  after release 1.0.
This leads on two important conclusions:

  1. players like the game
  2. some players need a tutorial

 So instead of rushing and add new mechanics is simply stayed still an fix some bugs and add tutorial. This open up a new consideration: have a plan, but listen to people use your game or product!

A crucial lesson to learn as first as possible, if you want another people beside you use your game!


Conclusions


If you don't have too much time, but you want to do something, remember these things:

  • seek for inspiration, but don't waste too much time: act!
  • define a scope: limited is better
  • design your experience mechanics/features: don't overthink! Write them down, don't dream.
  • prioritize: use a tree as we seen to find a roadmap to follow
  • ask feedback and listen: listen, don't do your thing only
  • iterate and know when to stop: you decided scope, right ?

No comments:

Post a Comment