[2023-11-02] Back on 2022-03-24 we had just put my completed Outer Limits Game in the "Diner", marking the end of that project. Not long after that my new large Shark CNC arrived. Integrating that into the shop and making it's enclosure was the next big project. When I got that all together, I ended up using it for many large and small projects (... Projects pages 19 & 20). It did occur to me how handy it would be if I were to ever create another game, since it's big enough to CNC all the enclosure pieces in their entirety.

 

Let me begin with the engineering and then onto the gameplay. Excuse all the dates and details, but I write up my projects not only to share with my friends but also for me to look back on in the future.

 

I Want My LCD

On 2022-09-22 I happened across some relatively cheap 2.8" LCDs on Aliexpress. They have an SPI interface, are color and have versions with and without resistive touch screens. I ordered a few to experiment with and they arrived in early Oct. I don't think I was working on any game ideas at the time, but I'm not really sure now. At any rate, using these LCDs became a project in itself. Those using hobby µC boards like Arduino, writing in a hi-level language with ready made software routines could pretty much plug them in and go. But writing in assembly for my beloved 9S08 µCs (microcomputer/processor IC), I had to comb the web to find an English data sheet for the LCD controller chip used by these units and start writing from scratch and creating my own font tables.

 

Somewhere in this time period I began to think about designing another "vertical pinball machine" using these LCDs as goals in some manner. It was about 6 months after finishing the Outer Limits game so I was beginning to forget how much work it had been!

 

By the end of Oct, still using my µC bread board module, I had the LCD doing all the basics and was putting together lots of routines to exercise all of it's capabilities. On 2022-11-06 (exactly 1 year ago as I sit here starting to write this story) I completed a PCB design "LCD 320x240 Controller Bd" that would sit behind the LCD module and control it. Like I always do, I put in all sorts of peripheral circuits to let this board be useful for future projects:

 

- The LCD module itself plugs on directly, including circuitry to utilize the resistive touch screen version

- Interface connector for a small WiFi board

- RTC (Real Time Clock)

- USB serial interface

- PS2 protocol keyboard w/USB receptacle, utilizing a second, small µC that talks to the main one via I2C

- 4Mbyte serial Flash memory

- 4 pushbutton "soft switches", used to make screen-defined selections when no touch screen is used

- input for external µwave motion sensor (possibly used in future clock operation to illuminate with presence)

 

When the boards arrived I assembled the first one and from that point on used it to develop many applications to the level of confirming their basic functionality:

 

- 2 way text terminal

- displaying a .bmp image received from a PC via the USB/serial interface

- storing those images in Flash, then having them displayed in a slide show

- using a large font to create a clock and as per my usual having it set itself over the network via WiFi

- dividing the screen into useful blocks to test the touch screen capabilities

- having it send test emails & texts

 

By now I was firming up my ideas for the new game. Looking back for progress indicators, I found a captured image from 2023-01-31 where I had a SketchUp rendering of the playfield that is nearly identical to the finished game.

 

Ball Transport Mechanism

An early decision was to use 3/4" plastic balls instead of the usual pinball chrome metal balls. Being a vertical machine and having a game layout where a long freefall was likely, it was a necessity. The most difficult part to design and build in this game was a mechanism to take the balls from the bottom and deliver them one at a time to the top to be dropped onto the playfield. I went through several concepts, finally designing a mechanism which looks a little like part of a bolt action rifle.

 

When a ball goes through a goal hole, it enters a curved 3/4" PVC elbow that is angled down. Just after entering, it goes by an opposing IR Emitter & IR Detector pair which the main Game Controller's µC monitors in order to keep score. Then it goes thru one or two "junction boxes" to ultimately arrive in a short vertical tube at the top of the "Ball Transport Mechanism".

 

This mechanism has it's own dedicated µC, 3 motors and 6 µswitches to choreograph receiving the returned balls, isolating them to drop one at a time into a "pusher tube", then be pushed by the "pusher" (kind of like a rifle's "bolt") into a "chamber". It waits there as another gating plate opens up and then the pusher forces the new ball into a long, mostly vertical tube filled with balls. When one ball is pushed into the tube at the bottom, one ball is pushed out at the top and onto the playfield.

 

Project Overload

This game is the largest non-career project I've ever done. It took about a year, and each sub-assembly was a project in it's own right. Each of the 8 LCD controllers has it's own µC. Each of the 14 Deflector's "Ring Lights" has it's own µC. The Ball Transport Mechanism, the UFO Bottom Red Orange LED Controller, the Scoreboard and of course the main Game Controller all have their own µC for a total of 26 µCs!

 

In addition to small purchased PCBs such as motor driver H-bridges, IR detect, buck regulators and the 3 mp3 player modules, this game had me designing 10 new PCBs. Three of the simpler ones I CNC'd, with the other 7 sent out for boards. Other boards were ones I had designed for previous projects, such as the Scoreboard which is the one I used for my Network BiMatrix LED Clocks and the little OL Audio Amp board I had designed for the Outer Limits game. While software for the LCDs and Ring Lights were the same for multiple units, in the end I had to write 5 different pieces of software. Just the wiring diagram that shows interconnections is on three 11x17 sheets.

 

New Boards:

Invaders Game Controller Bd

LCD 320x240 Controller (one for each of the 8 LCDs)

WS2812B LED Controller (to control 14 Ring Lights & UFO Bottom Red Orange LEDs, 15 total)

Motor Control Gating (small board attached to each Ring Light controller to gate joystick motor control)

