@froessell

Designer who ships. 6 App Store apps + Framer kits. I post the process, not the case study. Currently: Bogormen.

Copenhagen, Denmark
Joined April 2010
I'm a product designer who ships. 6 apps in the App Store. Framer kits on the side. Currently building Bogormen with my kids: a reading app. Yes, an app to get them off apps. The irony is not lost on me. I'll post the process. The messy files, the App Store rejections, the Framer hacks. If you design and also want to ship, you're in the right place.
1
2
16
1,753
New model from Google just dropped. I wonder how it stacks up against OpenAI and Claude
Announcing Gemini 4 Argon, our new frontier model. Argon is built to sustain deep reasoning across complex, long-horizon workflows and delivers frontier performance in complex workflows across real-world software engineering, enterprise knowledge work like legal and finance, and cybersecurity defense. We’re also expanding the model’s output token limit to an industry-leading 1M tokens. Argon is currently rolling out to a set of trusted cyber defenders in the Fairwind Program, with broader availability as soon as possible.
1
258
✌︎ frederik ✌︎ retweeted
I played around in Midjourney and created a few more wallpapers/Hero images. Feel free to use them for your projects.
6
2
38
3,256
People are building things we could only dream off a few years ago. Insane
Built my own version of after effects native to agents. - Built human-first. taste comes from you. - Your agent can control anything you can. offload the grunt work and move way faster. - Zero learning curve. no keyframes, just easy animation blocks. - Real 3D - Start from the free template marketplace or from scratch. Try it free at raylight.app
2
20
2,920
✌︎ frederik ✌︎ retweeted
🚀 Launch your personalized blog or website with ease using this Framer Blog Template! ⚡️ Skip the tedious setup and focus on the creative aspects. Customize typography, colors, and scroll animations effortlessly. Get it here for free: froessell.lemonsqueezy.com/c…
1
1
20
2,868
Now that everyone is vibe coding games, is there anyone using @rive_app to add animations etc? I just found out that they offer a CLI now. Will give it a shot
4
3
619
Insane run rate. Would love to get some of those tokens, so I can make all my ai game trailers
You got Higgsfield to a $1 Billion revenue run-rate. Let’s celebrate by giving back 💚 We’re returning the subscription credits you’ve spent this month. And a little extra love: QT this post and we’ll randomly pick one winner of 25,000 credits every 4 hours for the next 24 hours. Keep creating.
2
301
✌︎ frederik ✌︎ retweeted
Had an hour of spare time before we had to prepare for new years eve. Spent it updating a job board @framer template I released earlier this year. What do you think?
1
1
23
2,648
I’m a big Gears of War fan. I’ve played all the games, read the books and the graphic novels. I also want to get better at creating video with AI, so last week I gave myself an experiment: Could I create a cinematic Gears of War sequence inspired by the brutality, chaos and sheer loudness of the shootout in Heat? Not recreate the scene itself, but capture that feeling. I created the concept art in ChatGPT and used the Higgsfield API to generate the video. For prompt references, I borrowed ideas and structures from @TechieBySA and @Artedeingenio. The first results were… rough. They looked more like a low-budget 3D cartoon from the early 2000s than Gears of War. So I kept iterating. The later generations got significantly better. The characters improved. The environments improved. The cinematography improved. But I’m still not happy with it. It feels too clean. Too controlled. Too flat. What I wanted was the brutality of war. Loud. Frantic. Chaotic. Weapons that feel terrifying when they’re fired. Characters scrambling for cover. Debris, smoke, confusion and a camera that feels like it’s struggling to keep up with what’s happening. Think Heat. Think the opening of Saving Private Ryan. This isn’t there yet. AI video is getting very good at making something that looks cinematic. But making a sequence that actually has weight, tension, spatial continuity and controlled chaos is a very different problem. Still, it was a fun experiment and I learned a lot from trying to push it somewhere the models clearly didn’t want to go. I’ve included the prompt below along with a few iterations so you can see how it progressed. If you’re deep into AI video and have ideas for how you’d push this further, I’d genuinely like to hear them. — Unofficial, non-commercial fan project. Gears of War and its characters are the property of their respective rights holders. This project is not affiliated with or endorsed by the creators or publishers of Gears of War.
3
2
725
Cinematic anime clip, 15 seconds. Ruined city street in grey daylight, gothic stone buildings, overturned and abandoned cars, ash drifting through the air, smoke columns in the distance. One location throughout. MARCUS: Bulky grey-blue armor with glowing blue light strips, black do-rag, buzz cut, stubble, scar on right cheek. Chunky assault rifle with a chainsaw bayonet. Tactical, controlled, relentless. Fires in short disciplined bursts, moves cover to cover like a professional. LOCUST DRONES: Smooth pale grey reptilian skin, small black eyes, sharp teeth, dark crude armor plates, chunky rifles with glowing orange lights. Aggressive, roaring, advancing without fear. AUDIO: No music at all. Only gunfire, deafening and echoing off the stone buildings. Bullets snapping past, rounds punching into car metal, glass shattering, shell casings bouncing on pavement, Drones roaring, chainsaw revving. Constant and loud until one second of ringing silence at 0:11, then gunfire returns louder. 0:00–0:01 Wide at street level. Marcus sprinting for cover behind an overturned car, bullets chewing up the pavement behind him. 0:01–0:01.5 Close up on the car door taking hits, holes punching through metal, windows exploding. 0:01.5–0:02 Marcus popping up over the hood, firing short bursts, muzzle flash lighting his face. 0:02–0:02.5 Handheld shot down the street. A Drone advancing, firing from the hip, orange muzzle flash. 0:02.5–0:03 The street cracking open. Two more Drones climbing out of the hole in the ground. 0:03–0:03.5 Wide from above. Three Drones spreading out and firing. Marcus pinned behind the car. 0:03.5–0:04 Close up on Marcus ducking, ejecting his magazine, slamming in a new one. Rounds sparking off the car roof above him. 0:04–0:04.5 Marcus leaning around the rear bumper, firing. One Drone jerking backward and dropping. 0:04.5–0:05 Drone fire shredding a parked car, windows bursting, tires popping. 0:05–0:05.5 Marcus sprinting across the open street to a stone column, bullets tracking right behind him. 0:05.5–0:06 Stone chips exploding off the column next to his head, dust spraying. 0:06–0:06.5 Low angle. Marcus firing while moving backward, shell casings spilling onto the pavement. 0:06.5–0:07 Second Drone hit, stumbling back into a car windshield, glass shattering. 0:07–0:07.5 Close up on Marcus's rifle clicking empty. His expression hardening. 0:07.5–0:08 The last Drone charging at full speed, roaring, firing wild. 0:08–0:08.5 Marcus revving the chainsaw bayonet. Blade spinning, sparks flying. 0:08.5–0:09 Marcus charging forward to meet it. 0:09–0:09.5 The Drone swinging its rifle like a club. Marcus ducking under it. 0:09.5–0:10 Chainsaw driving into the Drone's armor. Sparks and red spray, camera shaking hard. 0:10–0:10.5 Close up on Marcus's face, jaw clenched, red spattering across his armor. 0:10.5–0:11 The Drone collapsing. Marcus pulling the blade free. 0:11–0:11.5 Ringing silence. Marcus breathing hard, ash falling around him. 0:11.5–0:12 The ground behind him rumbling, cracks spreading across the street. 0:12–0:12.5 Wide. The street splitting open, dozens of Drones pouring out of the ground. 0:12.5–0:13 Marcus slamming in a fresh magazine and turning to face them. 0:13–0:13.5 Handheld close. Marcus opening fire on full auto. 0:13.5–0:14 Wide from above. One man in the street, the horde flooding toward him, tracers everywhere. 0:14–0:14.5 Close up on Marcus's face lit by muzzle flash. Relentless. 0:14.5–0:15 Final wide from low angle. Gunfire, ash, smoke. Unresolved. Done. Cinematic cel-shaded 3D anime, semi-realistic CGI, Unreal Engine quality, ruined city street in grey daylight throughout, ash drifting, bold flat color blocking, hard edge shadows, thick black outlines, smooth clean surfaces, handheld camera shake during gunfire, camera switching constantly, no music, only deafening echoing gunfire.
🤖 Made with AI
1
1
463
Title: GEARS OF WAR — JACINTO, SHELTER NINE Credit: Cinematic action sequence Camera approach: The handheld camera takes the place of an unseen observer within arm's reach of Marcus. Often it is beside his cheek or just behind his shoulder: part of Marcus stays in frame as his gaze leads us to the threat. It ducks for cover, loses sight behind bodies and debris, then searches to find him again. Explosions throw the frame because they shake the ground beneath it. No one acknowledges the lens. Marcus's reactions and choices remain readable. EXT. JACINTO - AVENUE - NIGHT Rain falls through ash. It turns the dust on MARCUS FENIX's armor to black paste. The camera keeps beside Marcus, close enough to see rain run through a cut on his cheek. It has to sidestep a burned tram and a body under its wheels to keep up with him. DOM's hand enters frame, pulling a wounded COG PRIVATE upright. Beyond Marcus's profile, artillery flashes reveal one ruined block after another. The horizon is on fire. The PRIVATE's radio spits through the gunfire. WOMAN (V.O.) Shelter Nine. We have people down here. Something's at the door. Marcus looks to the apartment building across the street. The camera shifts beside his face to follow his gaze. Half its facade is gone. Water spills from exposed rooms six stories up. A LOCUST DRONE appears in the wreck of a shop thirty feet away. Over Marcus's shoulder, we see him bring up the Lancer and settle its sight on the Drone through the rain. One held breath. The Drone's muzzle flashes first. A bullet chips the tram beside Marcus's head. He ducks; the camera drops beside him, losing the Drone. For a beat all we see is Marcus's hand gripping wet steel. The shots are shockingly close: hard cracks that strike the stone facades and come back in overlapping echoes. Metal tears off the tram at his ear. There is no score to soften it. Dom drops beside the axle and shoulders his Lancer. From beside Marcus, we see Dom lean out and fire past him. Each short burst bucks through Dom's arms; muzzle flash lights his clenched jaw, then leaves him in darkness. Hot casings ring off the wheel inches from the camera. Across the street, rounds punch through glass and masonry around the Drone. It fires back. A bullet slams into Marcus's shoulder plate and spins him against Dom. Their armor fills the frame; for half a second no one has a clear shot or a clear view. Marcus shoves off, finds a gap over the axle, and fires. The camera shifts around his shoulder just in time to catch the Drone staggering out of sight. The echoes keep rolling between the buildings after everyone stops shooting. Marcus checks Dom with a glance. Dom nods, breathing hard. MARCUS Inside. Move. They run. The camera scrambles after Marcus, briefly losing him when a civilian cuts across its path. It catches his armored back again as shrapnel hits the tram behind them. An artillery shell lands a block away. The street jumps. The frame lurches; dirt and wet grit strike the lens. For a moment, the roar becomes a thin, high ring. INT. APARTMENT BUILDING - LOBBY - CONTINUOUS Marcus shoves through a broken door. Dom and the Private pile in behind him. The camera hesitates at the blind threshold, then squeezes past their shoulders into darkness. The lobby is gutted. Rain taps through the floors above. A blue COG light flickers on Marcus's chest; orange fire breathes through a crack in the wall. Their rifles cut narrow paths through hanging plaster dust. Under the ringing: a scrape from the service hall. Marcus raises a fist. They stop. The camera settles, trained on his hand and the dark hall beyond it. Three heavy steps. Then nothing. Dom points to a basement door at the far end of the hall. From behind it, a child cries. A woman hushes him. The Private moves toward them. The wall beside him EXPLODES inward. A LOCUST DRONE drives him across the hall. The camera flinches back behind the doorframe, loses them behind a swinging door, then searches past Marcus to find the Private's boots kicking against tile. A burst of rifle fire goes off in the narrow hall. Each report punches the air and slaps back from the walls. Plaster shreds inches from Dom's head. Marcus hits the Drone at arm's length. The camera is trapped beside them, too close to take in both fighters at once. The rifle is too long for the space. The Drone rams its muzzle into Marcus's chest and forces him back into a cracked mirror. Dom fires once. In the small room it is deafening. The shot punches through the Drone's shoulder but doesn't stop it. Marcus twists the muzzle away, kicks the Drone's knee, and guns the Lancer's saw. The engine catches, snarls, bites into armor. We stay on Marcus's straining face and the Drone's hand clawing at his throat. The struggle ends against the wall with a hard, ugly jolt. The last gunshot's echo dies. The saw winds down. The building groans. The Private lies still. Dom reaches for him. Marcus sees the floor move. MARCUS Dom. Door. Now. Dom shoulders open the warped basement door. Twelve CIVILIANS crowd the stairs, blinded by his light. He grabs the nearest child and ushers them up. A fissure tears through the lobby. The floor drops a foot. Orange light and hot air burst up from beneath the building. In it: more Locust shapes climbing through the foundation. Marcus fires into the opening, controlled bursts at near-contact range. The rifle kicks against his wounded shoulder. The muzzle flashes reveal Locust faces below, then erase them. Dom pulls the last civilian clear. A nearby detonation punches the camera sideways. Dust cakes the lens. The gunfire disappears beneath a piercing ring, leaving only breath and a child's scream. Marcus slams a grenade against a cracked support column. MARCUS Out the back! They run through a kitchen stripped to its studs. Marcus stays last. The grenade flashes. The stairwell folds into the fissure; concrete and rebar bury the climbing Locust. The shock hits the camera at the service exit as the squad spills into the rain. EXT. JACINTO - REAR STREET - CONTINUOUS For one breath, the rain clears the grit from the lens. Over Marcus's shoulder: Jacinto in pieces. A tower shears away. Fires burn through miles of streets. In the far distance, fresh columns of dust rise almost in unison. The war is everywhere. The radio crackles to life. RADIO (V.O.) Multiple breaches. Every sector. We can't-- Static. The child in Dom's arms stares past them. Marcus turns. At the end of the street, silhouettes gather in the smoke. More than the squad can count. Marcus checks his dwindling magazine. Dom sets the child down behind cover and raises his weapon. MARCUS Keep them moving. He steps into the street. The camera follows at his side, his face and weapon in the foreground, the silhouettes beyond. It catches his finger tightening on the trigger just before the first burst cracks through the rain, louder than the artillery beyond it. CUT TO BLACK.
280
✌︎ frederik ✌︎ retweeted
📱 Free "Summer stage" iPhone mockup 📱 - High res 4000x3000 pixels - PSD format - Change the screen by updating the smart object Get it here: 👉 froessell.gumroad.com/l/phon…
1
1
6
2,123
Awesome way to build custom tools. Now I want to build a skate ramp...
My kids skate teacher asked if I could help him with a mini-ramp design. Things quickly got out of control. Let me present, PLY 🛹 Grounded in real-world constraints, materials, and common sizes used in ramp building - I've put together a tool that allows you to not only make a mini-ramp with construction ready plans. BUT infinte ENTIRE skate parks. PLY is truly nuts. I got hyper good performance at 120fps, all browser based, EU/US standards, full BOM, Cutlist, material optimisation and use of off-cuts. Integration with stores like Home Depot and Beijer (gives you an up to date price estimate for your build) based on total material needed. It even estimates how many screws you need, and what types of screws. All down to a +-2.5% margin. Everything is parametric, everything locks into grids based on material constraints (you can detach for bespoke aspects) any orientation, 15 degree banks, 45 degree bowls. But grounded in what can be done with the material you buy. Not only does it output printable PDF, with step by step assembly like it was LEGO. It also creates 3D visuals and step by step 3D assembly guides you can play on your phone or tablet (yes even computer). Per section, or/and ofcourse your entire park. The example below shows a park with elevated floor, but you have ground connectors aswell. So you can make freestanding quarters, roll in ramps, spines, boxes, pyramids, rails, stairs... Even draw your own custom components and save them to your own library. mm, cm, inches, feet, everything is dynamic and you can switch between settings in real-time. Park fly-throughs, assembly timelapses... BUT that's not all, when done, you can also... skate the damn thing. IN THE ACTUAL BROWSER 🤯 So what started as an ask for my kids skate teacher, is now turning into a full CAD/GAME for creating skate parks, based on real-world material constraints. There is so much left to sort out, for example, CONCRETE, yeah, we're doing it. Being able to smoothly shape concrete, calculate the needed volume, rebar, sand, filling material, drainage, slopes, anti-crack lines. Coping molding. If people are not yet getting it, AI assisted development, is absolutely flipping software upside down and inside out. I've not touched a single line of code. none. zero. When it's ready for you to try, I'll share the link. Until then this video will have to do + some more examples below. Follow @LinusEkenstam if you want more stuff like this in your timeline.
5
800
The creative process can be messy @magnific
1
3
5,876
I added a small intro animation when you start the game to set the scene and make it more polished. I also added new levels and more cars and turned up the destruction and chaos!
315
Spent the weekend running 3 Claude sessions in parallel on my mobile cop-chase game in Unity 🚓 One restyled the HUD, one built a garage, missions & new enemies (SWAT, tanks, a helicopter), one is making new maps. They messaged each other to avoid clashing. Changes: • New HUD • Garage: 7 cars, missions, levels • Wrecked cops burst into coins • SWAT, tanks, roadblocks, a helicopter • Nitro, shields, magnets, EMPs • Sandstorms Next up: Palm Beach + Neon City at night levels
1
1
359
✌︎ frederik ✌︎ retweeted
One of the greatest skills you can acquire is staying calm in moments of high emotion and stress. Before writing that angry email reply, type it out in another text document instead of writing it in the email client and leave it for a few hours while you calm down.
2
1
20
✌︎ frederik ✌︎ retweeted
Opus 5.5 built this game in @unity. Artwork made in Chatgpt. Used Topdown engine to speed up the process. PROMPT: PRD — Police Chase Arcade Game Working title: Heatwave Platform: iOS + Android Engine: Unity Genre: Top-down 3D arcade chase / survival Orientation: Portrait Input: One-thumb touch controls Business model: TBD — design MVP around gameplay first Primary goal: Build a genuinely fun playable prototype before adding progression or monetization. ⸻ Product vision A fast, chaotic mobile arcade game where the player is constantly being pursued by increasingly aggressive police. The player cannot directly attack. Instead, they survive by driving aggressively, drifting around obstacles, making sudden turns and tricking pursuing police into crashing into obstacles and each other. The fantasy is: You’re not stronger than the police. You’re harder to catch. Runs should produce constant near-misses, chain collisions and moments where the player escapes a seemingly impossible situation. Think: easy controls + aggressive pursuit + physics chaos + escalating pressure. ⸻ Core gameplay loop START RUN ↓ DRIVE / DRIFT ↓ POLICE PURSUE ↓ BAIT POLICE ↓ DODGE ↓ POLICE CRASH ↓ GAIN SCORE ↓ WANTED LEVEL INCREASES ↓ MORE / HARDER POLICE ↓ SURVIVE ↓ EVENTUALLY GET CAUGHT ↓ SCORE / RESTART Target run duration: 2–5 minutes. Restart should take less than 2 seconds. ⸻ Design principles 3.1 One-thumb playable The player should be able to understand the controls within seconds. No accelerator. No brake pedal. No virtual steering wheel. The vehicle moves automatically. The player controls only direction. (I moved away from this after testing it the first time and added the onscreen joystick) 3.2 Arcade physics, not simulation Vehicles should: drift slide bounce spin collide dramatically recover quickly Fun takes priority over physical accuracy. 3.3 Pursuers are weapons Police are effectively the player’s offensive mechanic. The player should learn: “If I turn here, that cop is going straight into that wall.” 3.4 Chaos should remain readable Even with 10+ vehicles on screen, the player must immediately understand: where they are where they’re moving where police are coming from what can kill them 3.5 Failure should feel fair Death should generally result from a mistake the player understands rather than unpredictable physics. ⸻ MVP scope Do not build progression, upgrades, missions or monetization for the first milestone. The first version contains: 1 player vehicle 1 arena 1 police vehicle 1 elite police variant 5 wanted levels physics collisions environmental obstacles scoring player health police destruction basic VFX basic audio game-over screen instant restart That’s enough to determine whether the game deserves further development. ⸻ Player vehicle Movement Player vehicle uses a Rigidbody-based arcade controller. Do not rely heavily on realistic WheelColliders. Core variables should be exposed in the Unity Inspector: Acceleration Maximum Speed Turn Speed Turn Curve Lateral Grip Drift Factor Vehicle Mass Collision Force Drag Angular Drag Recovery Speed These need to be extremely easy to tune. ⸻ Controls Recommended first implementation: Drag steering Player touches anywhere on the lower portion of the screen. Dragging horizontally controls steering. ← drag turn left → drag turn right Vehicle accelerates automatically. Steering should be relative rather than absolute. The player should be able to lift their finger without immediately losing control. Alternative to prototype Test: Hold left/right side of screen = steer left/right. Don’t commit until both have been tested on a physical phone. ⸻ Drift system Drifting should happen naturally when turning at speed. No dedicated drift button. At low speed: high traction At high speed: reduced lateral traction This produces controlled sliding. Long drifts can optionally award score. Example: DRIFT +120 LONG DRIFT +340 But drift scoring is secondary to police destruction. ⸻ Police AI Police should feel: aggressive, predictable and slightly stupid. They should not simply follow the player’s current position. Instead, calculate an interception target based on player velocity. Conceptually: target = playerPosition + playerVelocity * predictionTime Police therefore try to cut the player off. ⸻ Police intelligence Police intentionally have limited obstacle avoidance. This is important. Perfect navigation would make the game less fun. Police should: pursue aggressively attempt interception avoid obvious static obstacles poorly account for other police overshoot turns collide with each other occasionally take dangerous routes This creates opportunities for the player. ⸻ Police destruction Police can be destroyed by: high-speed obstacle collisions hitting another police vehicle chain collisions environmental hazards The player does not have weapons. Example scoring: COP SMASHED +250 DOUBLE SMASH +600 TRIPLE SMASH +1,000 PILEUP! +2,000 Chain collisions should be heavily rewarded. ⸻ Wanted system Wanted level controls difficulty. ★☆☆☆☆ ★★☆☆☆ ★★★☆☆ ★★★★☆ ★★★★★ Wanted level increases based primarily on survival time and score. Level 1 2 police. Slow and forgiving. Level 2 3–4 police. Slightly faster. Level 3 5–6 police. More aggressive interception. Level 4 7–9 police. Elite police introduced. Level 5 Maximum chaos. 10+ police depending on device performance. Elite units appear frequently. The game should eventually become effectively impossible. That’s intentional. ⸻ Elite police The MVP only needs one special police type. Interceptor Visually distinct vehicle. Characteristics: faster than standard police lower mass aggressive prediction sharp steering easier to destroy in collisions This creates a glass-cannon pursuer. ⸻ Player health Use a simple health bar. Example: HULL ██████░░░░ Minor impacts: small damage. Heavy impacts: large damage. Extremely high-speed impacts: potential instant destruction. Police contact alone shouldn’t immediately kill the player. This allows chaotic scrambles. ⸻ Arena First arena should be compact. Something roughly equivalent to: ROCK ┌─────────────┐ │ │ │ ROCK │ │ │ │ ███ │ │ │ │ ROCK │ │ ROCK│ └─────────────┘ Obstacles need enough space between them for high-speed movement. Avoid procedural generation initially. Hand-design one good arena. ⸻ Environment For the first visual theme, I’d use something other than water so we’re not cloning the reference too closely. My preference: Desert outlaw chase Player is an outlaw escaping through a stylized desert environment. Environment contains: rock formations cacti barriers abandoned vehicles ramps fences small buildings dust destructible props It also fits the chunky visual language you’re already exploring with Bolt Pit. ⸻ Camera Top-down perspective camera. Not completely vertical. Something approximately: 55–70° downward angle. Camera follows player with smoothing. Camera should look slightly ahead in the player’s travel direction. At high speed: camera pulls back slightly. At low speed: camera moves closer. ⸻ Camera juice Small camera effects make a large difference. Light collision Tiny shake. Heavy collision Strong short shake. Police destruction Shake + tiny freeze frame. Example: 50–100 ms hit stop. Large pileup Slight zoom impulse + shake + particles. Don’t overdo continuous shaking. ⸻ Visual style Chunky stylized 3D. Characteristics: simplified geometry exaggerated proportions bright readable vehicles soft lighting minimal textures strong silhouettes exaggerated particles Avoid realistic vehicle proportions. Cars should feel almost toy-like. ⸻ VFX Minimum MVP effects: Player dust trail tire/skid marks drift smoke impact sparks Police siren lights smoke when damaged destruction explosion debris Environment dust destructible objects impact particles ⸻ Collision feedback Every significant collision should combine: physics + particles + audio + camera response. Major police destruction: IMPACT → physics impulse → vehicle fragments/debris → sparks → smoke → camera shake → hit stop → sound → score popup This interaction is one of the game’s main sources of satisfaction. ⸻ Score system Score comes from: ActionExample Surviving+10/sec Police destroyed+250 Driftvariable Near miss+100 Double collision+600 Triple collision+1,000 Large pileup+2,000 Exact values should remain configurable. ⸻ Near misses Optional for MVP but potentially valuable. Detect when a police vehicle passes extremely close to the player at high relative velocity. Display: CLOSE CALL! +100 This rewards risky driving. ⸻ UI During gameplay keep UI extremely minimal. SCORE COINS 13,590 14 ★★★☆☆ WANTED GAME HULL ████████░░ No minimap initially. Off-screen police can use subtle edge indicators. ⸻ Game over When hull reaches zero: brief slow motion. Player crashes. Then: BUSTED SCORE 24,850 BEST 31,220 [ AGAIN ] Tapping anywhere could restart. Avoid unnecessary menus between runs. ⸻ Audio The soundscape should sell speed and collisions. Required: engine tire squeal police sirens impact metal crunch debris destruction UI score sounds wanted level increase Sirens should become increasingly chaotic as wanted level increases. ⸻ Technical architecture Suggested Unity structure: GameManager Player ├── PlayerController ├── VehiclePhysics ├── PlayerHealth └── PlayerEffects Police ├── PoliceController ├── PoliceAI ├── VehiclePhysics ├── PoliceHealth └── PoliceEffects Systems ├── SpawnManager ├── WantedManager ├── ScoreManager ├── AudioManager ├── CameraManager └── PoolManager UI ├── HUD ├── WantedUI ├── ScoreUI ├── HealthUI └── GameOverUI Avoid building an elaborate framework. ⸻ Object pooling Police, particles and debris should use object pooling. Avoid frequent: Instantiate() Destroy() during gameplay. Mobile performance should be considered from the beginning. ⸻ Performance target Target: 60 FPS on a mid-range modern iPhone/Android device. Initial limits: ~12 active vehicles ~100 simple debris/particles simple shadows limited real-time lights Performance should be tested on device early. ⸻ Development milestones Milestone 1 — Greybox driving Build: empty arena cube player touch steering acceleration drifting camera Success criterion: Driving around an empty arena feels satisfying. Do not continue until it does. ⸻ Milestone 2 — The chase Add: one police vehicle pursuit AI interception collisions Success criterion: Dodging one police car is entertaining. ⸻ Milestone 3 — Emergent chaos Add: multiple police police-police collisions obstacles destruction scoring Success criterion: Player can intentionally cause: police → police and police → environment collisions. This is the critical milestone. ⸻ Milestone 4 — Escalation Add: wanted levels spawning difficulty scaling interceptor Now a run has an arc: calm ↓ pressure ↓ chaos ↓ panic ↓ death ⸻ Milestone 5 — Juice Add: particles camera shake hit stop skid marks dust sirens collision sounds score popups ⸻ Milestone 6 — Mobile build Build for real devices. Test: controls performance readability battery/thermal behaviour different screen ratios ⸻ Milestone 7 — Decide whether to continue At this point, stop development temporarily. Don’t immediately build a garage and 37 unlockable cars. Put the build in front of people. The important questions are: Do people immediately understand it? Do they restart after dying? Do they intentionally try to make cops crash? Does “one more run” happen naturally? If not, work on the core loop rather than adding content. ⸻ Phase 2 — only after validation If the prototype works, then expand into: Cars ↓ Coins ↓ Unlocks ↓ Challenges ↓ New arenas ↓ Special police ↓ Upgrades ↓ Daily challenges ↓ Leaderboards Potential environments: desert city docks snow industrial yard airport construction site military base And then there’s room for ridiculous police units: SUVs, armored vans, helicopters dropping roadblocks, etc. I have opened a @[Unity CLI installation] project which we can work in. The art style of the game should be fun and cartoony and the action also over the top. I have imported the Topdown engine into the project as well that we can use: topdown-engine.moremountains… I want the game to be optimized for mobile, but should work on desktop while testing.
17
11
223
18,061
Opus 5.5 is goated for motion graphics
2
1
14
779
Opus 5.5 built this game in @unity. Artwork made in Chatgpt. Used Topdown engine to speed up the process. PROMPT: PRD — Police Chase Arcade Game Working title: Heatwave Platform: iOS + Android Engine: Unity Genre: Top-down 3D arcade chase / survival Orientation: Portrait Input: One-thumb touch controls Business model: TBD — design MVP around gameplay first Primary goal: Build a genuinely fun playable prototype before adding progression or monetization. ⸻ Product vision A fast, chaotic mobile arcade game where the player is constantly being pursued by increasingly aggressive police. The player cannot directly attack. Instead, they survive by driving aggressively, drifting around obstacles, making sudden turns and tricking pursuing police into crashing into obstacles and each other. The fantasy is: You’re not stronger than the police. You’re harder to catch. Runs should produce constant near-misses, chain collisions and moments where the player escapes a seemingly impossible situation. Think: easy controls + aggressive pursuit + physics chaos + escalating pressure. ⸻ Core gameplay loop START RUN ↓ DRIVE / DRIFT ↓ POLICE PURSUE ↓ BAIT POLICE ↓ DODGE ↓ POLICE CRASH ↓ GAIN SCORE ↓ WANTED LEVEL INCREASES ↓ MORE / HARDER POLICE ↓ SURVIVE ↓ EVENTUALLY GET CAUGHT ↓ SCORE / RESTART Target run duration: 2–5 minutes. Restart should take less than 2 seconds. ⸻ Design principles 3.1 One-thumb playable The player should be able to understand the controls within seconds. No accelerator. No brake pedal. No virtual steering wheel. The vehicle moves automatically. The player controls only direction. (I moved away from this after testing it the first time and added the onscreen joystick) 3.2 Arcade physics, not simulation Vehicles should: drift slide bounce spin collide dramatically recover quickly Fun takes priority over physical accuracy. 3.3 Pursuers are weapons Police are effectively the player’s offensive mechanic. The player should learn: “If I turn here, that cop is going straight into that wall.” 3.4 Chaos should remain readable Even with 10+ vehicles on screen, the player must immediately understand: where they are where they’re moving where police are coming from what can kill them 3.5 Failure should feel fair Death should generally result from a mistake the player understands rather than unpredictable physics. ⸻ MVP scope Do not build progression, upgrades, missions or monetization for the first milestone. The first version contains: 1 player vehicle 1 arena 1 police vehicle 1 elite police variant 5 wanted levels physics collisions environmental obstacles scoring player health police destruction basic VFX basic audio game-over screen instant restart That’s enough to determine whether the game deserves further development. ⸻ Player vehicle Movement Player vehicle uses a Rigidbody-based arcade controller. Do not rely heavily on realistic WheelColliders. Core variables should be exposed in the Unity Inspector: Acceleration Maximum Speed Turn Speed Turn Curve Lateral Grip Drift Factor Vehicle Mass Collision Force Drag Angular Drag Recovery Speed These need to be extremely easy to tune. ⸻ Controls Recommended first implementation: Drag steering Player touches anywhere on the lower portion of the screen. Dragging horizontally controls steering. ← drag turn left → drag turn right Vehicle accelerates automatically. Steering should be relative rather than absolute. The player should be able to lift their finger without immediately losing control. Alternative to prototype Test: Hold left/right side of screen = steer left/right. Don’t commit until both have been tested on a physical phone. ⸻ Drift system Drifting should happen naturally when turning at speed. No dedicated drift button. At low speed: high traction At high speed: reduced lateral traction This produces controlled sliding. Long drifts can optionally award score. Example: DRIFT +120 LONG DRIFT +340 But drift scoring is secondary to police destruction. ⸻ Police AI Police should feel: aggressive, predictable and slightly stupid. They should not simply follow the player’s current position. Instead, calculate an interception target based on player velocity. Conceptually: target = playerPosition + playerVelocity * predictionTime Police therefore try to cut the player off. ⸻ Police intelligence Police intentionally have limited obstacle avoidance. This is important. Perfect navigation would make the game less fun. Police should: pursue aggressively attempt interception avoid obvious static obstacles poorly account for other police overshoot turns collide with each other occasionally take dangerous routes This creates opportunities for the player. ⸻ Police destruction Police can be destroyed by: high-speed obstacle collisions hitting another police vehicle chain collisions environmental hazards The player does not have weapons. Example scoring: COP SMASHED +250 DOUBLE SMASH +600 TRIPLE SMASH +1,000 PILEUP! +2,000 Chain collisions should be heavily rewarded. ⸻ Wanted system Wanted level controls difficulty. ★☆☆☆☆ ★★☆☆☆ ★★★☆☆ ★★★★☆ ★★★★★ Wanted level increases based primarily on survival time and score. Level 1 2 police. Slow and forgiving. Level 2 3–4 police. Slightly faster. Level 3 5–6 police. More aggressive interception. Level 4 7–9 police. Elite police introduced. Level 5 Maximum chaos. 10+ police depending on device performance. Elite units appear frequently. The game should eventually become effectively impossible. That’s intentional. ⸻ Elite police The MVP only needs one special police type. Interceptor Visually distinct vehicle. Characteristics: faster than standard police lower mass aggressive prediction sharp steering easier to destroy in collisions This creates a glass-cannon pursuer. ⸻ Player health Use a simple health bar. Example: HULL ██████░░░░ Minor impacts: small damage. Heavy impacts: large damage. Extremely high-speed impacts: potential instant destruction. Police contact alone shouldn’t immediately kill the player. This allows chaotic scrambles. ⸻ Arena First arena should be compact. Something roughly equivalent to: ROCK ┌─────────────┐ │ │ │ ROCK │ │ │ │ ███ │ │ │ │ ROCK │ │ ROCK│ └─────────────┘ Obstacles need enough space between them for high-speed movement. Avoid procedural generation initially. Hand-design one good arena. ⸻ Environment For the first visual theme, I’d use something other than water so we’re not cloning the reference too closely. My preference: Desert outlaw chase Player is an outlaw escaping through a stylized desert environment. Environment contains: rock formations cacti barriers abandoned vehicles ramps fences small buildings dust destructible props It also fits the chunky visual language you’re already exploring with Bolt Pit. ⸻ Camera Top-down perspective camera. Not completely vertical. Something approximately: 55–70° downward angle. Camera follows player with smoothing. Camera should look slightly ahead in the player’s travel direction. At high speed: camera pulls back slightly. At low speed: camera moves closer. ⸻ Camera juice Small camera effects make a large difference. Light collision Tiny shake. Heavy collision Strong short shake. Police destruction Shake + tiny freeze frame. Example: 50–100 ms hit stop. Large pileup Slight zoom impulse + shake + particles. Don’t overdo continuous shaking. ⸻ Visual style Chunky stylized 3D. Characteristics: simplified geometry exaggerated proportions bright readable vehicles soft lighting minimal textures strong silhouettes exaggerated particles Avoid realistic vehicle proportions. Cars should feel almost toy-like. ⸻ VFX Minimum MVP effects: Player dust trail tire/skid marks drift smoke impact sparks Police siren lights smoke when damaged destruction explosion debris Environment dust destructible objects impact particles ⸻ Collision feedback Every significant collision should combine: physics + particles + audio + camera response. Major police destruction: IMPACT → physics impulse → vehicle fragments/debris → sparks → smoke → camera shake → hit stop → sound → score popup This interaction is one of the game’s main sources of satisfaction. ⸻ Score system Score comes from: ActionExample Surviving+10/sec Police destroyed+250 Driftvariable Near miss+100 Double collision+600 Triple collision+1,000 Large pileup+2,000 Exact values should remain configurable. ⸻ Near misses Optional for MVP but potentially valuable. Detect when a police vehicle passes extremely close to the player at high relative velocity. Display: CLOSE CALL! +100 This rewards risky driving. ⸻ UI During gameplay keep UI extremely minimal. SCORE COINS 13,590 14 ★★★☆☆ WANTED GAME HULL ████████░░ No minimap initially. Off-screen police can use subtle edge indicators. ⸻ Game over When hull reaches zero: brief slow motion. Player crashes. Then: BUSTED SCORE 24,850 BEST 31,220 [ AGAIN ] Tapping anywhere could restart. Avoid unnecessary menus between runs. ⸻ Audio The soundscape should sell speed and collisions. Required: engine tire squeal police sirens impact metal crunch debris destruction UI score sounds wanted level increase Sirens should become increasingly chaotic as wanted level increases. ⸻ Technical architecture Suggested Unity structure: GameManager Player ├── PlayerController ├── VehiclePhysics ├── PlayerHealth └── PlayerEffects Police ├── PoliceController ├── PoliceAI ├── VehiclePhysics ├── PoliceHealth └── PoliceEffects Systems ├── SpawnManager ├── WantedManager ├── ScoreManager ├── AudioManager ├── CameraManager └── PoolManager UI ├── HUD ├── WantedUI ├── ScoreUI ├── HealthUI └── GameOverUI Avoid building an elaborate framework. ⸻ Object pooling Police, particles and debris should use object pooling. Avoid frequent: Instantiate() Destroy() during gameplay. Mobile performance should be considered from the beginning. ⸻ Performance target Target: 60 FPS on a mid-range modern iPhone/Android device. Initial limits: ~12 active vehicles ~100 simple debris/particles simple shadows limited real-time lights Performance should be tested on device early. ⸻ Development milestones Milestone 1 — Greybox driving Build: empty arena cube player touch steering acceleration drifting camera Success criterion: Driving around an empty arena feels satisfying. Do not continue until it does. ⸻ Milestone 2 — The chase Add: one police vehicle pursuit AI interception collisions Success criterion: Dodging one police car is entertaining. ⸻ Milestone 3 — Emergent chaos Add: multiple police police-police collisions obstacles destruction scoring Success criterion: Player can intentionally cause: police → police and police → environment collisions. This is the critical milestone. ⸻ Milestone 4 — Escalation Add: wanted levels spawning difficulty scaling interceptor Now a run has an arc: calm ↓ pressure ↓ chaos ↓ panic ↓ death ⸻ Milestone 5 — Juice Add: particles camera shake hit stop skid marks dust sirens collision sounds score popups ⸻ Milestone 6 — Mobile build Build for real devices. Test: controls performance readability battery/thermal behaviour different screen ratios ⸻ Milestone 7 — Decide whether to continue At this point, stop development temporarily. Don’t immediately build a garage and 37 unlockable cars. Put the build in front of people. The important questions are: Do people immediately understand it? Do they restart after dying? Do they intentionally try to make cops crash? Does “one more run” happen naturally? If not, work on the core loop rather than adding content. ⸻ Phase 2 — only after validation If the prototype works, then expand into: Cars ↓ Coins ↓ Unlocks ↓ Challenges ↓ New arenas ↓ Special police ↓ Upgrades ↓ Daily challenges ↓ Leaderboards Potential environments: desert city docks snow industrial yard airport construction site military base And then there’s room for ridiculous police units: SUVs, armored vans, helicopters dropping roadblocks, etc. I have opened a @[Unity CLI installation] project which we can work in. The art style of the game should be fun and cartoony and the action also over the top. I have imported the Topdown engine into the project as well that we can use: topdown-engine.moremountains… I want the game to be optimized for mobile, but should work on desktop while testing.
17
11
223
18,061
✌︎ frederik ✌︎ retweeted
Skills to learn as a designer: - How to hit a deadline. 
- How to talk with clients. 
- How to work with a team. 
- How to price your work. 
- How to sell yourself and services. 
- How to build relationships.
- How to promote yourself.
 - How to deal with burn out.
5
6
55