In this update1
Full notes
Full Josh Powlison's BUTTON: Mildly Remastered Edition update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- UI and audio
Josh Powlison's BUTTON: Mildly Remastered Edition changes
I thought this would help others. It would've helped myself.
12 Things I Learned Porting My Game to Unity
When you port your game to Unity, you have to know where you're porting it from. It took me at least 4 hours to realize I'd been trying to port my game from GameMaker, but I'd originally written it in Electron/JS. Duh!
If you think you're doing it wrong, you're doing it right. Porting is messy. Imagine replacing your house with an entirely different house! It's like that, only it has to be exactly the same! Which means that sometimes you think "wait, was that door always there?" Don't trust your gut, trust your eyes!! That's how you know you've struck gold.
Unity makes everything better. If there's one thing I've learned from this process, it's that the decision to port was the right one. Therefore, it must always be. I'm almost wondering if I should port the game again!
Don't sweat the small stuff. When I ported the game to Unity, I accidentally broke the ability to click the button. I thought this was a key feature! But it turns out I got a positive review on the game anyway, even with clicking broken. This helped me realize I shouldn't sweat the small stuff. So don't sweat the small stuff.
All that matters is it all. Remember that EVERYTHING must get ported. If you're looking through your code, and you're thinking "wait, line 5397 of file GameController.g.freezed.ts is missing from the game", you're lucky. You might've missed it.
Unity isn't that much better than other game engines. I could've ported to anything else and the game would've been better. The important thing isn't where you're porting the game to - the important thing is that the very act of porting your game makes it better!!!!
Unity uses C#. For a while, I thought I was writing TypeScript. Then nothing worked! When I switched to GML, still nothing worked. Then I finally tried Actionscript. And then I gave up and ate ice cream. After I came back, I remembered. I could've Googled it, but instead, I remembered. Don't forget to remember. It's important.
Unity has many versions. Which one do you pick? Well, I just followed my heart.
Unity has more code than you probably do. You might think you're losing a lot. But you're gaining a whole lot more. I thought I'd feel sad that I didn't have to write my own renderer in Assembler, but the reality is, that Unity solved more problems than it caused. Sure, I could've written something more performant if I went for my Masters in... whatever Programming masters are called... but instead of getting higher education, I went for higher practicality. Which is Unity.
Unity is a game engine. I thought it was only for AR projects. Turns out, it can do games too!
Unity is free, unless you make money. Kind of like healthcare in the US.
That means Unity is probably free for you too. I haven't made any money yet, and I know what I'm doing. While you might know what you're doing, if you did, you probably wouldn't be reading a post called "12 Things I Learned Porting My Game to Unity". You would've already done it!!
There, now don't you feel inspired?
Go click the button.
Euphorically yours,
Josh Powlison
Creator of Josh Powlison's BUTTON: Mildly Remastered Edition
Source
Changelog.gg summarizes and formats this update. How we read updates.
