Appearance
Arcade › City Words
Click the game above and it runs right here in your browser. No download, no installer, no account needed. Benni Roth built it with Cinevva, so it works on a phone or a tablet too.
Nobody has said anything about City Words yet. Play it, then tell Benni Roth what you would add next.
City Words was built by Benni Roth with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.
Remix City Words opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.
Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.
Recreate a browser game titled “🚗 CITY WORDS” with a German-language interface and a 2D top-down driving/word-learning game. Use a dark navy full-screen presentation, responsive canvas, rounded dark panels, white text, muted gray-blue secondary text, and yellow as the main accent. The opening screen is a centered large rounded panel with the title, the subtitle “Fahre durch die Stadt, sammle Wörter und entkomme der Polizei.”, a player-name field with placeholder “z.B. Alex”, a yellow “Einloggen” button, a “Lehrer-Dashboard” button, and a note that browser save data is stored locally on this device. After entering a name, show a setup panel welcoming the player. Let the player choose between “Level 1 – einfache Wörter” and “Level 2 – schwierige Wörter”, then select a car from a grid. Include these five car choices with their visible emoji, names, colors, speeds, and prices: red 🚗 Stadtflitzer (250 km/h, free), blue 🚙 Familienvan (220 km/h, free), yellow 🚕 Taxi (270 km/h, 1000 Punkte), purple 🛻 Pickup (235 km/h, 2000 Punkte), and mint/green 🏎️ Rennwagen (320 km/h, 3000 Punkte). The setup also has “Spiel starten”, “Dashboard”, and “Abmelden”. Persist player profiles, games, total scores, and history in browser local storage under a City Words data record. The player dashboard should show total points, number of games, average score, and a high-score list sorted by score. The actual game is a 2D overhead city on a large 4000 by 4000 world, with the camera centered on and following the player car. Render green grass as the background, a regular grid of wide dark-gray roads with lighter borders and dashed pale center lines, muted blue-gray rectangular buildings with repeated small window rectangles, and scattered stylized green trees. Place the player as a small rounded-rectangle car in the selected car’s color, with its selected emoji overlaid, rotated in the direction of travel. Start the car at a random point on a road. The player can drive freely in four directions using Arrow keys or WASD, and on touch devices use a large circular virtual joystick at the lower left. Movement is clamped within the world. Driving on roads uses the selected car speed; off-road movement is slowed substantially, and moving near/through a tree slows it even more. Display a fixed HUD over the canvas: pills for “Mission 0/10”, “Punkte 0”, current speed in km/h, and elapsed time in mm:ss, plus a pause button at upper right. Show a large yellow direction arrow at screen center pointing toward the active target, and a bottom-left touch joystick. At the start of each run, create 10 target missions at random road positions. Select words from the chosen level’s German word list. Default Level 1 words are APFEL, HAUS, BAUM, AUTO, SONNE, WASSER, SCHULE, STRASSE, KATZE, TISCH. Default Level 2 words are ABENTEUER, GESCHWINDIGKEIT, VERKEHRSAMPEL, BUECHEREI, FAHRRADWEG, STADTPLAN, WORTSCHATZ, POLIZEIWAGEN, KREUZUNG, ZIELGERADE. Draw each unfinished mission as a circular target marker with a 🎯 icon; highlight the current mission in yellow and later missions in a muted green. When the player comes within about 150 world units of the current target, show a yellow banner near the top saying “🎯 Mission in Reichweite – antippen” and hide the direction arrow. The player can tap the banner/canvas or press E/Enter to open the mission modal when close enough. The mission modal is a dark rounded dialog titled “🎯 Mission”, with “Schreib das ganze Wort:”, a large spaced word pattern, an input, a yellow “✓ Bestätigen” button, a “Weiterfahren” button, and feedback text. Initially reveal alternating letters and replace the other letters with underscores. Require the player to type the entire word, case-insensitively. On the first incorrect attempt, reveal the entire word in spaced letters and say “Noch ein Versuch – das Wort ist jetzt sichtbar.” A correct first attempt awards 5 points for each hidden letter, adds those word points to the score, marks the mission complete, advances to the next target, and shows a success message such as “✓ Richtig! +X Punkte”. A correct later attempt completes it without extra points and says it is correct without bonus points. Further incorrect attempts leave the mission open and explain that it remains available. Completed targets disappear. Award no separate bonus for later attempts. Introduce police pursuit as progress increases. Once mission 7 has been reached, spawn one police car at a random road position; after all 10 missions are completed, spawn three police cars and create a green circular finish goal with a 🏁 at the center of the city (2000,2000). Police are represented by 🚓 emoji and continuously move toward the player. On contact, subtract 2 points, briefly slow the police car, push it back, and enforce a short collision cooldown. After all 10 words are solved, the player must drive to the finish goal; reaching it within roughly 95 units wins the run. Pause with the “Ⅱ” button or Escape, showing a modal titled “Pause” with “Das Spiel ist pausiert.”, “Fortsetzen”, and a red “Spiel verlassen” button. On winning, hide the HUD and show a results modal titled “🎉 Gewonnen!” with word points, time points, total, duration, and missions completed out of 10. Calculate time points as max(0, 1000 minus elapsed whole seconds), and total as the current score plus time points. Save the result to local history and the player’s aggregate totals. Provide “Nochmal spielen” and “Dashboard” buttons. Keep the visual style clean and educational: dark translucent HUD pills, high-contrast yellow targets and buttons, green success UI, red danger/quit UI, rounded cards, and simple emoji/vector-style city art rather than detailed 3D graphics. Include a teacher dashboard accessible from the login screen. Protect it with a PIN entry; the implemented PIN is 6034. Once unlocked, show counts for students and games, a student list with total points and games, editable comma-separated Level 1 and Level 2 word lists, and buttons to save words, export all data as JSON, and import JSON data. Include a back button. The interface should remain German throughout, matching labels such as “Spielername”, “Einloggen”, “Lehrer-Dashboard”, “Spiel vorbereiten”, “Auto wählen”, “Punkte”, “Spiele”, “Highscores”, and “Zurück” shown in the reference UI.