Already know how to play Teapots? Want to go directly to the game?
I had previously programmed a version of Tempest for the Atari 5200 SuperSystem. My plan was to roll that game logic into a version that placed the game inside a teapot, thus creating a Tempest in a Teapot. I started with the open source Newell or Utah Teapot. (It was created by Dr. Newell at the University of Utah and has become a 3D test model that is now a standard reference object.) The version i am using is from the GLUT, OpenGL Utility Toolkit.
Tempest has 16 types of differently shaped playing fields that become progressively harder to play. There are 6 sets of these fields. Each set has a unique color for all of the fields within that set. For Tempest in a Teapot, each playing field appears within its own teapot and all the teapots within a single set start out on the screen at startup time. Since all of the fields in the set are the same color, so are all of the teapots on the screen at that same time. They are arranged in a cloud formation around the player and that makes it a perfect organization to fly around in as a virtual reality experience.
The initial flying experience proved so fun, we decided to make it a stand alone game. You can play Tag by simply flying around and crashing into the teapots. The teapots turn white and drift off into space. The object is to tag all the teapots on each level in the least amount of time and so getting the lowest score.
Since when we add the Tempest logic, the ship would be shooting down at shapes coming up a tube (in this case the spout of the teapot), it would make sense that the same ship would also have the ability to fire while outside the teapots. This allows us to add a Blaster variant where we try for the high score.
On launching the Teapots game, you are given two choices: "Start Tag" or "Start Blaster".
A or left arrow
Spin claw ship left, counter-clockwise.
D or right arrow
Spin claw ship right, clockwise.
W or up arrow
Point tip of ship up.
S or down arrow
Point tip of ship down.
Move ship forward.
Slow ship until it stops.
When flying, if we turn right or left and mix that with up and down, the claw ship winds up banking to get where you're going. Or if you press the up or down key continually, you can flip right over into a loop de loop. Either of these conditions can leave you disoriented. If you stop active steering for a short while, internal gyroscopes will get you back to level flight.
Note: When pressing the trigger, charges will fly away from the ship in a straight line. If you aare spinning the ship, the charges may appear to curve, but this is only an illusion. If we had a top down view of our world, you would see that the charges really do fly straight at what they are pointed at.
At this time, screen layout looks best when played in full screen mode. All the display elements will appear correctly in that case.
I consider the beta version of a program to be beta quality when it is feature complete. This version is pre-beta (which sounds better than alpha) because there are still a few items missing that i think are necessary to the game. These will be added shortly.
Right now, when playing Blaster you are invincible because the teapots cannot fire back at you. This will be fixed. The teapots will also be put in motion to make them harder to hit.
Also now it may be hard to find where the last teapots are at as you try to clear them all away in each level. This will only get worse as the teapots move around. I think we need a radar system to tell you where the closest teapot is, so you can find them.
You might not have noticed, but when playing tag, the score does not change. We need to add a timer so you can see if you got a lower score.
I think at that point we can regard Teapots as beta complete.
Nice to Have
There are a few other features i want to add before we put this out in public: The ship has been designed to have animation as it moves around. I would like to get that added. Also, since we can now get new scores in both Blaster and Tag, we should have a way to tell if we have a new high or low score, respectively. And store them between games.
That will probably be as far as we can go with this WebGL version of Teapots. For the next builds we will probably need to have devices.
The eventual goal is to have this game available on mobile devices, mostly iPhones and Android hardware. We will not require adding a physical keyboard for game play. Instead, we could add onscreen controls. However, it is more likely we will replace the movement controls with sensing the accelerometers. I have found on the KBot Control Program that i can get nice, smooth control by tilting the game device. This would probaly be the point in development where we would build for iOS and Android, and place them on the App Store and Google Play.
We really want to build virtual reality versions of our game. Probably the first target will be for Oculus because it the most affordable of the 3D devices still under development. (I won't rule out other 3D viewers, but have no plans for them yet.) At a recent Unity program, it was pointed out that the very cheapest methods of playing virtual reality is with Cardboard and Daydream. Even though Google is no longer developing for them, the viewers are still around, so we may build versions available for them.
After we have all the elements of a virtual reality version of the Teapots game, we will add a whole new game into the mix, Tempest. Then we really will have a Tempest in a Teapot.