One Game A Month – February Postmortem: Thuldanen Maestro

I’ve entered into the One Game a Month party. It’s like Ludum Dare, a challenge to make, and most importantly FINISH, a game in a set amount of time based on a theme. What makes #1GAM unique is you have an entire month and it spans an entire year. They have a thriving Twitter and Google+ group.

I’ve entered strictly for learning purposes and to see if I can actually finish something. Game development is surprisingly very different from application development, and it’s nice to feel really stupid again.

Continue reading “One Game A Month – February Postmortem: Thuldanen Maestro”

Finite State Machines in Game Development

Finite State Machines are series of design patterns often used in Game Development. In this article I’ll define what they are & how they work, go over 3 example implementations I have implemented in Corona SDK, and describe some of the pain points I’ve encountered using them.

I’ve ported Cassio Souza’s ActionScript 3 State Machine to a Lua State Machine, and recently a Dart version, and included examples. This article has a companion video embedded below.

 

Continue reading “Finite State Machines in Game Development”

Lua Classes and Packages in Corona

Lua has some diverse usage, from AI, robotics, 3D shaders, game extensions, or writing games. As such there are a variety of ways to do OOP in Corona. Specifically:

  • Classes
  • Packages
  • Access Modifiers/Namespaces/Encapsulation
  • Inheritance
  • Polymorphism
  • “dealing” with scope

Below, I’ll show you how I do classes and packages in Corona SDK. I cover how to extend core Corona classes, what you can/can’t do, and how to implement classes, packages, & inheritance in Lua. I also briefly cover some of the OOP alternatives and compare/contrast why I chose t3h closure way.

I do not cover, nor use metatables. If you can live without prototype in JavaScript, you’ll do just fine using only closures in Lua. I’ll give you some links at the bottom for using metatables to accomplish OOP in Lua.

Continue reading “Lua Classes and Packages in Corona”

Adding Achievements to Your Corona Game or App Using OpenFeint & Papaya Mobile

Introduction

Achievements within games can help give incentives for players to learn how to play, give them confirmation they’re on the right track, and reward their accomplishments. They can also reward experimental behavior, create engagement for challenging or secret achievements, and can even create games within games. To paraphrase Jesse Schell, you can create the meta game, experiences that exist on top of other experiences.

Continue reading “Adding Achievements to Your Corona Game or App Using OpenFeint & Papaya Mobile”