]]>http://cpprograms.net/new-ludum-dare-game-closing-in/feed/0New Code Thing: cruddie-mockhttp://cpprograms.net/new-code-thing-cruddie-mock/
http://cpprograms.net/new-code-thing-cruddie-mock/#respondSat, 12 May 2018 17:57:41 +0000http://cpprograms.net/?p=476My big focus in personal projects is obviously retro gaming, but sometimes I run into an annoying problem that hasn’t really been solved the way I want to, and have to dig in.

I do web-based stuff sometimes, and to get started it often helps to have some dummy data to work with – when I looked recently I found two useful modules: Faker, which let me create fake data, and JSON Server which would create a server with real data based entirely off a json object. These both helped, but there was quite a bit of work to fit together a json object with all of the fake data. So, I put the two together!

cruddie-mock is a globally-installed nodejs command that will spin up a RESTFul server based on a bunch of json files describing your models – complete with randomized-but-believable data. If the results aren’t clear, check out the demo site, which is powered by the application example.

]]>http://cpprograms.net/new-code-thing-cruddie-mock/feed/0nes-starter-kit: C starter kit for NES gameshttp://cpprograms.net/nes-starter-kit-c-starter-kit-for-nes-games/
http://cpprograms.net/nes-starter-kit-c-starter-kit-for-nes-games/#respondMon, 23 Apr 2018 22:07:49 +0000http://cpprograms.net/?p=466I’ve been pretty quiet about game dev for a while, but that doesn’t mean it was forgotten. Since I went to MAGFest this year, I’ve been kind of obsessed with the idea of making retro development easier. The people I met made me realize that a lot of people want to get started, but aren’t sure how. While there are a lot of good options out there already, I realized there just might be a space for a code-based starter kit.

So, I made one!

nes-starter-kit is an attempt to make NES homebrew more accessible. It is presented as an intentionally short zelda-esque NES game, combined with a guide to update/change/replace every part of it. (Click above to play the game!) All changes can be done in C – no lower-level coding is required.* The game uses neslib and some custom extensions written in 6502 assembly, which should cover your needs without modification. If you want to tweak these or write some code in assembly, there is some guidance in the 5th section for this.

This is still very much a work-in-progress. The game is functional – it has collisions, enemies, and a way to win/lose. There are plenty of features that could be added, and I have a couple queued up, but I want to leave a lot up to creators. I do have some concerns about performance – I am preferring readability and easy editing over everything else. So far I haven’t run into any major issues, but I am worried other developers might. I am also not sure how useful it is with NESMaker on the horizon.

The guide is broken into 5 sections, and is about 25% complete. My current plan is to focus on this for a while, sneaking in some new code changes when I get tired of writing.

Let me know what you think if you decide to check it out! Is this something you would use?
Github PRs/issues/etc also always welcome.

Have fun!

]]>http://cpprograms.net/nes-starter-kit-c-starter-kit-for-nes-games/feed/0Squishy the Turtle on display at MAGFest!http://cpprograms.net/squishy-the-turtle-on-display-at-magfest/
http://cpprograms.net/squishy-the-turtle-on-display-at-magfest/#commentsFri, 05 Jan 2018 00:33:38 +0000http://cpprograms.net/?p=433Squishy the Turtle is on display in the Indie Arcade at MAGFest this year! Thanks to the wonderful people at Babycastles, it is being showcased on a Super Gameboy, in a cozy turtle tent! If you’re here, check it out!

Of course, this warranted giving the game a little extra love – I released a special MAGFest edition featuring a high score table for fastest completion times! It also features some minor graphical/movement fixes, as well as some level tweaks to be more fair. The new version is not available on the site yet! I plan to do that after the dust settles post-MAGFest.

Anyway, that’s it; I hope some folks get to play it and enjoy it!

]]>http://cpprograms.net/squishy-the-turtle-on-display-at-magfest/feed/2Fluffy Space Escape/Ludum Dare 40 Postmortemhttp://cpprograms.net/fluffy-space-escape-ludum-dare-40-postmortem/
http://cpprograms.net/fluffy-space-escape-ludum-dare-40-postmortem/#respondFri, 29 Dec 2017 03:47:51 +0000http://cpprograms.net/?p=421Results just came out for Ludum Dare 40, and I did the best I’ve done so far. I won’t go into numbers here, but you can check them out on the Ludum Dare page if you’re interested. I’m quite happy with the game I created, and it’s definitely reassuring to see others scored it well.

