Cocktail Arcade Cabinet Upgrade: Part 1 - Planning a Dual Screen Upgrade

| Comments

For a long time now, I’ve been thinking that the wall behind my arcade cabinet is rather bare. At first I thought I should find some sort of retro, video game-related painting or poster or something. More recently, though, I’ve been thinking that hanging a TV on that wall would be more functional.

Adding a second, upright screen to my cocktail cabinet will turn into a sort of combination upright/cocktail arcade machine. It will still be possible to play two-player games while sitting across from each other while also being able to play single-player games directly across from the larger, upright screen.

I’m stretching the definition of the word “upgrade” a little bit in this case. It might be more appropriate to refer to this as more of an “add-on.” I’m going to call it an upgrade anyway…

Tiny Plumbers Contra with the wrong display options for the new TV Using my old projector to help choose the right size TV I can't place the projector correctly for a live test The mount is attached to the wall I don't want a Large Farva

Choosing a TV… One that isn’t too big

I’ve been arguing with myself for weeks, possibly even months. I like to buy everything at the “sweet spot” of the price curve. That price point seems to be right around 47 inches for LCD TVs right now. Over the past few weeks I spotted two TVs around that size for well under $300, one was $260.

I did a little bit of testing using my old DLP projector. I was hoping to play some games at various sizes between 32” and 47”. The projector just didn’t want to cooperate with me, though. If I put the projector on the tabletop, I could only get about a 13” screen out of it. The required distance to reach even a 32” viewing area would have required a longer VGA cable than I have available. My rather large cranium would be sitting right in the middle of the projector beam, creating a shadow of my very ridiculously large cranium.

It did give me an idea of what various television sizes would look over there. and 47” was going to be way too large. I ended up going with a 32” TV.

What is left to do?

You can probably see from the pictures that I’m a little bit ahead of the planning stages already. There’s still quite a bit to left to do. There’s a couple of cables hanging down the wall. I’m going to have to find a way to hide those or pretty them up a bit.

The more difficult and possibly very tedious task will be to reconfigure most of the software… I have my MAME, NES, SNES, and pretty much every other console emulator set up so that each player sits on opposite sides of the arcade table. I’d like to be able to play single-player games up on the TV using the player-three controls.

MAME and MESS let you switch between the split-screen standard and cocktail mode on the fly. I’m a little more concerned about the controls. Swapping the buttons around with xmodmap is easy enough, but I use buttons on the system control functions (mostly exiting a game or bringing up the MAME/MESS control panel).

Cocktail Arcade Cabinet: Some Scratches and Dents!

| Comments

My arcade cabinet recently survived a 950-mile road trip, on a moving truck, from Georgia to Texas. I’m happy to say that it survived mostly intact, with only a few minor cosmetic issues.

The glue took the paint right off the plexiglas A tiny scratch in the black paint under the glass top

Some design goals created some weaknesses

Structurally speaking, the interlocking design of the arcade cabinet makes it surprisingly sturdy. From a cosmetic standpoint, some of our design decisions made some parts of the cabinet quite fragile.

We were trying to avoid using fasteners (screws, bolts, etc) of any kind at all, and we were absolutely determined to have absolutely no visible fasteners what-so-ever…

We did end up having to use some screws, but none of them are visible. We used screws and metal brackets underneath to tie the four control panels together. We also used screws and metal l-brackets to attach the front control panel cover panels.

The glue works great, mostly…

We completely succeeded on the second goal. To avoid fasteners, we ended up gluing many of the blackened Plexiglas panels to the cabinet. The glue we used sticks very stubbornly to the cabinet body. It also sticks very well to the paint on the back of the Plexiglas panels…

However, the paint doesn’t stick quite so well to the Plexiglas. As you can see in the pictures, the paint has separated from the back of the clear plastic.

The problem with the painted glass top

There are also some small nicks in the paint on the tabletop surface. I expected this to be a problem. The paint just doesn’t stick all that well to glass. I had trouble with peeling paint around the four points where the glass rests on the cabinet from very early on. I ended up putting squares of tape over those sections to protect it a bit.

Fortunately, it is very easy to touch up these spots. I haven’t decided how I’m going to try to protect that paint in the long term. I thought about slathering on a coat of polyurethane to the blackened areas. That should help distribute the pressure a bit.

