This project investigates vibe coding, an AI-assisted paradigm where software is generated through natural language prompts to large language models (LLMs). We show how non-expert programmers can utilise vibe coding to develop complex 3D simulation environments. The research question guiding this study was: How can vibe coding support non-expert developers in creating complex driving simulator?
The first author, without prior programming expertise, used the Cursor together with Three.js to develop a driving simulator. Through iterative prompting, the simulator evolved in functionality, interactivity, and realism.
The aim is to evaluate both the opportunities and limitations of vibe coding in practical creative development, and to contribute insights on how AI-assisted programming can lower entry barriers for simulation design.
If you use this repository for academic work, please cite:
Fortes-Ferreira, M., Alam, M. S., & Bazilinskyy, P. (2025). Vibe Coding in Practice: Building a Driving Simulator Without Expert Programming Skills. In Adjunct Proceedings of the 17th International Conference on Automotive User Interfaces and Interactive Vehicular Applications (AutomotiveUI Adjunct ’25), Brisbane, QLD, Australia. https://doi.org/10.1145/3744335.3758482
The code is open-source and free to use.
It is primarily intended for research, education, and follow-up experimentation.
We welcome forking, pull requests, and contributions in the spirit of open science and open-source collaboration.
For collaboration or inquiries, please contact:
- Margarida Fortes-Ferreira – margaridafortesferreira@outlook.pt
- Md Shadab Alam – m.s.alam@tue.nl
- Pavlo Bazilinskyy – p.bazilinskyy@tue.nl
Tested with Node.js 18+ and npm.
Step 1: Clone the repository
git clone https://github.com/Shaadalam9/vibe-simulator
cd vibe-simulatorStep 2: Install dependencies
npm installStep 3: Start the development server
npm run devStep 4: Open the app
Open your browser and go to http://localhost:3000 to see it running.
Two prototypes were developed in the project:
-
Prototype 1 – focused on visual realism but offered limited interactivity.
to run open: city with a car on Realistic-City_with-a-non-realistic-Car -
Prototype 2 – emphasized interactivity with functional driving mechanics,and an AI-created city, though with reduced polish compared to Prototype 1.
to run open: bestresult_carandcity on Diferent-Perspectives_WASD
Figure 1: Visual realism-focused prototype.
Figure 2: Interactivity-focused prototype with procedural roads.

