Return to site

Weekly  Tech Talk: Engineering at Finer Games 

by Tim Riley

Finer Games

It was an intimate and in-depth conversation with Tim Riley on his experience as a game developer. We looked at the Unity code of some of his current projects, his philosophy on game development and his recommendations for developing new games. After the talk, we did the roll a ball Unity tutorial but with comments from Tim when tutorial techniques did not match best practices.

Tim’s transition to independent game development began with a few simple ideas for games that he and his partners felt there was a lack of on mobile devices. “Find the fun” and not “Paint-by-ABC” development. LTV (lifetime value), DAU (daily active users), MAU (monthly active users), Retention, Churn... Tim would rather focus on making sure his games are playful, that when users try their games it brings a smile to their face.

Experiments

One of the strengths of the Unity game engine is that it’s particularly well suited for rapid prototyping. And when you’re trying to “find the fun” in games, experimenation is key. Finer Games uses Bitbucket to as a means to collaborate as its private storage is free for small teams (up to 5 members, 2gb per project). They also would utilize Trello to track project progress.

Lost in Transmission (LiT)

A 2 player asymmetric multiplayer game completed during the 48 hour Global Game Jam. Inspired by games like Space Team and Keep Talking and Nobody Explodes, in LiT, you play as an empiric spy who’s stolen plans from the bad guys. You find the hangar during your escape, but there’s a problem: there’s only one ship, and you don’t know how to fly it. Your comrades back at base have a poorly translated manual, and it's your only hope of ever seeing home again. Player 1 controls the ship, verbally relaying messages from the ship’s console to Player 2. Player 2 must consult the manual and try to describe to Player 1 how to fly.

Rather than implementing an entirely separate set of controls for Player 2, which easily could have doubled development time, the ship’s instruction manual was implemented as a simple PDF file. Key learning here: the time limited nature of a game jam forced to the team to be creative with how they utilized their resources. Not everything has to be complicated or programmed :)

Project Genesis

A “choose-your-own-adventure” game inspired by the story of the Ender’s Game sequel “Speaker for the Dead” and gameplay of “Lifeline”. Key learnings here were to utilize the Unity Asset Store. The asset store home to a growing library of free and commercial assets created both by Unity Technologies and also members of the community. If you’re an artist who needs code, or a programmer who needs art, or somewhere in-between this is a great place to start looking.

Rather than creating his own dialogue graphing engine from scratch, Tim used Node Canvas, an inexpensive solution that helped him and his writer prototype the basics of the game and story quickly. Sometimes assets only solve 80% or 90% of the requirements needed for a game, but even then the time saved is often valuable. In the case of this project, they were able to quickly discover that the game would require a more complex graphing engine than what this tool provided. So rather than have wasted weeks coming up with his own solution to discover this, they were able to figure this out in about a week, then safely table the project until both have more time to dedicate to it.

FML: Funny Mice League

Finer Games’ biggest project, a 2d iOS "fling the character" type of game full of jiggly, wiggly jelly physics. It's a game that started as a part-time project, a chance to give Tim and his twin brother a chance to deepen their programming and design knowledge. Over its lifetime it became a full-time project where they’ve added and lost a couple of partners and outside contractors.

Towards the end of development, they brought on an outside artist to help finish the art for the game. Talented, but not a technical artist, and had not much experience working in the engine directly. Tim and the other remaining full time member of the project ended up needing to do a good amount of the art integration themselves. The other problem here was that the team had spent the better portion of the previous year working really, really hard on the “visual language” of the game. Explaining how it all fit together to a remotely working newcomer late in a project was… difficult.

Other Learnings

  • Find a good tweening engine. We use DOTween. This will make it much easier to get a really rich feeling user interface. That additional polish to a game makes all the difference in the experience.

  • Play testing is, super, super important. Keys to a successful playtesting session:

    • Make the user feel comfortable

    • Shut your mouth

    • Listen. Take notes / video

    • Seriously, shush. If you’re talking to the player and not doing so to get them to verbalize more (asking questions like “What are you trying to do?” is ok), then you’re probably talking too much and not taking the feedback to heart.

  • There's never enough time, money ("only if we had funding" syndrome) and experience. You have to stay focused and roll with it.

  • We probably took long between releases. Mid-development of FML, we actually took a few weeks off to polish up an old demo and practice release + marketing strategies. This practice was invaluable and it probably would have been a good idea to do more of it.

  • I recommend NOT starting with iOS. The competition on the App Store now is too fierce. Focus instead on niche platforms, or if you MUST do mobile, niche genres.

  • Join a community. Unity devs on slack is a good place to start.

  • Get sleep, eat right, exercise, and have fun!

Join the next talk ?

Speakers can apply at talks@coderbunker.com

Join our community on http://www.meetup.com/Coderbunker/

or just follow us on wechat.

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OKSubscriptions powered by Strikingly