There’s plenty of new games on there now!

I’ve collected quite a few good arcade-style games since I last saw my arcade table back in November. I already wrote about Super Meat Boy, but there are a handful of other games.

I’ve also installed Jamestown and Bit.Trip Runner from the same Humble Bundle. Toki Tori, from the Humble Bundle for Android, looks quite good on there as well.

I also picked up a copy of Swift*Stitch. I’m a bit bummed out about this one. The game is a lot of fun, and the vector graphics would look right at home on an arcade cabinet. It also runs flawlessly under Wine. My cabinet doesn’t have a trackball or mouse, though, and all the menus seem to require a mouse. It looks like it’ll be too complicated to set up cheater mouse bindings like I did for Titan Attacks!

Native Linux Games for an Arcade Cabinet: Super Meat Boy

| Comments

My arcade cabinet’s recent road trip only resulted in some very mild cosmetic damage. I have been separated from my arcade table for quite a few months, since a few weeks before the release of the fourth Humble Indie Bundle. There were quite a few games in that bundle that will be finding a home on my arcade cabinet, but I have been hoping for a native copy of Super Meat Boy ever since I started building the thing!

Playing Super Meat Boy on an arcade cabinet

Playing Super Meat Boy on an arcade cabinet is so much more fun than using the keyboard. The difference is probably a lot like reading Shakespeare in the original Klingon. Super Meat Boy feels like it was made to be played on an arcade cabinet.

When I bought the fourth Humble Indie Bundle back in December, I just had to try playing Super Meat Boy. I gave up on level 1-14… I’m not entirely sure whether I was just unhappy playing with a keyboard or if I just didn’t want to spoil the fun of playing on the arcade cabinet!

Things went a lot better when I loaded the game on the arcade cabinet yesterday. Before I knew it, I was completely through the first world and well on my way through the second! I won’t be surprised if I’m most of the way through the game in the next few days, assuming I can find some time to play!

Minor Problems

The controls for Super Meat Boy are simple enough and I had no problem mapping them to the joystick and buttons. However, I am having trouble with the video settings. It always wants to run in a window when it starts up. Super Meat Boy’s GUI on Linux lets you choose a resolution and set the game to full screen, but it doesn’t remember that setting after I quit.

I can live with this for now, but when I get some free time I might fire up strace and see if it is failing to open or write to any config files.

Update: Super Meat Boy on Linux has been correctly saving and restoring settings since the June, 2012 update.

Using and Customizing zsh-syntax-highlighting With oh-my-zsh

| Comments

A screenshot of zsh-syntax-highlighting

I recently read about this nifty new real-time syntax highlighter: zsh-syntax-highlighting. It looked like it would be pretty handy, so I decided to try it out for a couple of weeks.

It is a bit too colorful out of the box

Too many things are highlighted by default for my tastes. Every correctly typed command, every file name, and every globbing character is highlighted in one way or another. I was especially unhappy with the underlined path names.

Some highlighting is really awesome

I may not like all the extra noise, but there are a few things that I’m finding to be very useful. Highlighting a misspelled command in red is very nice. It is nice to catch typos before trying to execute a command.

Highlighting reserved words should be pretty helpful. I use one-liner for loops all the time, but I’m very good at leaving out the do. Highlighting makes that slightly more, obvious but I sure wish the done would highlight red if it didn’t match a do. It does match pairs of brackets, though, so maybe I can get in the habit of using those instead of old bash-isms…

It also does a good job of quote highlighting. That will probably help me catch mismatched and unescaped quotes pretty easy.

Customizing colors when using oh-my-zsh

I had a bit of trouble here. I tried setting the color variables in a file in my ~/.oh-my-zsh/custom directory while loading zsh-syntax-highlighting as a plugin from my ~/.oh-my-zsh/plugins directory. When I did, this it was acting like the colors were not already defined. I thought this was a bit strange because oh-my-zsh loads plugins before it runs anything in ~/.oh-my-zsh/custom.

I didn’t investigate this very heavily. I just moved zsh-syntax-highlighting into my custom directory and loaded it manually.