I thought I’d post a postmortem before I forget anything more about it. I might try to do this more with game jams; will see how it goes. It’s a bit long and rambly, so click in if you’re interested.

First, what worked: a lot. My time management definitely held out well – I actually found myself completing every last one of my stretch goals for the first time ever. I feel I’m getting close to mastering my toolset as well, giving me more time for the game itself. I spent a bit more time on polishing the look and feel of this game than prior ones – especially adding scrolling animations between screens. This was the absolute last thing I did, and it drew a lot of positive comments. I think I have neglected those little polish details a lot in the past, and this entry really showed me how much that stuff matters! I will have to prioritize some of that stuff sooner. (Plus, now I have an example for scrolling to work off of.)

I also feel like my artwork is getting better. It could always improve, but the bunny actually looked like a bunny, and the enemies weren’t too bad. Lastly, I think I really nailed down level design well this time – I was able to devote more time to it this time, and it seemed to show through. For a first puzzle game, (ever, actually!) I think this fared really well. Lastly, I switched to an html5/js based emulator this time, instead of flash-based. This was likely more accessible for players, and in addition it has less issues with lag/etc so it probably gave a much better first impression.

Of course, in anything like this there’s plenty of room for improvement. That falls into a few categories for me.

First, movement/mechanics. This was my first puzzle game, so I guess it shouldn’t be a surprise, but the enemy movement wasn’t very clear. A number of people just gave up on the game because they couldn’t figure out how enemies would move. I’m still struggling to figure out how I could have made it clearer. One idea might be to precompute what direction the enemy will move in next turn, and have the sprite aimed in that direction. (Doesn’t work for the ball enemies, of course…)

Additionally, the color of tiles threw a few players off – many players assumed that the color of the tiles meant something. (It didn’t!) I think I could have helped this by tweaking the first level’s design a bit, so that the player walks over both types of tile at the same speed before picking up a gem. That could have helped explain movement in general, too. I also could include an in-game screen with a short explanation of the mechanics – that could help for players that didn’t read the Ludum Dare page. In this case, I’d have pointed out the following:

Gems are required to exit, but slow you down

Enemies will always move the same distance every turn, and it varies per-enemy. (Would need a snappy way to word this)

Something about enemies always trying to follow the player? Something to make it clearer how to dodge, basically…

Second, music/sound effects. I will say this entry was one of my strongest ones for them – the music actually got a few compliments. (Not a common occurrence for me.) That said, the main track could have been a bit longer – it got repetitive pretty fast, and was very few measures. I also think it would have made a big difference to not restart the music at the start of every level – that was kind of jarring, and likely made the repetitive nature of the music worse. Finally, it really would have helped if I could have squeezed out at least one more track to switch to after a few levels, just to break the repetitiveness a bit more.

Lastly, there are a few features that would be nice to have for next time:

A way to speed up the level transitions. They’re kinda boring…

A way to skip movement animations; both for the player and the enemy. They’re slow, and sometimes unnecessary.

I was really happy with the results of this jam, and I’m definitely excited for the next one. I think if I can improve on the things I listed above, the results will be one of the best games I’ve made.

I spent some more time with my Gameboy game builder (AKA classicgb) recently, and the results are surprisingly good. I spent some time adding scroll animations, as well as tweaking the collision physics a bit. There have also been a lot of more minor changes in the builder. The end result is that created games feel much more solid!

There is still plenty to do; the editor still isn’t all that user-friendly, and the map editor is sorely missing some convenience features, to name a few. I’ll likely continue experimenting with this in the near future.

]]>http://cpprograms.net/gameboy-game-builder-improvements/feed/0Some fun retro game jam entries from 2017http://cpprograms.net/some-fun-retro-game-jam-entries-from-2017/
http://cpprograms.net/some-fun-retro-game-jam-entries-from-2017/#respondSun, 10 Dec 2017 03:40:04 +0000http://cpprograms.net/?p=366Most of my posts on this site end up being about something I’ve built, but I think it’s time to try something new. I recently participated in Ludum Dare for the 3rd or 4th time, and I realized that I had played a lot of really impressive games. Game jams are a fun test of skill, where you challenge yourself to go from nothing to a functional (and more importantly fun) game in a very short period of time. Success relies on having a commanding knowledge of your tools, and usually a strong engine to build off of.

