What was planned /vs/ what was maded

⚠️Lots of text⚠️

* Introduction:* This is my first jam, i programmed all in blueprints

Day before the jam:

  • I was super nervous about what theme would be chosen, so I stocked up on energy drinks and Snickers to avoid wasting time on food.
  • The jam in my country started at 4 a.m., so I decided to go to sleep. Because of the nerves, I had to do sleep exercises, but in the end, I managed to fall asleep properly.

For beginning: Decided to prioritize sleep for mental clarity during the jam. Subtracted sleep hours: 6+8+8 = 22. Total time: 72-22 = 50 hours for game development.

Jam:

  • Woke up at 10 AM, 6 hours after the jam began. Theme: "Depths"

  • Sat down to brainstorm ideas

On English Идеи_наАнгл.jpg

On Russian Идеи.png

  • At first, I thought of making a puzzle game, something about opening the right doors and closing the wrong ones to descend deeper into a dungeon. Then I accidentally saw a YouTube thumbnail about Gravity Falls and immediately remembered the episode with the endless pit Гравити Фолз Бездна!.png

  • Came up with the idea of throwing objects into an abyss for rewards. Added mechanics: heavy objects require strength upgrades to lift.

Wrapped it into a concept: "A game about feeding Cthulhu various foods".

Finalized concept:

"A slave forced to feed Cthulhu for life, aiming to escape alive."

Development plan:

  1. Implement basic physics-based object grabbing 🖐

  2. Create a system for rapid item/upgrade creation with custom stats ⚙️

  3. Make object size affect weight (controlled via DataTable).

  4. Build a "Cthulhu satisfaction" system fueled by feeding

  5. Design a shop to buy upgrades using satisfaction points.

  6. Create diverse food types and upgrades 🍖🥩🥓🍳

Development process:


Physics-based object grabbing:
  • I spent 6-8 hours deciding: Unreal has a built-in method for grabbing objects — the PhysicsHandle method, but I wanted items to be able to pull the character down if the player wasn't strong enough to lift them. From a previous project, I decided to rewrite the object grabbing tech, but I overlooked a few things:
  • As I understood, this can’t be done with PhysicsHandle due to how it works; it’s only achievable through multiple physics constraint components

  • But then another problem arises: I’d need to make the player’s CapsuleComponent physical, and I didn’t solve that in the last project. When the capsule is physical, standard movement via AddMovementInput doesn’t work; I’d have to physically “push” the player in the desired direction, and the player would have inertia, making it hard to stop.

  • * Decision*: Sticked with PhysicsHandle for simplicity, though Constraint had more chaotic potential.

Rapid item/upgrade creation:
  • No issues here at all, since I had already built a weapon system using a DataTable. The structure was roughly:
    1. Create a general DataTable with pre-planned items, assign their stats
    2. Create a parent class where, in the construction script, you assign variables from the DataTable to the object itself
    3. Create a child class, assign the row name from the DataTable, and place it in the world
    4. Done

Make a quick way to create upgrades:

  • The system is exactly the same as with food
  • All upgrade effects are described inside their respective upgrade classes
  • The only thing: I didn’t think to make an integrated strength upgrade system, so I ended up with *4 different classes *¯\_(ツ)_/¯, each just describing a different player strength multiplier

  • Size-based weight system
    • Hit a snag: object mass couldn’t be set in Construction Script.
    • I spent 3–4 hours stuck on this, until I decided to set the mass in BeginPlay

    System.png begin play.png


    Cthulhu satisfaction system

    This wasn’t hard either:

    • 100 = victory

    • 0 = death

    • To reach 100, you need to feed him a special delicacy — I decided it would be dinosaur steak

    • Every 0.5 seconds, a fixed amount of satisfaction is subtracted

    • If satisfaction hits 15%, you can’t trade with Cthulhu and he screams, calling on the player to feed him faster


    Create a shop where upgrades are bought for Cthulhu’s satisfaction
    • Everything went wrong here, and I had to abandon most of the new features
    • The idea was: player walks to the edge, presses a button or says a spell; if satisfaction is high enough, a shop appears with three items. The player picks one, the shop disappears. When the player returns, the two unchosen items remain, and a new one replaces the chosen.

    Problems: 1. Very little time left 2. I couldn’t figure out the logic to replace the chosen upgrade with a new one

    3. I decided there would only be one upgrade to choose from, and they wouldn’t cost satisfaction anymore — they’d just be awarded for reaching certain score thresholds

    Create different types of food and upgrades
    • This happened throughout the whole jam. 3D models were constantly made in Blender.
    • I exported about 40 models during the jam, didn’t count how many were left unfinished in Blender.
    • I really wanted to add a SkeletalMesh cow into Lisiy. I even gave her a name — in English, just for simplicity, I call her telec. But when spawned, her jumps endlessly. I couldn’t fix it or even figure out the reason. If anyone knows what might be wrong, I’d appreciate any advice. Anyway, rest in peace, telec. Новый проект (5).png

    Final stretch:

    • I had almost given up. It was midnight, the jam ends at 4 a.m., with one extra hour for uploading.
    • At that point I was still finishing the shop and deciding on upgrades.
    • I finished everything at 3 a.m., but the compiler let me down, and I ended up with a compiled build only around 5:40 a.m.
    • Full of nerves due to unknown consequences of violation of deadlines, uploaded to itch.io

    Aftermath:

    • Qualified for nominations🎉🎉
    • For my first jam, I consider this an absolute success. At one point I seriously thought about quitting entirely.

    Thanks to everyone who played Lisiy! Check it out if you haven’t. Good luck to all developers!