Here’s what my zsh-syntax-highlighting configuration looks like:

ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets)

source $ZSH/custom/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

ZSH_HIGHLIGHT_STYLES[default]=none
ZSH_HIGHLIGHT_STYLES[unknown-token]=fg=red,bold
ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=green
ZSH_HIGHLIGHT_STYLES[alias]=none
ZSH_HIGHLIGHT_STYLES[builtin]=none
ZSH_HIGHLIGHT_STYLES[function]=none
ZSH_HIGHLIGHT_STYLES[command]=none
ZSH_HIGHLIGHT_STYLES[precommand]=none
ZSH_HIGHLIGHT_STYLES[commandseparator]=none
ZSH_HIGHLIGHT_STYLES[hashed-command]=none
ZSH_HIGHLIGHT_STYLES[path]=none
ZSH_HIGHLIGHT_STYLES[globbing]=none
ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=blue
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=none
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=none
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=yellow
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=yellow
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=cyan
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=cyan
ZSH_HIGHLIGHT_STYLES[assign]=none

Most of what I did was remove colors.

A Year of Native Linux Indie Games on My Arcade Cabinet - 2011

| Comments

Last January, or maybe a little while before then, I decided to set a small goal for myself and my arcade cabinet. I wanted to buy at least one native game for the arcade table each month.

I’ve written about some of these games already, but I haven’t managed to get to all of them yet. I figured that since it has been about a year since I set my goal, that it might be a good time to look back over the last twelve months or so and see how I made out.

Blocks that Matter Cave Story Mactabilis Squid Yes, Not So Octopus War Twat Voxatron

The list of games, nearly in order of purchase

There’s also a few games that I’m pretty excited about, but I’m traveling right now and it will be a while before I can install them on the arcade cabinet. I’m hopeful that they’ll all fit in very nicely there:

If my arcade table happened to have a different controller layout, then I’d be able to add a few more games to the list:

  • Droid Assault (blog, home)
  • Ultratron (blog, home)
  • Scoregasm (blog, home)
  • The Binding of Isaac (blog, home)

Those are just the handful of twin-stick shooters that I already own, and they would all be playable if I had built an upright arcade cabinet.

Are bundles considered cheating?

I’ve listed over 16 indie games I purchased for the arcade table during 2011. The majority of them were part of various Humble Bundles. If I’m counting actual individual transactions, then the count is closer to eight.

At least two of the Humble Bundles that I bought didn’t include any games that I could use on the arcade cabinet, and most of them came with duplicates… So I’m just going to split the difference and say that I did reasonably well last year.

Plans and hopes for 2012

The last couple of games I was waiting patiently for were Super Meat Boy and Voxatron. I don’t really have any specific games in mind that I’m waiting for next year.

I’d really like to get caught up with writing about the rest of last year’s games. I’m already at least a half dozen games behind. I’ll end up a full year behind by 2013 if I don’t work harder!

Native Linux Games for an Arcade Cabinet: Blocks That Matter

| Comments

Blocks that Matter

Another game from the Humble Voxatron Debut. This is an exciting bundle for my arcade cabinet! There are so many great games that fit quite well on an arcade cabinet: Voxatron, Gish, Blocks that Matter, and Jasper’s Journey.

Blocks that Matter

Blocks That Matter

Blocks That Matter is a fun little puzzle platformer from Swing Swing Submarine. I haven’t had a chance to get too deep into the game yet. I hope this isn’t a spoiler, but I’m up to the level where I have to out-run the giant blob guy that is chasing me.

The puzzling aspect seemed pretty simple, but I have a feeling that I’m being deceived… I think there’s already been two little secret boxes that I haven’t figured out how to get to already. In the game, you control a little robot, the Tetrobot. He is able to collect blocks of various materials (wood, sand, rock, etc.) by drilling through them or bashing them a few times with his head. He is able to place down groups of four blocks, in patterns shaped like Tetris pieces.

Some of the blocks, such as rocks, can support their own weight. Other blocks, like sand, will fall if they are not supported by another block or wall.

The controls

Blocks That Matter has my favorite kind of controls: every single thing in the game can be done with the keyboard. No mouse required for anything at all. That makes it so easy to drop it onto an arcade cabinet. All that was required was mapping my controller buttons to the correct keys.