Unfortunately, I don’t have the time or energy to go through all of the games I’ve played, but I thought it might be nice to highlight some of the cool games made for older consoles such as the NES and Gameboy. Details and screenshot and more beyond the fold!

Lunar Limit

Game Jam: Ludum Dare 38 (Compo)
Time limit: 2 days
Theme: A Small World
Restrictions/Limitations: None
Author: pubbyWebsiteEntry Page

Lunar limit is an 80s-styled arcade shooter for the NES. You’re a mini earth, and you’re being orbited by a satellite (aka “The Moon Cannon”) that is capable of shooting down your enemies. Oh, right, enemies – the miniature earth is being bombarded by alien ships and needs to survive.

I regularly do NES games for the Ludum Dare competition, and this one blew me away. It feels like a complete game, and the graphics were incredibly polished. The controls were unique, but very easy to get used to.

3D Vector Space Cab

This is a very simple game, but still very fun. It targets the Vectrex – a vector video display based console from the early 1980s. The system was effectively two colors (black background, white vectors) but you could simulate a colorful world with an overlay. (Which this game does!) Your task is to pick up and drop off passengers on a tiny world. You have to maintain your fuel as well, or you’ll come crashing back down to the tiny world.

Sticky Hooves In The Temple Of Vel-Cro

This is a (not-infinite) runner on the GameBoy! You’re a sheep running through a temple to get through to the end. There’s velcro in the temple that you can use to stick to the ceiling. The player automatically runs, so your only control is the A button. This is a surprisingly fun little game, especially given the limitations.

Polka Sheep

Polka sheep is a platformer made for BitBitJam 4, and actually the #1 entry! (Followed by Sticky Hooves, then my own Dizzy Sheep Disaster) You’re a sheep trying to rescue your friends. It uses single button controls, where there is a cursor moving left to right and you jump in that direction when you hit the A button. The controls and game are quite simple, which lends itself to a decent game.

As a last note, game jams are a big thing for me – over the past year I’ve made 3 Jam games of my own: Fluffy Space Escape, (Ludum Dare 40) Dizzy Sheep Disaster, (BitBitJam #4) and Missing Lands. (Ludum Dare 38) They all came out pretty well in my opinion, so give them a try if you liked the rest!

]]>http://cpprograms.net/some-fun-retro-game-jam-entries-from-2017/feed/0Ludum Dare 40 – Fluffy Space Escapehttp://cpprograms.net/ludum-dare-40-fluffy-space-escape/
http://cpprograms.net/ludum-dare-40-fluffy-space-escape/#respondMon, 04 Dec 2017 05:34:47 +0000http://cpprograms.net/?p=362It’s been a little while since I posted an update, so here’s one! I participated in my third (successful) Ludum Dare this weekend, and created another NES game.

This one is a bit of a puzzle game- you’re a rabbit trapped in space, trying to find his way back to earth. It’s a quirky little game, but I think it came out pretty well.

There was a theme of “the more you have, the worse it is”, which led me to make gems that slow you down as you collect them. You have to get them all to exit, so plan your escape carefully.

On a more technical note, this is one of the first times I’ve successfully used ppu scrolling in a NES game. I managed to do that in the last 2 hours of the contest. The scrolling is a little quirky – the hud tears a little. I could have sorted it out, but ran out of time.

]]>http://cpprograms.net/ludum-dare-40-fluffy-space-escape/feed/0Put your NES on the internet!http://cpprograms.net/put-your-nes-on-the-internet/
http://cpprograms.net/put-your-nes-on-the-internet/#respondSun, 04 Jun 2017 06:30:36 +0000http://cpprograms.net/?p=333I’ve got one more new (ish) NES project to share: NESNet. It’s a C library for making http requests from the NES.

You need some extra hardware originally designed by Rachel Simone Weil for her ConnectedNES project, but once you have that you can use it to do some pretty cool stuff.

So far, demos include a browser for the NESDev forums, and an asynchronous demo. Here’s a video of it in action:

