Oh, and I'm absolutely doing version control! That was the first thing I started doing once I started development. I work in IT management in my daily work and deal heavily with version control.
I'm using github (I think I posted a link to the public repo a while ago, which I haven't updated in many weeks), but I have a private repo with additional graphics files that I am using on my project.
I dislike git as a version control software, but it's working... mostly. I vastly prefer subversion, but github is pretty easy compared with some of the other dinosaurs like Sourceforge that still support svn.
Case in point: I made several cleanup changes to my .yaml files to work as the schematic/physical game work, and went to check them in, and git decided to delete everything in my repo. *sigh*
Luckily I have backup on backup (years of working in IT have taught me something, after all), and oddly, it didn't actually erase anything(?). I dislike git, as I mentioned. haha! I moved my repo to a subdirectory, so I guess it was showing me that it was adding the new path in the most alarming way it possibly could, with no statements about adding files or directories.
Anyway, I have fixed my computer, compiled all the supporting libraries (remember that I had to make some modifications to pyprocgame to make this all work, which I also can't check in. Thanks git.), and ran a game! It all still works on this new computer. The computer is removable, so I will be able to take it out of the machine to update the code. The only networking this machine has is hardwired, and that will be used to support the score/instruction screens.
Tonight, if I'm still awake (I'm honestly exhausted from the breakneck pace, and should probably listen to my body) after playing with the kids, I'll review all the trough switch procedures I've written to ensure that it is working appropriately (there are only two NC switches in the game, and I need to add them to the code), then I should be able to test!
I've found one issue. My development machine was a bit faster than this small embedded machine, so games with a ton of graphics (like Palm Beach) are struggling to execute. I noticed this issue on my dev machine, but thought the power equation was reversed. I'll have to work to improve my graphics routines as they are not at all optimized. But that's for some time between now and September.
Here's an overview of what's left to debug:
1) Testing each game's gameplay, ensuring that they reset and drop to tilt, accept coins, etc.
2) Add the free play and playfield Jones Plugs - those are not yet wired in.
3) Test that.
4) Add rollover switches! I missed them when drawing the schematic and they need to be wired. Luckily only two of the games I've implemented thus far use them. This will be one of the last things I do in this phase.
5) Test that.
6) Extend my score/instruction display cables to a power brick. I forgot that I cannot power them off of the Pis' USB ports. I had already set aside extra power plugs, just couldn't remember why.
7) Write the script to change the score and instruction displays - this is really minor and will only take a second. Basically, executing 'feh' to draw the image.
8) Write the SSH interplay between score/instruction displays and the main computer. I have to program each of the network ports with an internal range. I will keep it in the same subnet as my existing home network so that I can plug in easily to update each. Maybe one day I'll build a network cable long enough to make it to my existing switch in the gameroom. I think I have a spare box of cat6 in the attic somewhere... making more work for myself, haha!
9) Test that.
10) Final fit and finish wiring. Some of my latest wiring has been pretty hackish (for the motors, especially). I just need to tie it into the bundle a little better. I've been really concerned about this as I went through the game, so for the most part it's pretty nice. The back door is a jungle, though... that'll be the very last thing I do, after years of working on new games and such.
11) Test some more!
12) Write more games!
13) Work on the stencil. I've done this kinda backwards. I would have redone the stencil before filling the cab, but the hardware aspect is much more appealing than 'yet more artwork'.
14) Cosmetic fit 'n finish - I need to figure out a better way to handle the score and instruction display screens. They're a bit of an eyesore right now. I also have to tack up the trim around the head and mount my mattes and cut my plexi. Yes, I went ahead and bought some thin plexi. I really didn't want to have to replace the screen if shards of glass start a-flyin'.
15) Sound. I've done nothing with sound yet. I will want to record sounds from several different eras of bingos to playback while playing. That great motor sound of the control unit clicking away, the faint buzz and click of trip and normal relays, etc. Luckily, I have several different eras of bingos in house, and know a few folks with them.
As I mentioned earlier in the thread, Dennis has given me a great idea for the stencil, but I have to capitalize on that (if I can). It's a bit far from my thoughts at the moment. Right now I just wanna play some bingo!
Why would sound be last? Because this is a complex behemoth. I am also planning to take it in whatever shape it is currently in to the York show at the end of Sept. I do not want to mire myself in recording and editing sounds, working on integrating those, designing a speaker cutout, etc. until most everything else is done. You can hardly hear the games at the shows anyway, haha! This is my current goal, and I'll certainly be working towards it, as you might expect.
I'd LOVE to have the stencil done and some cosmetic stuff done before York, but time is short, even with my relatively compressed schedule.
I'm really hoping that my existing games work with little modification, but I'm sure I'll have missed something - after all, I haven't had the computer interact with the hardware yet, and I have zero experience doing this with this boardset. Luckily, the P3-roc and associated boards are very well laid out and thoughtful towards the person doing the wiring and the programmer. (I say luckily, but really, they are engineered very well. Also, this was part of the reason that I chose this boardset - it's not like I just opened the phone book and picked some boards. )