How i made Monochromia | From Idea to Released
A few months ago I finished my first, small game called "Monochromia"!
I made it for a Game Jam, it was challenging to make it on-time (I was a bit past the due date, so i didn't exactly make it on time! (But i still was able to submit it!)) and
Here's what i learned regarding making games. what went right, what went wrong, and what went at a 187° angle!
The Root of the Idea:
30 days prior to the start of the Game Jam, I started looking into Game Jams (Where they were hosted, How they work, all that good ol' stuff) and found they were commonly hosted on Itch, I thought they were neat, and i created an account for Itch at that moment, but i didn't have any reasonable ideas that would fit the themes.
That was until just randomly, like completely out of nowhere i got an idea for a small precision platformer (Okay-okay, maybe the idea came from inspiration by me nearly 100 percent-ing Celeste) that takes place in a monochromatic world separated by colors! I near-instantly got to work on concept art, and found a Game Jam that'd fit my idea! (IcoJam 2023 (Formerly called GeoJam 2023 at the time))
So, i had a great idea on my hands, and a jam that would work! The only thing i needed now was to prepare.
I needed to learn a bit more of Godot 3 (GDScript and how to use some features in the Engine) first, so i decided to finally get back to work on completing GDQuests' Learn to Code from Zero with Godot 3 course i had been procrastinating on for months!
Alongside doing the course, i also was experimenting with 2D platformer movement and tilemaps in Godot before the start of the Jam, and got a decent idea of how it works!
And i got quite far into the course, but the Jam eventually was nearing its start and i had to call it quits and finish the course later, developing the game with the knowledge i now had.
Now, onto the Game Development process:
- Day 1: Exporting Hell and Character Movement -
I started developing the game at around noon, the very first thing i did was create the character sprites and some assets in...
(looks at notes)
... PROCREATE?!
Yeah, i decided it was a great idea to use an iPad application that is not good with pixel art in order to create my pixel art game...
... ON A COMPUTER!
Yeah, i wish i had bought Aseprite sooner.
Anyway... during the creation of the character sprites, i actually made an entire animation with eight frames for a Dive move, which was scrapped from the game, aside that everything made for the character was pretty much used!
Once i was done creating the character and some assets, i had to export them, put them on an SD card, then put that in my computer and copy the files to my Godot Project folder.
... exporting was an absolute hell.
It took me SO long for me to export all the assets, it felt like no matter what i tried, the pixel proportions would get distorted from perfect squares, to stretched partial-rectangles.
Eventually, i did. And then i put it into my godot project and all was good.
I added the character sprites, made a basic room, created some assets/obstacles (The obstacles in this game were actually stuff like that
- Creating the Character Movement / Day 1/2 -
Creating the movement was a bit hard to me, i had to read some tutorials and such in order to get some certain things to work properly (I'm looking at you, dash mechanic.) but it mostly went smooth!
The code looked and still looks quite messy, it doesn't really use state machines or anything like that properly, it just works i guess.
Since it didn't cause lag or anything, i didn't really bother trying to optimize it to the max, it just worked and that's all that was needed
I added everything but the wall-jump for Day 1 and 2
Nothing else was really done except for me creating the BGM in garageband in these 2 days.
Before i move onto the juicy stuff (Day 3), i got something to discuss
- How to use AI in game development and how NOT to use it. / Day 1/2 -
Why is this something i'm discussing? Because i used a bit of AI to help create my game, and i think what i did should be how developers use it.
What did i do? Well, I didn't use AI to create code quickly and easily for me instead of doing it myself, I didn't use AI to generate art for me in any capacity, none of that.
I did use it for Troubleshooting, and Guidance though. Let me elaborate:
- Troubleshooting:
-- I used ChatGPT to help me figure out what some certain errors in the debugger meant that i couldn't understand, to figure out how to fix them.
- Guidance:
-- I used ChatGPT to summarize how to implement some mechanics sourced from the Godot Docs to save some time.
AI in development shouldn't be a replacement; it should be a tool used very occasionally like as an easier way of browsing the docs for the specific engine in use.
Now onto the juicy stuff...
- Day 3/4 -
I worked myself tirelessly on this day trying to get it out in time, i had 30 rooms to design, and a bunch of scenes, some obstacles, and tiles to make.
I just kept working myself tirelessly to the point sitting down was hard, and that was probably my biggest mistake
When developing games, you should take breaks, like a 5 minute one every 30 minutes. But i didn't, and that is something i desire to not replicate.
I lost 2 hours of work on some huge bug on this day too, and it was with global variables for the BGM. And that led me to learn to expect the unexpected; as there'll probably be SOMETHING tedious that'll happen during development and this was that thing.
And for the wall-jump? I originally wanted to replicate how it works in NSMB, but i ended up making it so you could climb up a wall 3 times, or 2 times then jump off it onto a platform for the third jump (I also indirectly added a mechanic where dashing back onto the wall after jumping 3 times on it would let you jump 1 more time, so thats cool. And also-also, it kind of fitted with the 3-2-1 theme too!)
Overall, Day 3 was basically a glimpse at what crunch feels like to me.
I decided to finish the last 10 rooms on day 4, and so i did.
It's then done, right?
NOPE! Because why would it be done now?
Yeah, uhh... I forgot to properly configure the window size, so when going to fullscreen on a monitor you could see out of bounds.
At this point i wanted to quit, but i did not. After like 4-or-so attempted fixes, i finally figured out how to fix the issue (Thanks GDQuest.), The screen size was eversoslightly changed, so i had to review all rooms to make sure nothing weird was able to be seen.
But then after that, i was finally able to publish the game!
The End!
... well a day after that, i nearly lost the initial project source code/assets when trying to export to HTML5 to draw in more players due to a bug on my computer. Life is fun! :D
So, what did i learn?
Primarily, to just endure through the experience, to take breaks and not crunch myself, to be prepared for the unexpected, and to NEVER SIT DOWN ON A FLAT CHAIR WHEN MAKING A GAME FOR A 72 HOUR GAME JAM!
One last thing before i go: I'm actually developing a V2.00 for Monochromia (Found Here), and its going pretty smoothly despite the delay i was forced to issue!
If you wanna play Monochromia, you can find the game here: Link to Monochromia
Anyway... Thanks for reading my TED Talk!
Sincerely,
DiamondCore.
Get Monochromia Classic
Monochromia Classic
Dash through it all! Can you get to Lavender Falls?
Status | Released |
Author | DiamondCore |
Genre | Platformer |
Tags | Atmospheric, challenge, hard, monochrome, precision |
Accessibility | Color-blind friendly, High-contrast, Textless |
More posts
- Monochromia V2 - probably cancelledDec 04, 2023
- General updates on Monochromia V2.00Nov 03, 2023
- Verson 2.0 Announcement for Monochromia!Sep 06, 2023
Leave a comment
Log in with itch.io to leave a comment.