My hope is someone will find this and do something really cool with it.

]]>http://cpprograms.net/put-your-nes-on-the-internet/feed/0Another Finished NES Game (Ludum Dare)http://cpprograms.net/another-finished-nes-game-ludum-dare/
http://cpprograms.net/another-finished-nes-game-ludum-dare/#respondMon, 24 Apr 2017 19:09:09 +0000http://cpprograms.net/?p=322This past weekend I built another game for Ludum Dare. For those unfamiliar, Ludum Dare is a contest where you have 48 hours to build a game from scratch. The theme this time was “A Small World”. I targeted the NES using my C Boilerplate library for the NES. As usual, it is tested and works on real hardware.

It’s a top-down action game featuring a frog in world with missing pieces. Your goal: to collect the missing pieces and restore your world.

]]>http://cpprograms.net/another-finished-nes-game-ludum-dare/feed/0A (Finished) NES Game!http://cpprograms.net/a-finished-nes-game/
http://cpprograms.net/a-finished-nes-game/#respondSun, 05 Feb 2017 15:36:17 +0000http://cpprograms.net/?p=295Those who follow me on social media or elsewhere may already know, however I recently released a brand new game for the NES. (Yes, the Nintendo Entertainment System from the 1980s) It is free to play online, and also an entrant into the 2016 NESDev Coding Competition.

It’s a typical sidescroller, with a very obvious nod to the game Eversion. (Which is fantastic, and worth trying if you’ve never played!) You play as a duck, who was tragically removed from his own timeline, and needs to find his way home.

If you like retro gaming at all, give it a try! Games in the competition will also (eventually) be available on a multicart, playable on a real NES, too! Source code will be on Github once I have a little time to document some of the messier stuff. I’m hoping this will be a helpful reference to future NES developers.

Having just finished, I’ve also taken some time to reflect on how the game went, so for those who want to know more, click the full post.

Okay, you made it this far. Rambling ahead…

Also note, there will be spoilers below. While the game’s story isn’t great, if you want to figure it out for yourself, play it first!

Reflections

The Good

The first thing that I think about is the gameplay. With a few noted exceptions, the game’s engine felt pretty solid to me. The various pieces – collisions, time/dimensional travel, etc all come together to form a very playable game. (Though, it could be said the collisions were pretty poor, and the movement needed help)

Another thing I’m proud of is the music. While it’s certainly not amazing, and perhaps not even good, it’s definitely the best thing I’ve produced, and I’d like to think it doesn’t detract from the game. My hope is that the tracks for different dimensions helped make them feel distinct to the player. From what little I’ve seen of people playing it, this worked.

The Not So Good

The game definitely has some shortcomings, though hopefully none enough to kill it. The first is the story. The story is abysmal. I thought my art or my music would be the worst piece of this game, but somehow I managed to make those borderline acceptable. I had a story in mind from the beginning, and while I think the story I tried to tell was reasonable, the way I wrote it in the game just didn’t tell the story the way I hoped. I should have made this a priority early on, but once I had the basic idea in my head I figured I’d be able to put it into good words. I think the biggest thing I didn’t anticipate was how hard it would be to cram my words into the limitations on what can fit on a screen (and what a player is willing to read) on a 256×240 pixel screen. As you might notice, I tend to be very… well, verbose in my writing. Much like every other part of development for the NES, you have to carefully tailor everything for the limitations of the system, and I definitely failed here.

On a related note, the ending feels underwhelming – mostly as a result of the lackluster story. I’d also like to have developed a more full feeling ending theme – what I had was just a rehash of the first theme you hear in the game. While that could have worked with some more finagling, I was never quite satisfied with the results.

Another thing that I’m concerned about is how obvious the warp zones are. The only thing I really do (as of 1.0) is darken the screen in them. While this is enough when you know to look for them, it’s pretty easy to miss the first time. I really didn’t want to tell people explicitly what to do here – that would take the fun out! (Plus, Waddles doesn’t know he has this power yet.) Still, making these zones stand out more would have been good. From what I’ve heard, we will have some time to polish entries before the multicart is published, so I may take some time to improve this – folks have suggested some simple particles and a sound effect while you’re in the zone. Both of these should be doable.

The Mistakes

My biggest mistake was probably not having anyone test the game early on. I had a few friends try it out, and I don’t think there was anything earth-shattering that was missed, but people playing earlier on might have made a few things more obvious. For example, the lack of clarity around teleport zones was immediately apparent during a later play test. There were also some minor level bugs, such as one spot where lava can take you out when you’re perfectly in bounds due to a level design gaffe – these could have been avoided. I was really focused on making the engine solid first (I still had some pretty regular ppu glitches until 2 weeks before submission or so) but slapping a “work in progress” on it probably would have been okay. Part of the challenge was also finding people willing to give a half-done game a try, but I could have done more to put it in front of people, such as post on NESDev.