I forgot to record a video…

… So all I have is this lousy picture:

Blocks that Matter

Native Linux Games for an Arcade Cabinet: Voxatron

| Comments

I am cheating a bit this time. I haven’t even played Voxatron on my arcade cabinet yet because the replacement power supply hasn’t arrived yet. The Humble Voxatron Debut will only be running for about two weeks, so I figured I should write about it sooner rather than later!

Voxatron

The controls

Voxatron maps very easily to the arcade controls. It uses the arrow keys for movement, z to jump, and x to shoot. The only other keys that need to be mapped will be enter and escape, for moving around the menus.

The game

Voxatron is a neat little 3D platform shooter. It feels a bit like Robotron with the addition of jumping. I’ve only played through a few levels, so I haven’t seen much of the game yet. I’m (impatiently) waiting to play it with the arcade controls!

The blocky retro-style graphics look awesome. I especially like that the little light guy’s head lights up when he is shooting. Voxatron will definitely be a welcomed addition to the growing collection of modern games on my arcade cabinet.

Update 2011-11-11: It is actually on the cabinet now!

The cabinet is back up and running and Voxatron looks amazing on there! I was very impatient and ended up playing through the whole “adventure” mode on my laptop long before the replacement parts for the arcade cabinet arrived. I know now that it is much easier to handle the hold-button-to-lock-shooting-direction control setup with the arcade controls than it is with the keyboard!

The Unfortunate Death of the Cocktail Arcade Cabinet

| Comments

I’ve been out of town for most of the last four months. One of the first things I did after “docking” my laptop was fire up the arcade cabinet. It booted right up and I was very happy and relieved to see that none of the hard drives had died while I was away.

I store a copy of my Duplicity backups on my arcade cabinet (it is also my home file server), so I kicked off my script that rsyncs the backups on my laptop over to the arcade cabinet. Less than a minute later, I hear the drives and fans in the arcade cabinet spin down…

I scratched my head, walked back over, and turned it back on. This time it shut off about half-way through the boot sequence. I got down on my back and crawled underneath. I felt like I was checking to make sure the oil filter on my DSM was snug (I’d had mine come loose before, the spindle screwed into the oil cooler could be problematic).

While I was looking up into the guts, I hit the power button. Things were pretty dark from that angle, and I didn’t think to bring a flash-light. I touched the CPU fan; it was spinning. I touched the power supply fan… It was not spinning.

At least it is an easy problem, just a dead power supply fan. I’m not surprised that it died; this power supply is probably over four years old by now.

The silver lining

My good friend Brian gave me one of his old video cards: an NVIDIA GeForce GTS 240. This card is a massive upgrade over the arcade cabinet’s current NVidia GeForce 6200LE, and tons more horsepower than I’m going to need. The dead power supply is lacking the 6 pin PCIe power connector required by the new card.

I ordered a new power supply. It should be here in a few of days. I’ll just have to survive without my home file server for a little while. This is so much better than coming home to a dead hard drive, or worse, TWO dead hard drives…

Update 2011-11-02:

The power supply arrived, but it didn’t fix the problem… It powered up for a minute or two and then shut itself down. I crawled underneath the cabinet again and started poking at things with my finger and noticed that the CPU heat sink was wobbling:

Broken plastic heat sink bracket

The little nub that holds the heat sink clip snapped off. I ordered a new bracket, so now I get to wait again.

I got to take a look at the old power supply now that it is out of the case. It actually has two fans, but I couldn’t see the second without removing the monitor. I tested it out by shorting pins 15 and 16 to start up the power supply. Both fans started right up.

I clearly remember sticking a “non conductive instrument” (aka a cheap ball point pen). I don’t recall hearing the usual “THWAP, THWAP, THWAP” sound that usually occurs when you do that with a spinning fan. I’m starting to think that I should be questioning my sanity!

Team Fortress 2 is Free to Play! Getting in-game Purchases Working with Linux and Wine

| Comments

Team Fortress 2 is now free to play, so I figured I would give it a try. I don’t really play many first-person shooters. For the most part, the only thing that seems to have changed much in the genre since the early days is the much-improved graphics. Game-play usually just involves using bigger and bigger guns to shoot more and more people.

