• Home
  • Book
  • Games
    • All Games
    • Tabletop Games
    • Video Games
  • Articles
  • Resources
  • About

Fun Mines

Making Games

Clint Hocking on Intentional Play

September 17, 2015 by Ethan Leave a Comment

Learning Video Game Design on the Tabletop shows the reader how game AIs can be created in the form of finite state machines.

For a real-world example of a finite state machine in Splinter Cell: Chaos Theory, download and  Clint Hocking’s 2006 Game Developers Conference talk “Designing to Promote Intentional Play” (35MB).

Game Loops

August 21, 2015 by Ethan Leave a Comment

Photo by A. Davey, (CC BY-NC-ND 2.0)

Photo by A. Davey (CC BY-NC-ND 2.0)

Tabletop games are typically structured as a series of one round after another until the game concludes. A video game’s main game loop similarly repeats over and over throughout the game in order to drive the game’s core mechanics. Many games are actually programmed using a main game loop, but even when that is not the case, it is still often useful for the game designer to use a conceptual model of a game loop.

Robert Nystrom’s Game Programming Patterns is a book that’s available in print as well as online (for free). It provides a great overview of what constitutes a game loop. Definitely recommended reading!

The World’s Most Boring Excel Spreadsheet

March 16, 2015 by Ethan Leave a Comment

Learning Video Game Design on the Tabletop briefly discusses how Excel’s spreadsheets and VBA
macro language can be used in digital prototyping. By way of example, here’s an Excel file that recreates the action of  The World’s Most Boring Tower Defense Game. This means it can be played as a turn-based strategy game (i.e., the player manually advances the turns by pressing a button) or as a real time strategy game (i.e., the turns advance automatically).

The World's Most Boring Tower Defense GameThe World’s Most Boring Tower Defense Game is a web-based “game” that I use to demonstrate to my students how a video game’s “real time” action actually takes place over a series of discrete turns (what programmers call “ticks”). The game is also a useful example of what a digital prototype might entail.

You will need to enable macros in order to play the game (this mean it is unplayable in the Excel 2008 for Macs—that version of Excel does not allow Macros). If you run into trouble getting it to work, let me know—the code is a bit of a hack and I wouldn’t be surprised if it runs into problems in various versions of Excel.

In particular, the timer events that drive the sprite animation required jumping through some coding hoops. I wanted to use Excel’s VBA macro language’s “OnTime” event to cause the game sprite (the animated character) to move multiple times a second. Unfortunately, OnTime cannot respond faster than once per second in the Mac version of Excel. I got around this by using the Timer function, which returns the number of seconds since midnight. I use this to have the animation occur within a while-loop that pauses a specified number of milliseconds (more-or-less) as measured using Timer during each loop. Oddly, Microsoft’s documentation for Timer states that it will not return fractions of second on a Mac. But on my Mac it does, so I was able to get the animation to work. I’m not sure if the undocumented ability is due to a change in the Mac OS or in Excel itself, but it does work (at least, it does for me).

All that is to say, this Excel spreadsheet is a bit fragile and may not work for you. Caveat emptor!

 Play The World’s Most Boring Tower Defense Game online
Download the Excel version of Boring TD

ZZT, Town, & Twine

January 6, 2015 by Ethan Leave a Comment

Sweeney’s ZZT

These days, Tim Sweeney and his company Epic Games are best known their Unreal and Gears of War franchises. But in the early 1990s Epic’s flagship game was a quirky ASCII adventure game called ZZT. [Read more…]

Visual Programming

September 17, 2014 by Ethan Leave a Comment

Paper prototypes are a great tool, but there are some video game mechanics that simply need to run on a computer in order to be tried out. Visual programming languages can be great for creating a quick digital prototype of a twitch mechanic (or whatever else doesn’t work well in paper).

Here are a few of the more popular visual languages for games (feel free to recommend others in the comments):

  • Blueprints (Unreal)
  • Construct 2
  • GameSalad
  • Scratch
  • Stencyl

Get the book


Go to Amazon

Search

Categories

Archives

Tags

2+ Players Abstract Strategy Artificial Intelligence Book Combinatorial Conference Dice DIY Exercise Expansions Game Design Documents Game Studies Game Theory Interactive Fiction Pencil & Paper Print & Play Probability Programming Prototyping Psychology Rulebooks Sandbox Single Player Teaching Tiles Traditional Game Two Player Variant

Copyright © 2025 • Ethan Ham