Another mistake was neglecting certain engine features until late in development. The worst problem is the hitboxes for tiles that cause damage, such as lava and fire. I hadn’t planned for this when building the feature, and I put off fixing this until late in the game. When I looked at it, I realized I introduced a lot of risk of introducing other features by changing this behavior, so I ended up changing my level design to severely limit the times when it would affect the player. (Ever notice how lava is never at the same height as the ground around it?) The hitboxes on the fire are the worst due to their size – you can be a full 4-6 pixels above the fire sprite and be killed by it, which really stinks as a player. I also had a planned mechanic where you could extend your jump by flapping your wings, but I put off adding this so long that I’d have had to redesign every single level for the feature. (So, it was never implemented)

Yet another big mistake was the level design. I started with a few levels that had somewhat clever puzzles, and interesting uses of backtracking and the warp mechanic. However when I got to later levels, the designs got more straightforward, and focused more on platforming. I really wish I’d spent more effort on the designs for later levels – there was a lot of lost potential there.

The last one is much simpler – the title screen is way too simple. It serves its purpose, but doesn’t feature the main character, and is nothing short of boring. It is one of the first things people will see while playing the title screen, and I really could have afforded it a bit more love. I brought the final title screen in pretty late – perhaps if I had spread the art-heavy stuff more evenly through the life of the project would have helped. (Much of the art and music weren’t done until the last month or so.)

Other Lessons Learned

One thing I found was that I felt really limited by my music engine. Famitone2 is amazing, and really powerful. It fits a lot of music into quite a bit less space compared to other engines, uses less cpu, and significantly less memory. (At least in the zero page, where it really counts.) A talented musician could no doubt make an amazing score targeted at it. That said, I am an absolute beginner when it comes to composing for the NES. I very often found myself creating something I thought was nice, only to find out I had tripped over the note restriction again (C1-D6 only – anything else and the export will fail!) or tried to use some feature that it didn’t support. While I was able to tailor my music to work, I do wonder if I could have done better with the more complex famitracker engine, and just used all of the features of the tool to the best of my ability. (Since I started, the author of famitone2 published an example using famitone2 for sound effects, and famitracker for music, which could have been perfect!) Nothing I would have changed this time around, but something to consider for another project. (Perhaps one with more lax restrictions.)

I also learned a bit about how I work. About midway through, I found I wasn’t making quite the progress I liked. I had days where I’d make monumental amounts of progress, but then days I’d accomplish nothing, and had no motivation to work on it. I decided to make sure I made at least one visible (to me) improvement to the game every day. That could be something as complex as a new engine feature, or as simple as designing/improving a tiny section of a level. I kept this up until the day I submitted with very few exceptions (I didn’t do any updates during Magfest, for example.) and this helped keep me motivated. I strongly recommend trying this for anyone struggling in that way – seeing any amount of progress towards your goal feels good, and at least for me that was a huge motivator to keep the project alive.

Overall

Despite the mistakes and bad parts, and despite the lackluster placing in the contest, I’m pretty proud of how this game came out. It’s been quite a while since I’ve taken a project from start to finish in a reasonable amount of time, and not lost focus on it for something unrelated. Once people figure out the controls (including the teleporting bit) they’re off, and while the game provides a challenge it’s completely beatable in a single session. (Which is a good goal for a game on a multi-cart.) In my opinion it also has some of the same feel from the game that inspired it (Eversion, see the very top of this post) which is a nice plus. At least one play tester that was familiar with Eversion was able to call out the influence before I had made it obvious in the credits, so that seemed really positive.

If you got this far and have any questions about the game (or just want to chat about it) feel free to reach out – I certainly don’t mind talking about it.

]]>http://cpprograms.net/a-finished-nes-game/feed/0Make a Gameboy Game without writing any code!http://cpprograms.net/make-a-gameboy-game-without-writing-any-code/
http://cpprograms.net/make-a-gameboy-game-without-writing-any-code/#respondTue, 12 Jul 2016 16:26:44 +0000http://cpprograms.net/?p=257If you grew up with the Gameboy, you might have wanted to make games for it when you were a kid. Thanks to the power of the modern internet, this is now something you can really do!

