The theme for May’s experimental game project was “high speed”. My idea was to do a modern re-envisioning of sonic the hedgehog. I got started a little late and this entry is still a work in progress. At this point the level design is still not complete and there is no real end to the level. Also there’s a physics bug causing stuttering with the player’s motion that I need to track down. There are a few more object types that will also open up gameplay and add depth (boost pads, loops, scenery, check points). I will update this page with a more complete version and video soon.
Left mouse – Rapid fire forward mounted machine with overheating
Right mouse – Unlimited slow motion
Alt-Enter – Toggle Fullscreen (recommended)
* Updates:
6/1 – I was having some physics jitters (perpetual oscillation) caused a high gravity setting. To fix it I had to implement physics sub stepping.
6/24 – I finally added sound loops to my game engine and make use of them for player movement sound. Still needs level design work but I need to refine the gameplay and add more object types before investing any real time in level design.
7/4 – Joystick Support! Works with any dual stick gamepad like the Xbox 360 or PS3 controller. If you use a PS3 controller with Motion Joy, set it to 360 controller emulation mode.
Last month I participated in the 7 day game challenge at the experimental gameplay project. The theme was repetition and I wanted to expand on the concept of replaying the same level while layering ghosts of your previous runs. I also wanted to leverage my engine to create a large world with nearly unlimited amount of simultaneous ghosts. For reference I looked at Cursor Times 10, Time Donkey and Chronotron. To make it extra difficult on myself I waited until the very last week of April to get started.
Like most games it stared as a copy of another game, in this case Spaghetti Planet. In about an hour the guts were commented out so I had a clean slate to slap in the player’s ship, weapons and controls from another game I had laying around. The core hook for this game is time travel so I focused on getting that working first. Basically it runs on a fixed time step of 60 fps and stores the player’s position and input for each frame. Then some code feeds the frame data back into a player object to make the ghost replay. Initially the details about how the time travel would work were a bit fuzzy. I knew that I wanted the player’s ghost to become a hazard if played poorly but a necessary ally if planned well. After playing Chronotron I really liked the concept of needing to return to the time machine to facilitate the kinds of puzzles that I had in mind. For most of the week I was using the working title “Time Ghosts”.
The enemy behaviors are pretty simple archetypes chosen because they were easy to implement and wouldn’t need any randomness which could cause problems with time travel. There are bouncers, shooters, seekers and seeker spawners. For the seekers there was initially a problem with clumping where they eventually cluster together in a ball so I just added a single additional force that pushes away from the nearest enemy which works amazingly well at pushing them all apart. I wanted to do a boss battle with multiple ghosts fighting the same enemy but had to cut it due to lack of time.
Door switches took a little bit of work and some changes to the editor, I kept it really simple though. Every object in this engine has unique identifier including doors that is visible in the level editor. When a switch is placed there’s an attributes box to enter the id that belongs to it’s door. The power lines are only there to create a visual line between a power line and a door and don’t have any real logic. As a variation on doors a little time was devoted to experimenting with a physical switch where something gets knocked down and falls blocking the path.
Up until the very last day there was still no real level design, only a tiny test layout and bunch of ideas scribbled on paper. Throughout the week I had been brainstorming and came up with a few key ideas to explore the core game mechanic: racing against time, order of operations, needing to kill a ghost, and forcing multiple ghosts into small areas. At first the task of building the entire level in under 6 hours seemed daunting but it progressed rapidly. Starting with a central hub style layout I tried to just make broad strokes, branching out in different directions to get the main ideas represented. There was less then an hour left for testing by the time level design was wrapped up. Thankfully my brother Ben was around to help me test it bit before I posted it to the EGP forum.
Normally I would just prefer that people download the latest version of my games, but for those interested here is a link to the 7 day version of A Stitch In Time that I submitted to EGP. You can check out the level edit mode by pressing F4.
For this month’s experimental gameplay project I created a rapid prototype involving time travel. The theme was “repetition”. My entry is a hybrid shooter/puzzle called “A Stitch in Time”.
You are trapped in a 1 minute long time loop and need to collect all the 30 time shards to save the universe. Return to the worm hole to time travel. Coordinate your efforts to beat the puzzles but if you touch any of your time ghosts not only will you instantly die but the ghost will also be erased from existence. I think it is pretty challenging yet winnable if you are crafty enough. You may need to update DirectX in order to play it (if you receive a missing dll message click here).
I have just released a new version of Pixel Words Screensaver that uses a 7×7 pixel font allowing for crosswords of up to 7 letters. All of the horizontal and vertical words you see in the video below are real American English words that are randomly pulled from the Official Tournament and Club Word List. Download it for free.
My entry is a puzzle called Slidoku. It’s sort of a cross between sudoku and a Rubik’s cube. The goal is to form a valid sudoku puzzle and it is quite challenging to win. I worked on it for about a day and I think it turned out pretty slick. You may need to update DirectX in order to play it (if you receive a missing dll message click here).