Posted by on Jul 31, 2016 in Blog | 0 comments

In January of 2016 I challenged myself to make 1 new game every month, for a year; 12 months- 12 games. This is one of those games.

Development Stats

  • Language: TypeScript
  • Engine: Superpowers
  • Platforms: Web

It was another really sad month for my #1GAM project. Work went from crazy busy last month, to absolutely insane this month. I’m still working 14h+ a day, but we have also started working weekends as well.

This hasn’t left much time for personal time, let alone energy for additional coding. However, I did actually put a bunch of time into a game, but wasn’t able to get it to a presentable state.

The game was to be a Western, with a mix of trading, shootouts and exploration. Something like a Old-West FTL.

Exploration in the overworld

Exploration in the overworld

2016-08-01 (8)

Combat with Bandits

I didn’t get too far with the concept though. I had the basics of exploration working (players explore an old-west map hidden looking for treasure and avoiding bandits), and a super, super, super basic point and shoot combat system. But I just didn’t get time to tie it all together, and make it a game.

However, it did give me a chance to check out some new technology.

To build the game, I decided to try out the Superpowers game engine (version 0.19). This is an Engine I have been following for sometime, and really wanted to give more than just a quick look. If you don’t know, Superpowers is kind of a spiritual-successor to the CraftStudio Engine. It puts a lot of emphasis on real-time collaboration, and web technologies. Scripting is done in TypeScript, and the engine can output to almost any platform imaginable.

Like always, I was working alone, so I didn’t get a chance to test out the real-time collaboration, but I did exercise most of the core 2D features.

I kept a list of feedback for the engine (note: shortly after finishing this project version 1.0 of Superpowers was released and likely addresses some of these issues):

  • Adding sprites is very tedious
    • Needs draw and drop and group drag and drop.
    • Using the whole image should be the default.
  • 2D draw order isn’t obvious.
    • Respects z-order, but otherwise seems to render in order that they were added to the scene, rather than top to bottom (or something similar).
  • Tab layout is too limited.
    • I want to be able to have multiple windows visible at the same time.
    • I want to have multiple projects visible at the same time (for cross referencing).
  • Would be nice to have a 2D editor mode.
    • All sprites map 1 pixel to in world unit.
    • Camera is automatically ortho.
    • Scene is automatically 2D.
  • Could not get 1-to-1 pixel to world unit playing nice.
    • Camera cannot zoom out so far.
  • Orthographic scale is not intuitive way to define 2D camera.
  • Annoying that when you leave window, mouse state is lost.
    • Highlighting text in script editor.
    • Moving position with transform widget in scene.
  • Debug window can’t open maximized.
    • Need maximized to use all debug panels.
  • No live edit of running game.
    • Would like to be able to tune properties while the game is running.
  • TypeScript API Browser is really a bad way to discover interface.
    • Search doesn’t actually take you to the entries.
  • is not a good forum for developer support.
    • No search functionality.

Overall I would say my experience with the engine was… “so-so”. I’ll hopefully get a chance to try out version 1.0+ soon, and see what kind of improvements were made!