Your blog category
Returning to code a year later…
Another lesson in coming back… Another lesson in coming back to code a year later. Over time, no matter what kind of software you’re developing, you almost always get better. Then you go back to finish a project you worked on a year ago and for one reason or another, put on hold. Looking at the code, you wonder what on earth you were thinking?! So Rogues N Riches, a game mostly coded in late 2023, nearly completed and go put on hold for a multitude of reasons. Most of the game was complete, but there were a few minor issues that needed to be addressed still. Some of the effects appeared on top of windows that should be on top, so of the effects obscured things for other players, not to mention how I was handling the games cards, dealing, discarding, just the animations alone. Bandages… Going back and trying to fix some of that has turned out to be a much larger challenge than I thought. Don’t get me wrong, I tried and succeeded on most of it, but I still don’t like how it looks or feels. I’d been thinking about scrapping the gameplay script and scene and starting fresh with some new tricks and assets, but the thought of giving up all that work just didn’t appeal, so I tried to bandage it. Well, bandages only stretch so far and I have definitely come to realize that I need to break down and just rewrite the gameplay. There are just so many enhancements and easier ways of doing things this time around, it’s just getting the courage up to say ‘Hey, I wasted all that time.’ And even then, I guess wasted isn’t really a good word considering the lessons learned and how much easier and quicker it will be the second time around. Next Up? Now the hard part is, do I focus on Rogues or do I move to another project that I think will probably sell better? It’s a fun game, or at least it could be, I just have to fix it and that takes time. But I suppose, better now than never. I have plenty of time to think about and make a decision on it’s fate. Besides, it would be a huge waste to give up the resources already put into it, code and assets included. This will give me a chance to change out the 3d models and tweak the speed. Even for a strategy game, right now it just feels too slow, along with a slew of other changes I want to do but the current setup just wouldn’t allow for it without a lot of trouble. I still have that itch to start a new project though and scrap this one completely, or once again shelve it until later. Hmmm…. Something to think about this long weekend that will probably keep me from coding anyways…
Rewrite rewritten!
Amid all the distractions last night, not the least of which was standing in line for several hours to vote, I did manage to get some coding time in and made significant progress on Scratch’n Score, eliminating the issues with the old codebase. It took a couple days to truly get over it and delete the old code completely and rewrite it. I know I’m stubborn, but I backed up the two files thinking to use them as a reference, but the problem came when I kept going to them, trying to just copy and paste to fix it, rather than doing what I had intended, a rewrite. Once I was able to get my brain to cooperate, and after several heated internal arguments with myself, I convinced all those nagging thoughts that a rewrite, from scratch, was the better way to attack this. And the result? A lovely dice rolling simulator, that lets you roll until you scratch, or until you score your points and pass the dice to the next player. I amended the score calculating code to keep track of which dice in a roll were contributing to the score to eliminate players trying to cheat… For example, you roll and 5 of your dice are scoring, but that last one wasn’t. Well, you could cheat the system by just selecting all 6 and then boom, next roll it would think you scored with all 6 and let you reroll 6, instead of one. Not anymore. As a matter of fact, I think it’s going to be a default ‘house rule’ that if you try to include a non-scoring die in your take, it will be an instant scratch.. The rewrite also allowed me to handle some other things that would have been harder with the old code like having wild dice where if you’re lucky you could change one of the die values to anything you want, among other variations. In the long run, this was worth it, but painful. I hate doing a complete rewrite as I feel like I have just wasted all that time, but it was worth it. Hopefully this weekend I’ll get back to the code and finish up the gameplay portion. Time will tell!
Scratch N Score – Lessons Learned
So, one of the first things you learn in a learning environment for game design, is the game design document. A sometimes-vital work that gives you all the information and plans for a game, its features, everything about it at a glance. Depending on the game this could be a single page in a notebook or a multi hundred-page document. I hate design documents. Who needs em? My preferred method is to jump into the gameplay, start designing and coding on the fly, more often than not using actual production art. If I can’t see it, I can’t wrap my head around it. Now occasionally I do make up a design doc, but usually only on more complex projects like SLOA or Roll’N Bonez. In the case of Scratch N Score, I did not. I jumped in, started coding gameplay, had a whole thing already done and implemented and working… and then I realized I was wrong. My whole plan and process for each player’s turn was broken and just wasn’t going to work. Then I started a new job, plus I had two games in with the beta testers who kept sneaking bugs into my code… *ahem* Well they did an amazing job finding bugs, which I had to fix, then they found more, which I had to fix. So, the project for this sat dormant on the hard drive, collecting virtual dust until recently when I grabbed the vacuum, cleared the dust away and tried to figure out one burning question. ” WTH was I thinking?! “ Now that I’ve opened it back up, I figure I can re-use about 50% of the existing gameplay code, the rest is a scrub. Now this is a simple game, so we’re only talking a couple hundred lines of code. If it were a larger one like CashFlo was? Then we’d have some issues. I have plans now and have already started reimplementing part of the scoring display, which will lead to reimplementing the other parts of the code I had to scrap. It’s a work in progress but I can at least see now how it should flow and that will make it a lot easier to move forward. Word of advice for anyone who randomly stumbles across this post and reads my ramblings, design your stuff. Even for a simple game, it can save hours of refactoring, sometimes even days or weeks. I guess it depends on how much you value your time! In my case since this is a hobby, no big deal. Had I had a deadline with a publisher tapping their fingers? That would have been a problem!
New Release, New Website!
Welcome! It’s time to roll out the latest version of the website! Easier on the eyes, and definitely easier on me to maintain. I also stripped it down a little bit, removed some stuff like logins, ability to comment, etc. None of that was worth the moderation time since 99.9% of all the signups and comments left were all just spambots anyways. The site worked before, but I never really cared for the layout much. It was cobbled together and yes, it worked but it had issues. Now I love dark mode in most apps normally, but the site felt way to black if that makes sense. So now, we have a brand-new design that will make it much easier to update in the future! Today also marks the release of our latest title for the Infinity Game Table, Roll’n Bonez. This pirate themed dice game is fun for all ages and full of surprises! Roll your dice and let’s just hope the Kraken doesn’t come for your booty! Click the image above to check it out!