ClassicGB is a simple game maker that allows you to use your own assets (or some readily available under Creative Commons) to design a simple top-down adventure game.

The games built will be very simple in nature, however full source code of games is available, so you can expand these yourself. This could be a great starting point for a personal project, or a Game Jam entry. (Make sure the rules of the jam allow for source code generators, though!)

This past weekend I spent some time writing a game! Squishy the Turtle is a Nintendo Game Boy game written for Ludum Dare 34 over the course of 48 hours. It follows the adventures of Squishy the Turtle, who must collect eggs to advance through the world. Squishy can grow and shrink in order to better navigate the world.

]]>http://cpprograms.net/squishy-the-turtle-ludum-dare-34-entry/feed/0More NES game!http://cpprograms.net/more-nes-game/
http://cpprograms.net/more-nes-game/#respondTue, 06 Jan 2015 22:09:05 +0000http://cpprograms.net/?p=210Quick update on the NES game. It’s still in very heavy development. I’ve branched off a first pre-alpha release of it – mainly because I plan on making major changes to the graphics as well as a switch to chr-ram in the next couple of days.

New features since last time:

A third (mostly empty… it has one screen) map representing a town

New text engine – there are two distinct entities you can talk to right now. (One is a sign. Find the other!)

The sword does something now.

There are two other weapons, one of which you can find in a new short dungeon (Both need some serious polish)

Saving/loading games

Two types of monster, which may drop one of two kinds of item.

I’ve set up the NES game page to let you load both this version and the latest, and also added download links for anyone who wants to try it in a better emulator.

Enjoy!

]]>http://cpprograms.net/more-nes-game/feed/0NES Game!http://cpprograms.net/nes-game/
http://cpprograms.net/nes-game/#respondSun, 09 Nov 2014 17:13:29 +0000http://cpprograms.net/?p=195So, I don’t post here too often, but I am working on something pretty interesting that I thought I should highlight. I’m writing an NES game from scratch in 6502 assembly.

The results are available on the NES Game page on the site. The page includes an emulator that runs the latest build of the game. I update fairly frequently, but right now it has:

Two supported maps with around a dozen developed screens.

A main character with collision detection.

A health system, and a way to die

Money that you can pick up

Music and sound effects!

A Sword that does nothing.

Not a very good description, but the idea is to build a solid adventure game engine, then develop a full-fledged NES game on top of it.

If you’re interested, feel free to reach out in the comments. As long as you aren’t advertising medications for certain body parts, I’ll be sure to get back to you!

]]>http://cpprograms.net/nes-game/feed/0Arcade Machinehttp://cpprograms.net/arcade-machine/
http://cpprograms.net/arcade-machine/#respondSun, 09 Jun 2013 21:13:51 +0000http://cpprograms.net/?p=149A post on the arcade machine I’ve brought back to life is now available. I’ve got some details about the basic setup, but if you’ve got any questions about it, feel free to ask. I wasn’t really sure what else to put down.

I’ve also found a little time to re-upload an old mod I made for Garry’s Mod back in the days of the toybox. It’s a silly weapon that fires baby dolls at people. For whatever reason it got some huge fanfare back when I made it in college. It seems to have found a small following again, as well. If you want it, here it is.

]]>http://cpprograms.net/arcade-machine/feed/0New Site!http://cpprograms.net/new-site/
http://cpprograms.net/new-site/#respondSun, 14 Apr 2013 14:16:28 +0000http://new.cpprograms.net/?p=18Hey folks, and welcome to the new cpprograms.net. I’ve moved the site off of my custom CMS and onto WordPress – let me know if you see anything missing. My old CMS is not bad, but it has really been completely eclipsed in features and would need a rewrite to get it back up to date. There are simply better tools out there nowadays. It will still be available on the site, but I’ll no longer be actively maintaining it. The site should still be mostly the same to navigate, and all existing file links should be properly redirected.

I haven’t really added anything new to the site, but I’m always tinkering with something; be it a minecraft plugin, a new website idea, or sometimes more hardware-centric projects. (Expect a post about an Arcade cabinet in the near future) I’m going to try to use this site more actively again as time goes on, but based on the past, I can’t make any promises.

(And yes, we lost all of the old news. Not like there was that much in there. Old site is at old.cpprograms.net if you need it.)