I’ve always enjoyed games that involve cooperation. The last first-person shooter I played was Tremulous. In fact, a friend and I ran a semi-popular Tremulous server for a few years.

Team Fortress 2 shares many of the qualities I liked in Tremulous, but the community behind Team Fortress 2 is much more sizable. It also shares many of the same pitfalls, but overall I am definitely enjoying the experience.

Getting in-game purchases and Steam connectivity working is easy

The fix is very easy and I am a bit surprised at just how fragile this is. You just have to install the Lucida Console font (lucon.ttf). I just copied the font into ~/.PlayOnLinux/fonts on my system, since I’m using PlayOnLinux. If you’re not, you probably just have to drop a copy in ~/.wine/drive_c/windows/Fonts (or some similar location).

I didn’t install the font to fix the Steam connectivity. I installed it to fix the nearly unreadable font in the Team Fortress 2 console. I just happened to kill two birds with one stone.

We’re running a Team Fortress 2 server!

I’m not entirely sure how exciting this is, yet… Getting a crowd of people to play on a Tremulous server was easy. The community was small and it was pretty easy to differentiate ourselves from the crowd. This time, we’re just another (barely used) fish in a pond full of other nearly indistinguishable (also barely used) fish.

(Not Quite) Native Linux Games for an Arcade Cabinet: The Bundle of Wrong

| Comments

Squid Yes, Not So Octopus Squid Yes, Not So Octopus Squid and Let Die Squid and Let Die War Twat War Twat Squid Hardest Squid Hardest Squid Hardest GForce GForce GForce

Update 2013-04-29: The last time I tried to play Death Ray Manta using Wine, all I got was a white screen and some loud music. That was quite a few months and a number of Wine releases in the past. I gave it a try today using Wine 1.5.29 and it runs flawlessly! I didn’t even have to install libraries using winetricks.

I also figured I’d try some of the various SYNSO games, since they’ve been a little jittery on the arcade table lately. The ones I tried seem to be running fast and smooth under Wine again. I just had to install dsound and directmusic using winetricks.

I’ve been keeping an eye out for an arena shooter for my arcade cabinet. There are quite a few of them out there, but the majority of them require analog controls. I was pretty excited when I read about the Bundle of Wrong at OnlyLinuxGames.com.

The Bundle of Wrong is a pay-what-you-want-style bundle. My expectations were pretty low, I didn’t expect the games to run well under Wine. I was wrong; all the games in the bundle seem to run great under Wine.

Every game in the bundle looks quite awesome on my arcade cabinet. Unfortunately, for now, most of them run a bit slow on there. The good news is that I will be upgrading the video card soon. A good friend of mine is letting me steal one of his old video cards that is a few generations newer than the one currently installed in the cabinet.

The arena shooters: SYNSO:CE, Squid Harder:SE, and War Twat

All the arena shooters in the bundle share one thing in common: they are all extremely colorful and psychedelic. Especially War Twat, which also comes with a “Colour Blindness Edition” for old people like me who tend to lose track of the bullets in the rotating color palette.

I’ve enjoyed playing all three games, but I think my favorite is probably Squid Hardest. The arena feels a bit larger, and I really like the music in Squid Hardest. I have gotten that little tune stuck in my head a few times already!

A game with an awesome name: Squid and Let Die

I haven’t had a chance to play Squid and Let Die much. I have only gotten far enough to verify that it runs well on the cabinet. The short description from the Bagfull of Wrong website sums it up pretty well:

Squid And Let Die is a game. Collect the dots. Do not die. The board is a death trap. Fight inevitability.

The retro-style, mostly green graphics bring back fond memories of the green screen monitor of the Franklin Ace 1000 we had when I was a kid.

The Bundle of Wrong is fitting in well with my glowing collection of modern, retro-style games on my arcade cabinet.

Added in October, 2012: G:Force

I might be cheating a bit lumping G:Force in with the Bundle of Wrong, but I am going to do it anyway. I’ve only played it enough to know that it seems to run under Wine. It is being a little persnickety and sometimes freezing up on the arcade cabinet, but so far it is running perfectly on my laptop. I’ll have to compare my Wine settings between the two and see if anything is different.