Chris wasn’t kidding. The first thing he asked me, rolling his eyes (I could tell) was why I chose to develop this game in a beta engine.
“Why not?”
“Yeah… but why Bevy?”
I dunno. I was learning something new and I figured it would be a challenge and as I was speed-coding through the winter the updates to the game engine were few and far between.
“Yeah, but it’s beta.” he said. He’s a seasoned code guy, does it for a living, even has a little YouTube channel where he posts coding sessions as instructional bits.
“I’ll cross that bridge when it comes.” I shrugged.
Then life happened. Life always happens. And I blinked and a couple months had gone by and Bevy 0.16 was released. I had coded the Pleck’s Mart on 0.15 and… well, you can guess: it had issues. There was that bridge I was trying not to think about crossing.
I spent a lot of hours staring at the migration guide and poking at errors and trying to reconcile the changes from 0.15 to 0.16 in my code. And, you can probably also guess, I never fully got it to work. I always had a half dozen lingering little bugs, usually with how libraries were coping or how I was handling some entity. (The game is full of entities. It’s basically haunted.)
Another couple months passed, and, third guess: the next version of Bevy appeared: 0.17
Somehow I was even deeper in the hole… and two versions behind. That’s the problem with beta engines that Chris was wisely alluding to… they are in flux. Things are changing with every little release. They may tweak something to improve it a little or they may completely overhaul how a whole system works and… suck it, your game is broked dude.
I needed some motivation to push through this barrier that had appeared in front of me.
Then it arrived.
Last weekend after billing out for some actual work I was doing over the summer I spun the a little bit of the money I made back into a new computer. Coding, even coding games, is a legit business activity for me. I may even make some money some day and the when that happens my “consultancy” can blur together in with my “game studio” officially and it’ll all be legal. Plus, people like to hire people who have coding bonafides and making a game from scratch in an obscure language is a certified bonafide, right? I’ll cut to the chase tho: new computer meant I suddenly had a business laptop capable of handling serious coding. MacBook Pro with the Pro chip and a heaping pile of memory. And my wife was not going to borrow it to take her Zoom pilates class.
So after I did more serious work and finalized some real contract stuff, I loaded up my git repo on the new laptop and pulled the source for Pleck’s Mart… and put my head into seriously getting it to run again.
> cargo build … 298 errors on the first go.
Ugh. Bevy! What have you done to my game!?
Fast forward a couple days and about fifteen hours of work and reading through the API docs later…
Yeah, I admit I caved and asked some advice from AI on a couple of the things I just couldn’t wrap my head around, but it turns out most of the issues were tied up in some efficiencies added in 0.17 and then around the structure of the modules being updated. Once I got that sorted and such I whittled the error list down to double digits… then about an hour ago to single digits… and then about fifteen minutes ago it built… and ran.
I haven’t really tested it. It ran and I got to the menu and was like, holy spit it’s time to commit… and figured I should log and commemorate the moment here.
Next step: don’t take another long break. Get back into the game.