I ported my upcoming game to a console
Why I ported my new game to a console
There has been a bug with the shadows in my game for a long time. Previously, if multiple overlapping sprite all had shadows, you would see an extra-dark area where the shadows overlapped. You could see this on the player character whenever you were carrying a present, because the player's body, the present, and the player's arm in front of the present are all separate sprites.
After watching Jasper's great youtube video about 3D rendering last week, I was in the mood to learn more about graphics programming so I thought I'd try to fix the issue. I had to learn a lot of new things about modern rendering techniques, but I got it working thanks to some great advice from Jasper themselves about what I needed to learn. Thank you Jasper! I wish I had some "before" images for comparison, but I can assure you that the player's shadows in this screenshot look much better than they used to:
Now that the shadows were working in the PC version of my game (using DirectX), I decided to get them working in OpenGL while I was still in the mood to learn graphics programming. And once that was done, I figured that I could take the code from my in-development console port of Chessplosion (which is finished except for the online multiplayer) and quickly make a console port of the new game too. Turns out I was right! The only new work I had to do for this game's console port was the shadow rendering, and everything else just worked using the exact same code as Chessplosion.
So what started out as a fun way to spend a few hours learning about graphics programming turned into three days of work and a finished console port of my new game. I should have been resting during that time, and I don't plan on doing more work during the remaining 2-3 weeks of my vacation, but it feels great to have a new console port!
Which console? When's it coming out? What about Chessplosion's console port?
Although I've done all of the programming and testing for this console port, I haven't looked into any of the rules for when you're allowed to announce a game for that console, or when you're allowed to announce its release date, or anything like that. So I can't fully confirm anything yet, but I can try to give some vague answers:
Which console? A popular one that has a handheld mode and a docked mode and lots of charming brightly colored first party games.
When's it coming out? Hopefully at the same time as the PC version! The port is finished, although it hasn't gone through testing or approval by the console manufacturer so maybe there are some obscure bugs that can happen if you undock the console while disconnecting and reconnecting a controller and pulling out an SD card or whatever. I've never gone through this process on one of my own games before so I have no idea how long this testing progress will take, but it might not be too bad. I hope I can announce the game at the same time as the PC announcement too (aiming for early February) but I'll have to read through the console company's documentation to check if there are any steps I need to take before I'm allowed to announce a game for their console.
What about Chessplosion's console port? I still want to finish and release this! My current goal is to finish my new game, with some extra buffer time before the release date so that I can hire translators and give them time to translate all of the in-game text. While they're all busy translating the new game, I can go and work on adding online multiplayer to Chessplosion's console port. If all goes well, I can release Chessplosion's console port a couple of months after the new game, but who knows how hard the approval process for console online multiplayer is. I currently only own one devkit for this console, so I'll probably have to buy or borrow another one for testing out multiplayer too.
Will the console ports run at 60FPS? Yes, easily. These games really don't need a powerful CPU or graphics card at all. A few people have asked me this question. and at first I was surprised they would even ask. But I guess there are enough indie games out there that struggle to hit solid framerates on this console that it's worth confirming.
Other things I did this week
- I made a post on Cohost about how clicking the Games like Chessplosion button on itch does a much better job of recommending me games than their actual recommendation algorithm. Thank you to everyone who bought Chessplosion on itch. Your good taste in games helped me find some fun games to play!
- I finished Metal Slug 2 in one credit! It was not a pretty run; my only death was to the stage 4 boss somehow, the first phase of the final boss gave me no weapon drops, and when I got in the final tank at the climax of the game I accidentally self-destructed it two seconds later and I had to play the rest of the fight on foot with a pistol. Why is pressing the jump and attack buttons at the same time the command for blowing up your own vehicle in those games!?
- I saw Season 2 Episode 7 of Pop Team Epic. It's so good! Turns out you don't need a high budget to make exciting art.
- I came up with an idea for a fun new feature to make the world of my new game feel more interesting. But I'm supposed to be on vacation, so I won't work on it for a while!
That's all I have for this week. As always, if there's anything you want to comment on or talk to me about, just reply to this email. Otherwise, I'll see you next time!