Skip to content
b3agz

Indie Game Dev, Science Fiction, Stuff

  • Home
  • About
  • YouTube
  • Twitch
  • Writing
  • Music
  • Shop
  • Support The Content
GERTRUDE 3D Platformer Screenshot

Learn You a Game Jam 2024 Devlog

Posted on June 30, 2024June 30, 2024 By b3agz No Comments on Learn You a Game Jam 2024 Devlog
Blog

GERTRUDE is my entry for the Learn You a Game Jam hosted by The Captain Coder. The theme for this jam was “Only 1 Inventory Slot”, but the intention of the jam is to push entrants to learn something new.

If you are interested in playing the game, you can find it on Itch.io.

My plan for the game was to make a 3D platformer in the vein of PS1-era games like Spyro the Dragon, and Medievil. My plan for learning something new was to open Unreal Engine for the first time in my life and try to use it.

Fate had other plans.

The Game

Sticking with the 3D platformer, I decided to make my game about a small robot that exists in a post-human world. Humanity is gone (either extinct or evacuated) and Earth is populated by the machines they left behind.

The player takes on the role of one such machine—a menial labour robot—whose friend is in need of a part to stay alive. In order to find the part, our hero must venture out into the world.

My interpretation of the theme took the shape of the robot having a solitary “feature module” slot, allowing them to gain additional features by using feature modules, but only one at a time. Features would include things like double jump, flying, dashing, etc. The player would have to use these feature modules to navigate the levels.

Learning Unreal

My experience with Unreal got off to a rocky start and failed to improve. I initially found that I was unable to load the engine at all if DirectX 12 was enabled, forcing me to edit a config file to get the engine running. This also meant some nice Direct X 12 features in Unreal would be unsupported.

Once in the engine itself, I found it slow and unstable. It would crash every 5-15 minutes, take impractically long periods of time to perform simple actions, and provide a generally infuriating user experience.

During my first stream attempting to use the engine, Unreal developer Aug16th offered to walk me through some basics and, despite the pain and suffering, we were able to get a basic 3D platformer up and running in around 2 and a half hours.

Unfortunately, Unreal proved to be too unstable to use.

After establishing that my computer was more than powerful enough to run the engine, I spent around 5 hours trying to figure out why Unreal and my computer wouldn’t get along, but to no avail.

Unreal Postmortem

As someone who comes for a more code-based branch of game development, I can see the appeal of Unreal to people who do not know how to code. The Blueprints system is fairly intuitive and Unreal does a lot of things that you would have to do yourself in other engines.

In fact, Unreal not working may have been a blessing in disguise. The scope of my game was essentially completed in that 2-3 hour period of working with Aug16th due to how much is already done for you in Unreal.

Ultimately, while I see the appeal, I don’t think Unreal is an engine I will be coming back to for game development. I am by no means an expert coder, but I prefer to get my hands dirty, so to speak.

Learn You a Game Take 2: Godot and Blender

With a day of the jam already wasted, I needed something new to learn. I considered picking up a different new engine but decided to go with Godot in 3D. I have a couple of months of experience with Godot, but I have never done anything in 3D.

This didn’t feel like enough, however, so I decided the main thrust of my learning journey would be learning to model, rig, and animate my main character in Blender.

3D Platforming in Godot

While I had not done 3D in Godot before, I felt as though I had a solid enough grasp of the engine and enough experience working with 3D in other engines that I should be able to pick this part up relatively easily.

I was…partially correct.

Thanks to Godot’s CharacterBody3D class, getting a working character up and running was relatively painless. Once I started setting up the third-person camera, I began to miss Unity, where there seem to be far more in-built functions for things like manipulating the rotation of a transform than there are in Godot.

But Godot was not the main focus of my experience, so I wrapped up the character controller, added the ability to pick up feature modules, and moved on to Blender.

Character Conceptualising

A little brainstorming with Twitch chat resulted in the name GERTRUDE, an acronym for General Errand Robot Tasked with Reducing Unwanted Duties Efficiently. GERTRUDE would be a small, cute robot that was originally designed for tackling small household chores.

A fancy Roomba, essentially.

