“Squaresville” – EGP Demo

Squaresville is an open world puzzle platformer for Sifteo cubes that I developed for the EGP Sifteo competition. This was a major challenge both optimizing it to run smoothly and also make the design fun to play under extreme limitations. I am very happy with the results, it may be the best game I’ve ever made actually. I hope that players will enjoy it because it’s somewhat confusing but I have added many new features to help with that.

UPDATE: Squaresville is one of the two winners!  Congrats also to One Life Remains, the winner of the multiplayer portion.

My first goal with this project was to prove the technical feasibility of a game of this scale running on Sifteo. I’ll admit I was skeptical at first, especially after seeing how slow my original prototype ran on the actual hardware. Just playing music can take about a third of the frame time! I ended up deciding to run at a fixed 20 fps which is less then ideal but feels plenty smooth to me. The engine currently supports a 24×24 map which is huge, the demo uses only a tiny fraction of that. The engine has a dynamic game object allocation system with virtual calls to update and draw so it’s easy to create custom objects and enemy types. There are also many tricks being done to fit everything into only 32K of ram. This engine could also be modified to support multiplayer, top down, more cubes, different game play mechanics etc.

Beat my time of 13 minutes 17 seconds!

Beat my time of 13 minutes 17 seconds!

The map screen was created to be a lightweight but useful hud to complement the main game screens. It pulls triple duty by also showing the coins and item pick ups as well as displaying up to 7 lines of text message which is slightly less then a tweet. What I like to do is take some artist eraser and mold it into a stand to angle the map toward my view like a mini computer monitor. Players can also play without a map when they need more screens to plan things out.

I tried to make the gameplay as simple as possible because it can get confusing really quickly.  The controls are a simple tilt left and right to move and touch to jump. I experimented with a jump gesture but in the end I found it just wasn’t reliable enough and something about touching the screen seems to make it more fun. It was sometimes difficult to tell where your player would come out on another screen, or more specifically why they were being blocked because the cubes are so small it is hard to line them up perfectly. I tried to solve this by showing an arrow on neighboring cubes that point towards the player and it seems to help greatly. At the beginning of the demo there’s really only one way to go before it opens up a little, but it’s a mostly linear path the whole way through. I tried really hard to make sure players can’t get stuck but it probably is possible, so I implemented a shake to restart feature as well as the standard base button menu.

There are many ways to extend this game concept, I already have a rough list of objects, abilities, and enemy’s I can introduce over time to keep things interesting. I want to have towns with NPC’s you can talk to and interact with. I have a vague story in mind but I want to keep it very surreal. The map is so large that there will need to be some warp portals to help the player get around quickly. Currently when you touch the map screen it shows the last message but I may get rid of that and instead make touch switch to another screen where you can see more info about your quest, options, and maybe even a simple inventory selection. Designing the level will be a challenge but my editor is easy to work with and has some handy features. Filling up the 24×24 map seems daunting but I have done similar things before, Faster Blaster is a 32×32 map with much more detail though it will certainly be tricky designing puzzles for this game.

Map of the Squaresville Demo

Map of the Squaresville Demo

The music was created by Rene Wiersma specifically for this demo.  Sifteo Cubes can’t play normal MP3s so the music must be basically programmed in a special format called xm for “extended module”.  Not only does it sound great and just the right atmosphere but it’s only 5 channels and 134K! He also recently wrote an extremely informative article about how to create xm music.

Download

  • Squaresville – Download the latest version here, everything is included for Windows or Sifteo play.
This entry was posted in Projects and tagged , . Bookmark the permalink.

6 Responses to “Squaresville” – EGP Demo

  1. That looks really cool!

    I downloaded the game and tried it out on PC but it won’t run. My PC is about three years old, but has Windows 8 on it now. The graphics card is a Radeon 4800 series. Here’s the output, if it’s any help:

    Starting Siftulator…

    Failed to find any usable GLFWFBConfigs
    Unable to find a usable pixel format
    Failed to create GLFW window
    Graphical frontend failed to initialize

    • Frank says:

      It should work, I tried it on my old laptop that can barely run TF2. Make sure you update DirectX and graphics drivers. I didn’t write the emulator itself so I can’t help you out with that one. You can try downloading the SDK yourself and get more info at…

      https://www.sifteo.com/developers

  2. Jeremy says:

    Looks a lot like Continuity for iOS (http://continuitygame.com/). Nice idea for a Sifteo game though.

    • Frank says:

      Yeah, but I think my game opens up the complexity because you can rotate the cubes plus it’s an open world adventure rather then having discrete levels. Also, I played the original Continuity online and one thing that really bugged me is that it won’t let you move from one area to the next unless that’s the way the designer wanted you to go. Even though the player could have a totally clear path and zero indication that they could not traverse.

Leave a Reply

Your email address will not be published. Required fields are marked *