Franken Dungeon - Progress 2 [Franken Dungeon]
This morning I made a Grabbable base class and a Swingable child of this, so I should be able to make many different types of equipment as the jam progresses! I also experimented with particles (there are two separate particle system creators in s&box so I was very confused!)
Franken Dungeon - Progress 1 [Franken Dungeon]
I just found out about the s&box Gam Jam II! It’s currently about half way through its run time, and it accepts entries developed previously, but I think I’ll have a go at learning the engine and see what I can make anyway. The prizes run from 1st = £20k to 5th = £2k. I think I may still have a chance at fifth, if I can realise the idea fully. I’m really proud of the concept though! (Cormack from the future - I won fifth!!!)
My idea is a multiplayer old school dungeon crawler, inspired by watching Alex Diener’s Let’s Plays of Legend of Grimrock, especially Final Adventure. All players share a body (& so move as one) but each can turn to any of the NEWS cardinal directions and act independently. To lean into this I’ll make the interactions really physicsy and goofy. I also played Cryptmaster recently, so I’d love to get some charismatic VO in as well!
Today I was mostly getting to grips with s&box as an engine (pretty easy coming from Unity!), but I managed to make basic grid movement and a custom cursor which can drag around physics objects. Basic multiplayer is also implemented, since it’s super simple in s&box! I also love that they support physics collision sounds out of the box, really reminds me of my Garry’s Mod days.
Worker-Owner @ Very Evil Demons
Something wicked this way comes…
The summoning has succeeded; Very Evil Demons have arrived on the material plane!
We’re a brand new independent worker-owned game studio based in Dundee, Scotland. We’re open for business - we’re ready to offer up our game development services, and we have our own delightfully devilish projects brewing away in the cauldron. Stay tuned for more 🔮
Lead Developer @ Tend VR [Tend VR]
Super excited to have joined the lovely people at Tend VR as their Lead Developer!
I’ve been freelancing with them for the last few months, & it’s strange to be leaving that behind but mental health is really important to me and Tend have such great potential for positive impact.
Perfect Draw - Strategy Guide [Perfect Draw]
Starter Deck
Each new account starts with the same set of cards.
• Truck - Place Val & Earl’s truck! Use this to traverse the map quickly, in a group of 3.
• Market - Place Walter’s iconic market building. Can be used to place new meeples in. Also has basic defence against Graboid attacks.
• Old Revolver - A basic weapon, can be given to a meeple.
• Soda Machine - Distraction specific to the market, will attract every Graboid towards the market for 3 turns when played. Use this if the Graboids are on your trail!
• Rhonda Lebeck - A leader meeple, with a hat! Can be used as a good distraction due to her extra hitpoint.
• Walter Chang - A meeple. Hatless :(
Your deck can be expanded by earning XP, or by buying cards in the Card Market on the main menu.
Main Menu - Card Market
Money can be used to buy cards. Every account starts with a gift of 50 PBucks! Head to the Card Market before your first run and choose something to help you succeed.
We recommend either Prepper Bunker or Toolbox first, both cost 50 PBucks exactly.
Prepper Bunker - An extra building card, which will help defend your meeple and add another spot for you to place meeples onto the grid.
Toolbox - Repairs damaged buildings or broken vehicles. Very useful for its ability to repair your truck if a Graboid starts munching on it!
Meeple
These are your characters! Protect them!
You start with two of them; Val & Earl!
Meeples with a hat have an extra hitpoint (i.e. they can survive being munched by a Graboid once) - some meeple spawn with hats, some have hats thrust upon them (by you. you can use the Hat card to give hatless meeple a hat.)
Each Meeple can take one action per turn. For example:
• Moving one space in a cardinal direction
• Hopping on a truck/roof/boulder
• Searching some ruins
• Attacking a Graboid
Meeples can be equipped with weaponry in order to defend and attack. When a meeple has a weapon, it will automatically defend the tile/building/truck it is on. A meeple with a weapon can also move into a Graboid to instigate an attack!
Moves: 1 Hitpoints: 1 or 2
Truck
Val & Earl’s Truck!
This card always starts in your hand, and is extremely useful! Setting this down next to both Val & Earl is a great first move.
The truck can move 3 spaces each turn (as long as they have a driver). This movement does not consume the actions of the meeples within!
If a truck is attacked, any weapon-wielding meeple within will automatically defend it. Otherwise it will be broken.
If a truck is broken, all the meeple will spill out onto the ground! Broken trucks can be repaired with the Toolbox card.
Moves: 3 Hitpoints: 1 Capacity: 3
EXPLORING THE GRID
Your two meeple, Val & Earl, start in the bottom left of the map. Your goal is to get them and any other meeple to the Goal Flag in the top right.
Common locations on the map are; Ruins, Debris, & Boulders.
The Red Truck (more details below) is in the bottom right of the map.
Each quadrant of the map starts with a Graboid patrolling it. Once you start making vibrations, they’ll quickly come your way.
Goal Flag
The Mountain Trail Flag is your goal! The mountain is pure granite, and the Graboids can’t dig through it!
If your meeple can make it there, they’ll be saved. You gain + 50 PBucks for every meeple you save.
Ruins
There are 14 ruins on the map. Each can be searched once by a meeple for a temporary card reward! These rewards can include Weapon, Resource, & Movement cards. You can spot them by their tell-tale sparkles!
Searching ruins is integral to victory, especially when using the Starter Deck.
Debris
Debris is impassable and useless! That sucks!
The map is full of debris, especially near the mountain. It’s also left behind when searching ruins or when buildings are destroyed.
Boulders
Boulders are completely safe from Graboids! Up to 4 meeple can stand on a boulder at once. Additionally, moving on to a boulder causes no ground vibrations.
Red Truck
This truck has been left out in the middle of nowhere!
It’ll serve you well if you can reach it, with more movement than Val & Earl’s truck!
Moves: 5 Hitpoints: 1 Capacity: 3
GRABOID MENACE
There are two types of monsters; Graboids, & Snakes
Graboids
Graboids can spawn Snakes when close to vibration sources. Each Graboid will deploy 3 Snakes at your meeple before the Graboid itself will appear!
Graboids are the stronger of the two, and can burst through the ground to eat your meeple/buildings/vehicles! Each attack does 1 hitpoint of damage.
Moves: 6 Hitpoints: 5 Damage: 1
Snakes
Snakes are short range monsters which can immobilise your meeple! They cannot deal damage, but will send out signals to their parent Graboid about meeple locations :)
Moves: 2 Hitpoints: 1 Damage: 0
WEAPONRY
You have 3 types of weapon in your anti-graboid arsenal!
Old Revolver
Earl’s old revolver. In your starter deck.
Good for killing Snakes, not much use at killing Graboids - but can scare them off in a pinch!
Ammo: 2 Damage: 1
Elephant Gun
Burt’s prized treasure, how’d you get your grubby mitts on it?
Can kill a Graboid in one shot! But only has one shot to shoot.
Ammo: 1 Damage: 5
Bomb
One use! Obviously!
Does medium damage. Paired with both shots from the Old Revolver, could take down a full grown Graboid.
Ammo: 1 Damage: 3
We hope this helps get you started!
Also check out the in-game references through the pause menu or from the Messages menu.
And see a full playthrough here;
Perfect Draw - Criteria - LootLocker [Perfect Draw]
LootLocker was an integral component of our game design over the jam period. We came up with the card game idea to make full usage of the system’s Asset Dashboard.
Each Asset has a storage attached to it, which we were able to put to use for variable definition & thumbnail image download. We also experimented with having our models stored here and downloaded into Unity at runtime early on, but this was a bit out of scope for the jam!
Our database consists of the following Asset Contexts;
• Feature Unlocks (default) - Purchasable in the in-game store
• Progression Unlocks - Unlockable in-game by earning xp & levels
• Starter Cards - All players start with these in their deck
• Ruin Rewards - Cards which only exist temporarily within a game session, found in ruins
• Game Variables - A special context to contain various config assets
This centralised storage of our cards made it super easy to add the Card Market & XP Progression systems. Each card uses their default price variable so everything is easily tweakable via the dashboard, and automatically propagated to the in-game shop! The shop is linked to the “Feature Unlocks” Context. Because we’re using a fake/meta currency rather than a real world one as LootLocker expects, we setup this shop system to work by calling specific Triggers on the LootLocker dash - with a unique one linked to each buyable card. This was a bit more hassle than we wanted, but again it was only a game jam and we were learning on the fly!
We defined the “Progression Unlocks” Context to fit alongside this default system & keep things nice and tidy. These card assets are then linked to Level Progression on the LootLocker dashboard. One of our ideas was to have this linked to a sort of “battlepass” UI for unlocking these via xp progression, along with being able to spend your PBucks to immediately gain more xp. Ran out of time on that one though! The cards in both these contexts are added to the player’s LootLocker inventory, allowing them to be used for all future sessions - acting as a meta progression system through their time with the game. This means that by design the game is much harder on the first attempt, and we expect people to fail, upgrade, & retry.
The “Starter Cards” & “Ruin Rewards” Contexts work slightly differently, as these cards are never added to a player’s LootLocker inventory. Instead they are instantiated in-game temporarily. This helped us balance the game as we could quickly toggle cards between contexts and automatically change whether they were purchasable or owned by default! Very useful, especially in the rapid prototyping environment of a game jam. Meanwhile the ruin rewards can be found during gameplay by sending a meeple to explore ruins on the map. At this point a random card from this context will immediately be added to the player’s hand, as a one-use resource.
Finally the “Game Variables” Context is special as it is used by our source code to get tweakable values from the LootLocker dashboard directly into the game. This allowed us to iterate super quickly without needing to rebuild the project. One big usage of this was for your hand of cards; we could define the maximum you can hold at a time, how many you draw per turn, if your hand is discarded between turns, and so on.
Each card in these Contexts also has an Asset Rarity defined, which allows us to change the colour of various elements of the card UI in game. These can give a heightened sense of reward when the player sees a high tier colour effect before flipping over their prize.
For the players themselves we just store the basics; they enter their name when they first create their account, & then we track the single money variable as they gain/spend Perfection Bucks. We just use the key/value pairs in the player’s storage section for this, as its a meta currency rather than LootLocker’s expectation of real world money (it’s just a game jam after all!).
These names are automatically used by LootLocker’s Leaderboard system too, which might have been the simplest part to implement. All we have to do is submit the score when a player wins/loses, and then download the top 10 scores with one simple function. LootLocker really takes care of all the hassle here :)
Finally I personally had a lot of fun with the Messages system (that’s where you are right now!). I got this implemented on day 4, and afterwards really enjoyed being able to write the daily devlogs straight into the game - with complete ease. Something to note to developers (as I comment on in that devlog) - the messages are set to publish in CEST time, which led to a lot of initial confusion on my end. A simple fix to this would be allowing the entry of Publish Dates in the “past”.
You can find all those devlogs below!
Thanks for reading :)
Perfect Draw - Criteria - Theme [Perfect Draw]
Power In Numbers!
Inspired by the theme we designed our game all around powerful numbers!
Each card has two numbers representing their power, for example;
• Buildings have defence and capacity
• Distractions have duration and vibration strength
• Weapons have ammo and damage
You’re also heavily encouraged to keep playing more Meeple cards, increasing the meepulation, & making them work together against the monsters. Plus each meeple you save nets you more PBucks! I hear money is power after all.
But watch out, there are a number of powerful Graboids too, and they also know how to work together… Each Graboid can also spit out a number of tongue snakes to chase meeple down.
This also ties into the themes of the movie Tremors; isolation vs community, & the power in working together!
Perfect Draw - Criteria - Visuals [Perfect Draw]
Once we had settled on card and grid-based gameplay, we decided to lean into a ‘toy’ or ‘board game’ kind of aesthetic: simple shapes, low-poly models and colourful cel-shading! We worked to recreate important visuals from the film using these guidelines. Our thoughts were that this would also help us stand out amongst the other (likely much more gruesome) Tremors entries!
We used cel-shading on all 3D elements in order to emphasise the toy-like aspect of the game and to improve readability.
For characters and creatures we took inspiration from traditional board game tokens and wooden toys. The population of Perfection are represented by ‘meeple’ tokens, while the Graboids are based on segmented wooden snake toys. Our “animations” for these are also minimalist, often just squashing and stretching, but they really fit the aesthetic!
For buildings it was important that they remain recognisable and unique when condensed into a 1x1 grid tile, so we used low-poly models and bright, blocky textures to really bring out the iconic elements of each location. Vehicles were given a similar treatment; it wouldn’t be Tremors without Val and Earl’s pickup truck!
For 2D elements we went with a flat and minimalistic look to contrast with the 3D and to keep information clean and easy to read.
All playing cards share a similar layout for consistency, but each type features a distinct design and border colour. This helps for readability, as the player can tell what cards they have in their hand at a glance.
Popups above objects have clean and simple iconography so a player can quickly check information such as a building’s condition, or a meeple’s weaponry.
We loved the look of Perfection’s town sign and decided to use it as our population counter! Can you keep Perfection’s population from dropping to zero?
The iconic town sign is also your first sight on the main menu, which is another area we really focused on polishing to perfection ;) Everything is as dynamic as possible here; with the camera zooming around the scene, menus swooshing from side to side, and buttons giving lots of feedback. Even Val & Earl’s truck which you ride into town on when you login! The menu music is lovely and chill, plus its diegetic nature really emphasises the feel of moving around the town and exploring the different options! We definitely ended up just siting and vibing with the menu more than once..
Overall we hope its obvious how important the aesthetics and game feel were to us on this project!
Perfect Draw - Criteria - Gameplay [Perfect Draw]
We wanted to give the player a sense of “discovering” the valley as they progressed through it, which is where the cards come in. By playing a building card thematically the idea is that you just discovered that building, that it had always been there. The building and vehicle systems really help tie into the collaboration themes; with the meeples able to hunker down and survive together, or journey out to perform expeditions together. This scavenging idea fed into our idea of dotting ruins around the map, pre-existing areas with powerful temporary cards if the player is able to survive the journey.
Being able to distract the Graboids - either through specific tailor made cards, or by using your own wit and meeple placement - was a core focus for us in terms of gameplay. We wanted to have a fairly deep feeling of strategising against the Graboids (or at least as deep as we could get, in 17 days!) This is why the Graboid AI depends on their tremor sense system, which we’ve included a toggle to visualise in the game menu. This way we hoped to recreate key moments from the movie; the soda machine breaking down and drawing attention, pole vaulting between boulders to avoid the soft earth, setting off an unmanned tractor to pull attention away from your meeple, and also groups making lots of noise/vibrations to distract from the lone meeple doing some key action. We think we’ve been quite successful! Obviously it would be great to keep tweaking and adding more cards and behaviours, but what we have serves as a great proof of concept :)
Between runs, unlockable cards and being able to upgrade your deck aims to give the game a decent amount of replayability - overall there are around 20 cards to unlock!
To further our goals of replayability, we planned to support multiple win conditions to make runs even more unique, such as;
• Repair an old radio and wait for rescue
• Have one meeple escape to Bixby via truck/horseback/foot and bring help back for the others
However unfortunately two weeks isn’t a lot of time so we just stuck with all escaping the valley vs all Graboids being killed.
Our original idea was to let you assume direct control of the Graboids after each run, to let the player blow off steam (and blow things up!). Sadly we ran out of time for this! Maybe in the future :)
Perfect Draw - Criteria - Creativity [Perfect Draw]
We wanted to create a game really inspired by the themes of Tremors; lots of focus on coming together as a community vs isolation, working together against an unknown threat, & scavenging/scraping together whatever you can to give you an edge!
We also took inspiration from specific mobile puzzler games; these large IPs which had been distilled down into really pure and engaging puzzle games, with minimal but beautiful graphics to avoid detracting from the gameplay. We hope you’ll get a similar impression from Perfect Draw ;) Our genre choice was also motivated by wanting to be unique and stand out amongst the FPSs we expected to see submitted.