I've been playtesting the whitewood every chance I get (which hasn't been much over the past week).
The couple of gremlins have been worked out regarding switches and lamps. Part of this is my own fault as I reused the switch wiring rather than starting fresh. Much more difficult than it should have been because I don't have a proper harness yet.
Switch issues were because I marked two of the switch boards incorrectly - so I put switch board 2 in place of 3, which had improper dip switch settings.
Lamp issues were more nuanced. Two connectors needed re-seating (8 lamps were out), and as I mentioned previously, the lamp numbering changed.
I've been so busy reviewing the way the module plays that I haven't addressed the couple of major bugs that existed.
1) The software will seem to get stuck when the first ball is in play for a few seconds. I've disabled the ball save and this has alleviated part of that concern. I suspect there's a recursive loop that's recurring a few too many (infinite) times. Haven't quite found it yet, and I'm still refamiliarizing myself with the code, so it might take me a minute.
2) Lamps! I noticed that all are lighting, but the wrong colors are displaying. It's pretty odd as if I track an individual LED, I can see it get the signal to change colors. Turned out I had manually set the polarity to the wrong option on -every lamp- in order to troubleshoot an issue with the prior whitewood, and completely forgot about it. Set them back this morning, and look forward to reviewing the change.
From a 'production-readiness' standpoint, there are several improvements made to the game:
1) Two sizes of nut drivers needed - basically there are these tools, a rubber mallet, and a little epoxy needed to assemble the entire game (physically).
2) T-nuts everywhere
3) Lamp board placement is no longer an afterthought. First whitewood used fische paper to insulate the lamp boards, no longer needed in v2.
4) Photos and documentation made during assembly.
To-do (production):
1) Make a wiring jig to help speed up assembly (coils, switches, lamps).
2) Update wiring diagram.
I would like to develop the above (and of course continue to refine the software) before making beta modules for the testers.
From an art standpoint, my artist got back into the swing of things and finished the custom font. They had never made a custom font before (and I haven't either), so there was an interesting learning curve. Turns out that I didn't learn enough. They made it to my specifications, but it was unusable without a tremendous amount of additional (art) effort, so I suggested that we move to other pursuits and just use a ready-made font. Kinda crushed their spirits a bit, but I'm a firm believer in learning from failure and sticking to my own internal deadlines/keeping the work moving. The font must be settled to progress much further on the remaining artwork, so we have to move on. I'm still working on finding a good font to use for plastics and module (insert) artwork - getting closer, though. The artist will be starting on plastics today (hopefully).
From a physical standpoint, the drop target placement and slot width for the drops is slightly different from the first whitewood. This means that a HARD launch into the drops will brick and bounce right back into the launcher, haha! My launch definitions take this into account, and will automatically fire out of the other launcher, but I need to go back to an idea about a skilled plunge that maxes out at a percentage of the max launch velocity that it uses currently. That should also ensure that improperly leveled games will still get the intended unpredictable/dangerous launch.
I had several lamp socket holes (and dimples) cut in this version, but have not yet installed them. I am planning to drive those as I do the pop lamp currently, and they'll function as GI. The implementation of this might change the planned screen mechanism, which I'm still pondering. The screen mechanism would add a really nice feature, and the code already dynamically enables/disables those mechs if they are present or absent. Time is all I need.
The changes in geometry have made certain shots allow the ball to take interesting paths. The ball is much more active on this robo-cut than it was in my hand-cut version (which is as I intended). I get fewer airballs now that plastics are in place (only one in about a hundred games so far - ball was launched by the upper right sling on top of the plastic, which allowed it to roll down without incident).
The best change is the geometry around the gobble hole. It now is much easier to hit (when you want to). A good thing. The post changes have also made a big playability difference. It's no longer a struggle to hit any of the targets facing the player directly. The hardest targets to hit are still those mounted above the pop (just the right angle on the ball or, better still, hitting the pop are your best bets for manually). I find that I rely on the spotting features for those most of all, but the rules don't require those (or many other) targets for progression.
I'm excited to see what some of my friends think of the changes.
On the code side, aside from the looping bug I mentioned, I have some interfacing changes to make - aside from the main font used in the game, and adjusting in every interface, I have that launch change to make. My implementation of that might change from what I've got planned at the moment, so more on that once I have it written. I also have no sounds and placeholder art in much of the game currently. I'll be excited as that develops. Once I am almost to the point where I'm satisfied enough to start building the beta modules, I'll start working on music, sounds, and voice actors.
Lots left to do, but quite a lot has already been done. The game is fun to shoot currently and works almost as intended. Those are both great things, so I'll take that for now.