Coin Pusher
Synopsis:
For this Starfield mod I wanted to create something a bit unusual for a Creation Kit mod. I've played a number of mobile game versions of this and always find they instill me with that just-one-more-time feeling. To that end, I made a type of game machine that has become ubiquitous in many an arcade: a coin pusher.
My Role: Solo Developer
|
Development Time: 2 weeks
Design Hightlights
- Built a working, physics-based coin pusher arcade machine
- 4 custom scripts written
- 5 unique items created
- Prize balancing for all player levels
Planning
Since this mod was on the lighter side, most of my planning was done in my head, drawing from my experience with real and mobile game coin pushers. I knew I would use shrunken assets for the machine's structure and trigger volumes to detect falling objects. However, I still needed to refine the mechanics for spawning prizes, delivering them to the player, and ensuring everything functioned smoothly together.
Development Overview
The Machine
When I first set out to create this mod, I pictured it being a giant machine compared to the ones you find in real life arcades. This was mainly due to the fact that I was going to have full size weapons/equipment spawn in as prizes, so it needed to account for that.
Problem & Solution
- Problem: The first iteration of the machine ended up being far too large. It would take a long time to push objects far enough for them to fall off the edge of the platform, which resulted in gameplay being too slow and boring. - Solution: I ended up scrapping almost the entire machine and rebuilding it far smaller, although still just large enough for equipment to fit in the drop-in area. I also shortened the platform so objects didn't need to be pushed as far before they'd fall off. This resulted in a much faster loot joy experience loop.
The Dropper
I originally wanted the spawner to be a box that moved back and forth so the player could choose when and where to drop in a coin to add a bit of a skill/strategy element.
Problem & Solution
- Problem: I tried two different ways of accomplishing this moving box. One way was to use an animation helper, and the other was to script the movement via TranslateTo. With the animation helper, I was never able to get the movement correct in terms of where the box started and stopped in combination of also making it move at the correct speed. With the script method, the box never moved reliably; it was either very jerky movement, or it would continue moving in a single direction forever. - Solution: since neither of those options were working for me, I made the decision to implement a third method that was given by modder feedback. I simplified the spawning to three specific chutes that don't move. Each chute had a corresponding button. This would still give the player the freedom to choose spawning an item either on the left, right, or middle of the platform, which still allows for a bit of skill and strategy.
The Volumes
Since the coin and prize objects would end up falling off the edges of the platform, I needed to develop a way to handle those objects once they did. This meant putting trigger volumes in the pits off the left, right, and front sides of the platform. The volumes would then need scripts to control what happens to the objects that enter them.

Overhead view in Creation Kit
Problem & Solution
- Problem: I initially had an issue getting these to work with the coins as they weren't recognizing the coins as objects that were activating the trigger. - Solution: I found out this was due to pack ins not being able to trigger volumes. The fix was to, in the custom script on the volume, tell it to look at the pack in's base object instead of the pack in itself. Since the base object is a misc object, which do work with triggers, that resolved the issue.
The Prizes
After finalizing other features, I focused on implementing prize spawning. This involved more than just random object generation; I needed an assortment of specific prizes. To achieve this, I created a custom leveled item list, as none of the existing lists met my needs.
Problem & Solution
- Problem: The most difficult part of this was simply figuring out how leveled lists work. They are confusing nesting dolls of lists within lists within lists, each with their own set of rules. - Solution: In order to figure out how these work I looked at many other lists to see how they were structured and what rules were set at which stages of the nested link between them all. I made sure to use lists that were as generic as possible and that had as much loot in them as possible since I needed a list that incorporated all weapons and equipment in the game. I then utilized a list that would be a good starting point for my own list and modified it to match what I wanted, which included deleting some nested lists and adding others.
Balance
Prizes vs. Cost

I wanted the coin pusher to be accessible to all players, keeping the cost low enough for low-level players while serving as a currency sink for higher-level players. At higher levels, players could enjoy extended play sessions and easily spend tens of thousands, or even hundreds of thousands, relatively quickly.
The chance of a prize dropping occurs when the drop button is activated, but the prize must still fall off the platform to be claimed. To maintain balance, prizes are valuable yet limited, ensuring they don't drop too frequently while still keeping players engaged with a just-one-more feeling. This setup achieves a good balance between cost, rewards, and playtime.
Scripting
Spawn Button Activate Event
This script is the core of the coin pusher, handling coin and prize spawning when the player presses the play buttons. It deducts the play cost from the player's credits and uses a custom leveled item list, made of multiple other lists, to spawn a variety of prizes like weapons, equipment, and special items. Prize spawn chances are managed through a combination of leveled list data and a custom random number generator tied to a global variable.

Custom leveled item list
Problem & Solution
- Problem: The first major issue I ran into was attempting to spawn in legendary weapons and equipment using a leveled list. I wanted all of the prizes to be rare, epic or legendary, so I knew I needed to use a list with only that type of loot. This lead to the issue. Legendary weapons and equipment are set up in a way that don't allow them to spawn directly from a leveled list. - Solution: To get around this issue, I had to create custom form lists, one for each rank of legendary mod for each type of item, and call on that in the script to attach those mods to prizes after they spawned rather than attempting to have them spawn with those mods already attached.
Attach Legendary Mod Function
When a weapon or equipment prize spawns, the script uses custom form lists of legendary mods and attaches them to the prizes. A random number is generated and compared to preset variables to determine if the prize is rare, epic, or legendary. Once categorized, random legendary mods are selected from the form lists and attached to the prize.

Custom legendary mod form list
Problem & Solution
- Problem: Since I had never used form lists in any capacity before, I had no idea how to go about incorporating them in to a script. - Solution: While searching a similar script in Creation Kit, I came across one on a quest that sounded promising as it had something to do with legendary items. Luckily, it happened to do something close to what I wanted. I was then able to use this script, after modifying it a bit, and got it to work for my purposes.
Prize Trigger Script
To handle objects falling off the platform, I used trigger volumes with a custom scripts to process them appropriately. Anything that falls off the left or right sides will be deleted. For the front of the platform, if a coin falls, it's deleted (as it's a dummy object), and credits are added to the winnings chest. If it's a prize, it’s directly added to the chest. This script also triggers custom sound effects for collecting coins and prizes.
Community Feedback
Starts at 15:50
"Absolute magic I love this concept."
"This is so much fun to chill and play. Great work mate"
"Such a clever use of Bethesda's underutilized physics capabilities. Endorsed!"
Very cool mod, thank you!!