Sensor Concentrator (CNC) (selects & passes on status logic from current target hole ball detection)

UFO Interface (gathers all signals for UFO, third mp3 module, etc.)

UFO Bottom Red Orange LEDs (controls UFO's bottom "thruster" LEDs red/orange/white modulation)

UFO Top LEDs (sequences the white porthole LEDs at the top of the UFO)

Microswitches to Contoller Int (CNC)

Pushbutton Bd (CNC) (manual linear actuator buttons on top of the machine to facilitate service)

 

Theme And Game Play

As always, once I think of a theme, then I really commit to doing what I know will be another huge project. "The Invaders" was a 2-season SciFi TV show, in color, from 1967-68. It starred Roy Thinnes as David Vincent. Vincent had seen the landing of a UFO which began his quest to "convince a dis-believing world that the nightmare had already begun". While it's SciFi, it's also a lot like The Fugitive as he travels around trying to foil the aliens from taking over the planet. I think it's an OK show, though Linda doesn't really care for it, but it does make the perfect theme for a game. The aliens are disguised as people, but if you kill one, they glow red and disintegrate. That's the main way that Vincent convinces people, when they actually witness this.

 

On my Outer Limits game, I kept strictly to an all black and white look. Even the scoreboard used a white LED matrix. Now, for this game, I went for as much color as possible. I have 8 LCD screens. When the game begins, all the screens show the UFO in the blue sky, similar to the background playfield image. One LCD, however, shows what looks like a person, actually an alien, from one of the frames I captured from the show. That frame is just before Vincent kills them. The goal of the game is to one at a time rotate the 14 "Deflectors" to set up a path for the next ball to drop from the top left corner and find it's way into the target hole under the current antagonist alien's image. You only score by rolling the ball over that alien and into that target hole. When you succeed, that alien screams and glows red, and another random alien is shown on another LCD which is the new target alien.

 

Every Deflector has an LED Ring Light under it executing a vivid rotating color sequence. During the game, each Deflector shows rotating colors EXCEPT one. That one is all Red, indicating that Deflector is currently selected to be controlled. Two joysticks are used. The Left joystick is 4-way and lets you go Up-Down-Left-Right to select which Deflector you want to control. The current one will be Red, and that can move instantly to the next one you select. The Right joystick is only 2-way. Move it Left to rotate the currently selected Deflector CCW, Right to rotate CW. This lets you set up the Deflectors in a pattern that will direct the next ball to your current target. You actually do this frantically in a kind of trial and error approach, as the next ball will soon drop.

 

Every time you kill an alien and they are left glowing red, the scoreboard shows you your current Kill number 0-7. It also shows you the remaining time in minutes and seconds, with a starting time of 4:00 minutes. If you kill less than all 8, then that is your score (0-7). But if you get all 8 within the time allotted, then your score is "Win!" and you are rewarded with a little extravaganza representing sending the aliens back where they came from!

 

Send Invaders Back To Their World

At first I was a little hesitant about the gameplay being either too easy or too hard. This is the hardest part of designing any game and goes all the way back to my 1983 Alien Sidestep video game. As time went on and decisions were made, I started to have confidence that I could strike the right balance. At first I had it where you could kill any alien at any time. Too easy. Then I made it where you had to kill the current target alien. Much harder. Linda said I should select the next target alien randomly, which made it even harder. At this point, given my original 3 minutes of game time, it seemed too hard. I upped that to 4 minutes, and now it seems just right where after playing some games you might actually Win!

 

And when you do, I decided to have a little reward extravaganza, in the spirit of how some arcade games have on-screen little alien/character dances or celebrations after reaching some level.

 

Since arcade games have a marquee box at the top, this gave me the perfect place to keep the surprise. I created graphics for a backlit marquee. However, the real reason for the top box was to hide a model UFO. So, when you "Win!", all the Ring Lights go out, the marquee backlight goes out, all the LCDs show a picture of the UFO taking off at night, and the Scoreboard flashes "Lift Off!" in red.

 

Then you hear the UFO thruster sound effect (which I captured from the pilot episode's extended 50sec. UFO scene) coming from the top of the machine. Then the top panel lifts up and becomes vertical. Next you see smoke as the UFO emerges from the top. There are rotating white lights in it's upper portholes. Below are a set of Blue lights doing a slow pulsation. Center bottom you see very bright thrusters pulsating red-orange with occasional white strobe flashes, all illuminating the smoke. The UFO continues up then stops for a short time, then goes down into the top box with the lid closing and the sound effect ending. The game goes back to attract mode.

 

This links together the game and show's theme. Vincent is always trying to defeat the aliens and send them back where they came from. Here, when you kill all 8 aliens and "Win!", the ship emerges implying they have given up and are leaving!

 

Naturally, just like for the Outer Limits game, I spent a lot of time going through the episodes and collecting frame captures to use on the LCDs and on the game board. I also captured sound effects and four different alternating medleys of background music, which plays for the entire 4 minute game play. The music is great with most of it composed by Dominic Frontiere who also did The Outer Limits. I used screams from sound effects files in place of chimes as I had used in the Outer Limits game. It seems more suitable, is different, and makes it a little more edgy.

 

 

 

 

 

 

 

 

 

 

 

 

Electronics & Maker Projects (page 21)

(Electronics/PCB Design, Software, CNC, Woodworking, 3DP, DC Motor, Linear Actuators, Sound Editing, Artwork)

Vertical Pinball

Machine

Above:  views of the Ball Transport Mechanism