This project was 99.9% vibe coded. I am releasing it now since cursor's new pricing update is completely and unreasonably out of my budget and i am unable to continue working on this. I could manually code, but this was from the very beginning my personal experiment to push vibe coding to it's (my own) limits. I will eventually bring this into a full working state, but the result may look different than what you see today. I am absolutely sorry to everyone that hoped to build production ready games with this asap, but i will make that promise come true eventually.
I have since started working on an agentic IDE called vCode (short for vibe Code) which is exclusive to grok and also MIT licensed. available under https://github.com/vibe-stack/vcode The following of the readme has also been vibe written, so read it or just let your ai agent run wild on it.
A visual game development environment for creating Three.js-based games with the GameJS framework.
- Project management: create/open GameJS projects
- Dev server integration: start/stop dev server from editor
- File system integration: open project folders in system file explorer
- Asset and material management (basic)
- Camera and physics managers
- Scripting for entities
- UI Framework
- Material library and preview components
- Integrated code editor
- Settings dialog
- Template system for prototyping
- Visual scene editor (live editing)
- Interactivity beyond mouse (keyboard, touch, controllers)
- Scene switching, asset preloading/streaming
- Sound management and controls
- Material registry for reuse across entities/meshes
- Mesh3D component for unified entity/mesh management
- UI framework for overlays/HUDs
- Runtime/export for full games
- Open the editor folder:
cd apps/editor
- Install dependencies:
pnpm install
- Start the development server:
pnpm start
- Build the application:
pnpm package
- Create distributables:
pnpm make
- Click "New Project" in the editor
- Enter a project name (e.g., "my-awesome-game")
- The editor will create a new GameJS project with the CLI
- Click "Open" to start editing your game
- Use the "Start" button to run the development server
src/app/
— Game scenes and logicsrc/main.ts
— Game engine initializationpackage.json
— Project dependenciesvite.config.ts
— Build configurationdocs/
— Guides and documentationhelpers/
— Utility functionsmodels/
— Core data models (assets, camera, physics, etc.)examples/
— Example scripts and sceneslocalization/
— Language and i18n filesimages/
— Demo images and assets
- Electron — Desktop application framework
- React — UI components
- TanStack Router — Application routing
- Tailwind CSS — Styling
- Shadcn UI — Component library
See the docs/
folder for guides on geometry rebuilding, material systems, scripting, and more.
Contributions are welcome! Please open issues or submit pull requests for improvements, bug fixes, or new features.
This project is licensed under the MIT License. See LICENSE
for details.
See the docs/
folder for guides on geometry rebuilding, material systems, scripting, and more.
Contributions are welcome! Please open issues or submit pull requests for improvements, bug fixes, or new features.
This project is licensed under the MIT License. See LICENSE
for details.
A visual game development environment for creating Three.js-based games with the GameJS framework.
- Project Management: Create, open, and manage GameJS projects
- Visual Editor: Live editing capabilities for game scenes (coming soon)
- Dev Server Integration: Start and stop development servers directly from the editor
- File System Integration: Open project folders in your system file explorer
- Install dependencies:
pnpm install
- Start the development server:
pnpm start
- Build the application:
pnpm package
- Create distributables:
pnpm make
- Click "New Project" in the editor
- Enter a project name (e.g., "my-awesome-game")
- The editor will create a new GameJS project with the CLI
- Click "Open" to start editing your game
- Use the "Start" button to run the development server
GameJS projects created by the editor include:
src/app/
- Game scenes and logicsrc/main.ts
- Game engine initializationpackage.json
- Project dependenciesvite.config.ts
- Build configuration
The editor is built with:
- Electron - Desktop application framework
- React - UI components
- TanStack Router - Application routing
- Tailwind CSS - Styling
- Shadcn UI - Component library
i am trying to build a game engine library that wraps threejs and rapier3d for easy building of games
i think there are multiple things missing though to make a proper game with this..
- Interactivity currently is limited to mouse, but games can be played in various ways such as keyboards, touchscreen, physical controllers, touch controls (virtual joysticks, buttons)
- Scene switching, preloading OR streaming assets
- Soundmanagement and controls
- A material registry and being able to reuse them across entities/meshes
- Bringing it all together in a Mesh3D component instead of just having primitives
- A UI Framework for overlays, HUDs and more
- A proper runtime for exporting full games