My First Game Jam!


Hello!

For my first ever game jam, I wanted to create my first game with 3D assets in Godot. For context, I have made a few small 2D projects before but this was my first dive into the 3D side of things. I decided on Magh Meall, I wanted a sort of survivor-like game but from a 2.5D sort of perspective. I worked as a solo dev for this project

What did I set out to learn?
  • Goal #1: I wanted to learn how designing a game in 3D works in Godot
  • Goal #2: I wanted to learn how animations and animation trees work in Godot
  • Goal #3: I wanted to submit the game before the deadline, and put my focus in the appropriate places to ensure it's completion
And what did I NOT set out to accomplish?
  • Non Goal #1: Develop and overly complex game, keep it small and simple
  • Non Goal #2: Spend time worrying  about balance or aesthetics to the point where it would be a detriment to the actual game play being worked on instead

What did I actually learn?

I’ve been doing gamedev as a hobby for about 6 months or so now. With every game I complete I can feel the ceiling get that much higher for what I can accomplish next time and this is certainly the case for this game.

Goal #1 Insights:

  • Maybe I bit off more than I could chew, but I had a lot of trouble with rotations and transforms. I really wish I paid attention in Computer Vision class in college now hahaha. Trying to get the rotations and transforms to work the way I wanted was pretty fun though, and although I'm not totally satisfied with the result in this aspect it's certainly a point of improvement I can pursue on my next project.
  • Getting the camera to work the way I wanted was very fun and I think the end result is pretty nice. I have the camera trail the player at an offset and it has a slight drag as the player moves. The camera definitely plays a larger role in these 3D games' gamefeel over a 2D game so it was something I wanted to spend some time on. Having a nice scroll to zoom feature also made the game feel a little less amateur.
  • Collisions in 3D was also something I had trouble with. Masks and layers quickly became hard to keep track of when I had so many objects (projectiles, the ground, the player, enemies, intractable items). I'm almost certain there are some layer-based bugs still present in the game.

Goal #1 Actions:

  • Watch some more tutorials on rotations/transforms/vectors etc. A lot of the errors I was seeing literally made zero sense to me, eliminated them to the point the game was playable in the end but would like to increase my understanding a bit more.
  • For collisions, I could have resolved a lot of my issues by specifying what layer everything would reside on within my GDD rather than making it up as I went. It was not something I thought to plan out at all so this was an eye opener.

Goal #2 Insights:

  • I was very surprised at how intuitively animations can work in Godot. Each of my animations was just one keyframe long, and my animation tree would determine the blend between each of these poses. If I was swapping animations, I would lerp to zero on the blend on that specific pose and lerp up to one on the other animation and reassign the values like so:
    anim_tree["parameters/Dash/blend_amount"] = dash_val anim_tree["parameters/Run/blend_amount"] = dash_val
  • For someone who has very little modelling or animating experience, this was an amazing thing I learned. With very minimal posing and animating, with some good code you can still make animations that look pretty decent!
  • For the player character, I have like 4 poses but it still looks extremely dynamic. I also generated an after image but duplication the skeleton and increasing the alpha. Had a lot of trouble keeping the performance sort of okay until I realized I didnt need to duplicate the collision stuff, just the mesh was needed basically

Goal #2 Actions:

  • Although I think the animations for when my character is in the air looks really good, the walking animation is so-so. In my next project I'll improve my posing even further.

Goal #3 Insights:

  • I'm here writing this 3 hours before the deadline. The game is done, so I guess this is one I certainly achieved :)
  • Unfortunately I didn't have as much time to work on this as I would've liked, out of the two week period I pretty much just worked on it the past 4 or 5 days. Definitely could've made something more polished, but considering the time frame I'm very proud of the result.
  • I definitely managed this because of a well done GDD. If I can remember to write up specific tasks, I really do have no problem sticking to my deadlines.

Goal #3 Actions:

  • I'll be sure maintain the importance of the GDD in my future projects.
  • Another action I'll keep implementing is to never give up! There were many times when things weren't looking too hot in the game that I felt like I had hit a complete road block and I may as well just stop, however the morale swings totally in your favor every single time you get over that stupid bug that's been holding you up.It's that feeling that makes me love gamedev :)

As for my Non-Goals:

  • Didn't let scope creep take over, I set out precise boundaries for what the game would be an executed on them.
  • Definitely an improvement over my previous projects. I have a massive tendency to hyperfocus on one stupid aspect of the game and it really hurts the experience. For example, in this game I was really trying to get nice after images for the enemies working too. But with the performance cost, the tweaking that would be needed to keep the enemies still identifiable on screen when in groups etc. It just was not worth the time investment, so I kept it simple for the enemies and moves on. They're just blobs for the player to kill anyways.
  • I'm proud of myself for not falling into this trap this time around, was able to put lots of tiny things that cause unnecessary complexity like this aside so I could get the game submitted and actually have something pretty playable.

All in all, really happy I chose to participate in my first ever game jam. I was surprised that I actually had fun playing my game, the power scaling is so crazy it just made me laugh. I hope anyone who plays it can get a laugh or smile :)

ASSETS:

https://stayathomedev.itch.io/stylized-grass-shader

https://stephrobertgames.itch.io/villager-men-psxlowpoly-design

https://elbolilloduro.itch.io/trees-psx

https://styloo.itch.io/3d-weapons-asset-pack

https://sketchfab.com/3d-models/heartlow-poly-8fa9f20549c74bc99dc209ac795d7ca1

Sound effects from FreeSounds.org

Music made by myself and a friend

Files

Magh Meall Jam Edition 83 MB
Jul 04, 2024

Get Magh Meall

Leave a comment

Log in with itch.io to leave a comment.