I got to work sketching how GERTRUDE would look and, because I was already using Godot and Blender, I decided to find myself some FOSS art software to sketch in and downloaded Krita. A short sketch later and I had my main character!

Modelling

The process of modelling GERTRUDE went relatively smoothly. I have used Blender in a basic capacity before so I was able to fumble my way around some parts and, with the help of chat and Google, figure out the rest. I used modifiers for the first time and to get creative with UV mapping, this process was relatively painless.

Rigging

This is where things started to get tricky. I have never rigged or animated anything, so I would need some help. Surprisingly, the only resource (other than Google) that I used during this process was a 3-minute video on rigging by Royal Skies.

This video was far from comprehensive, but it showed me enough to get going, and everything it didn’t show I was either able to solve with a quick Google search or with help from Twitch chat.

The process of rigging was mostly intuitive, though I struggled somewhat with understanding how Blender handles multiple “objects” attached to a single armature.

Animating

The animation process was very straightforward. I have used timelines and keyframes in other types of applications, so that part was very intuitive to me. What was not intuitive was the Blender UI.

Specifically around the animation process, the UI felt clunky and needlessly complex. On one occasion I accidentally deleted an animation and created a new empty animation. I still do not know how, I assume it was an accidental shortcut key. The annoying part is that I wasn’t even working on an animation when it happened.

I consciously decided to create a character that did not have legs to simplify the animation process. Knowing that I would be learning to rig and animate from scratch, I didn’t want to heap more work onto my plate by rigging dozens of extra bones and more complex animations. Now that the project is over, I am confident I made the right decision. I now have the technical skills to make a more complex animation like a bipedal walk, I would just need to study videos of people walking.

Final Thoughts

Though I certainly do not consider myself to be an expert at Blender or Godot, I now feel confident that if I had to make and animate something in Blender or build something in Godot 3D, I could do it. The skills I have acquired are foundational, and while they don’t cover everything, they have given me enough of an understanding of the concepts that I would at least know where to start for the things I don’t know.

That being said, having acquired these skills, I do not suddenly feel the need to use them.

I did not get the same ratio of effort to satisfaction that working things out in code or creating pixel art provides, and given the time it takes to go through the modelling, rigging, and blending progress, it is unlikely I will ever decide to take on a project that involves substantial 3D modelling.

I am glad I have learned these skills, and I’m sure they will not be wasted in the many, many, many projects I decide to work on, but my future as a game developer lies more in the realm of code, 2D, and using assets or working with people who enjoy 3D modelling.

Related

Tags: 3D Animate Blender Godot Krita Rigging

Post navigation

❮ Previous Post: I TRIED to Make a Game Using ChatGPT

You may also like

codes on tilt shift lens
Blog
Code 4 U!
December 5, 2022
b3agz Cloud Logo
Blog
Twenty Twenty Three
November 22, 2022
Hate Messages
Blog
I’m Dropping Twitter
July 31, 2021
Blog
UPDATES!!!!111
January 8, 2023

Leave a ReplyCancel reply

Recent Posts

  • Learn You a Game Jam 2024 Devlog
  • I TRIED to Make a Game Using ChatGPT
  • UPDATES!!!!111

Site Navigation

  • Home
  • About
  • YouTube
  • Twitch
  • Writing
  • Music
  • Shop
  • Support The Content

b3agz On YouTube

Gamified Grief Tourism For Sad People?

What Remains of Edith Finch is a walk through the strangest family history you’ve ever seen. #EdithFinch #Shorts #Games
Gamified Grief Tourism For Sad People?
Now Playing
Gamified Grief Tourism For Sad People?
What Remains of Edith Finch is a walk through the strangest family history you’ve ever seen. #EdithFinch #Shorts #Games
A Game About Mining and Crafting... But Not THAT One
Now Playing
A Game About Mining and Crafting... But Not THAT One
Core Keeper is like Terraria, but everyone’s underground, starving, and absolutely clueless. Bring a torch, you’re going to need it. #CoreKeeper #Shorts #Games
1 of 67

Social Media Links

  • YouTube
  • Twitch
  • Instagram
  • TikTok
  • Facebook
  • Twitter
  • Mastodon
  • Medium

Copyright © 2022 John Bullock.

Theme: Oceanly News Dark by ScriptsTown

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT