Lessons Learned from O-Ring

  • 21 favourites


1,910 visits, 2,686 views



This tutorial hasn't been translated.


This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

I just wanted to add my own little lessons from making O-Ring.

I kept the game as simplistic as possible using only the plugins that came defaulted with the original program. Even the sounds were from the package that came with Construct 2. The only things I added were black and white circles and blocks to form the levels and the Ring itself.

So, given that, these are good tips associated to the default program and the features that I used in the game.

Reducing Lag for Lesser Computers

This was a major problem I found after thinking I finished the first draft of the game. I sent it out to friends and posted it on the forum only to find that everyone thought it was too hard. Turns out it was because only half-decent desktops with discrete video cards could handle it properly. Laptops, netbooks, and integrated graphics couldn't cut it.

The main problem was that I animated things with actions themselves. I knew that these would be computationally heavy, but I didn't think it was THAT much. Each of the rings forming the tail were cloned objects that both faded and shrunk in size. The ripples that formed from clicking were the same. The ring's actual movement was calculated using Custom Movement. Because everything was calculated there were no actual animations with multiple frames. This was stressful for weaker computers.

I had to replace each of the programmed 'animations' with traditional frame-by-frame animations. Cycling through a set of images seems to be much easier than recalculating size and opacity of a single image every tick.

One thing to note though, is that the movement from the Custom Movement didn't lag as much as size and opacity readjustments. Not sure why. It was just different.

Getting Away from Blocks

One thing I knew I wanted early on was to move away from the standard square structure. Flat edges were great in the pixel era when squares were the main building blocks, but now we can use fancy vectors. So, I opted to create curved tracks from the beginning.

It wasn't easy to figure things out at first. Curved tracks didn't align as nicely as right angles. I had to create multiple curves of multiple sizes so that I could create a variety of curves instead of just right turns. I also used a circle for certain curves to give it some more variation.

The most frustrating part, though, was the collision boundaries. For anything with rigid angles this works great. Draw straight lines to fill in the boundaries. But circles and curves don't work so easily, especially with the suggested 8-point limit for each collision zone. What I had to end up doing was making two versions of each curve, one for inside turns and one for outside turns.

Once everything was done, it was all about creating interesting levels and pixel pushing to line everything up just right.

Teaching Without Teaching

In keeping with my minimalist design I also wanted to go back to the olden days when games didn't need instructions. You just kind of played Pong, or Astroids, or Galaga and you learned what you do by playing. And you also learn what not to do by losing.

This was the philosophy I kept throughout. The starting area is wide open so that you can explore the controls. You really don't know what to expect until you follow the only instruction of clicking somewhere. Once you do there is lots of space to make mistakes. When you first head into the levels it gradually gets more difficult allowing you to master the basic movement before anything else comes up. Once the new obstacles come into play they are 'demonstrated' in a rather harmless way before actually getting in your way.

People work very well through immediate feedback. The controls have immediate feedback, and so do collisions and clicks. All the obstacles have feedback as well. They are shown what they do, and have sounds to correspond to each obstacle.

Learn through trial and error, not text or speech.

Making Things Pretty (Abstract)

I am somewhat of a graphic designer and have done traditional arts in the past too. Artistic design is a big part of everything visual that I do. With O-Ring I aimed for something that has only begun to trickle into gaming which is contemporary arts.

Most traditional art begins with realism. Paintings were portraits and scenery, or still objects. Most older art resembles something in real life. Abstract art came around eventually and started to expand the realm of art into feelings, things you can't quite describe. A certain set of colors can feel hot or cold, or disturbing, or peaceful. Some games make good use of this kind of color control, but realism is still a big part of games. Real physics, real textures, real facial mapping and motion.

What is great about art is that it doesn't need to be real. It can be whatever you want it to be. What is great about games is that you don't have to adhere to existing physics and movements, and just create something completely alien. For my design I stuck to simplicity by choosing particular colors and keeping everything else black and white. The movement was just something I wanted to try just to see how it would work. It didn't really remind me of anything human.

Sometimes games are just games. They don't need to simulate anything.

Final Words

Happy gaming fellow Constructors!


  • Order by
Want to leave a comment? Login or Register an account!