WebGL only 2D game engine using Godot as the visual editor
MIT License
Use Godot as visual editor but write game in TypeScript, a magic web game framework :)
Install build dependencies: yarn
or npm install
npm run start
: start dev server with live-reloading
npm run build
: build for production and copy media
with compiled scripts to dist
, also generate .br
and .gz
for files.
You can edit scenes from Godot and then use the importer to convert project setting and scenes to JSON, which will then be loaded automatically. Voltar editor is deprecated in favor of the workflow with Godot and importer.
Scenes should be saved into the assets/scene
, and uses assets located inside assets
folder.
Textures should ALWAYS go into assets/image/*
and uses the texture packer to generated atlas exported to media
folder. Otherwise it won't work.
Single images that will be copied into media
folder should be put in the assets/image/standalone
folder, so they will be copied automatically (even after you modified).
Bitmap font with BMFont format added to assets/bitmapfont
will be automatically convert and copy to
media
folder too.
3D data formats like .dae
, .fbx
, .gltf
and .obj
are not supported. But those are still usable by SAVE imported mesh data as ".tscn" manually. So basically any format supported by Godot become YES \o/
Make sure you've installed dependencies of the importer. In case you're not:
cd tscn && yarn
or cd tscn && npm install
Setup Godot project (from project settings)
Create scenes, and save them into the assets/scene
folder
Run node tscn/main
to convert project settings and scenes to JSON
file, and then import these files or preload them as assets in your code.
(in VSCode you can press F5
, and find configs in Jetbrains IDEs)
Most 2D features and basic 3D support (no 3D physics and particles yet). Custom shader supported in a level (may not work with complex shaders right now).
CanvasLayer
ParallaxBackground
ParallaxLayer
Camera2D
Path2D
Node2D
YSort
RemoteTransform2D
VisibilityNotifier2D
Timer
Sprite
Control
, Container
and most GUI nodesLabel
TextureButton
TextureProgress
TextureRect
NinePatchRect
AnimatedSprite
AnimationPlayer
tweens
)CPUParticle2D
TileMap
Area2D
RayCast2D
StaticBody2D
KinematicBody2D
Viewport
Spatial
Camera
MeshInstance
with primitive meshes and mesh with escn
formatCube
, Quad
and Plane
primitive meshesSkeleton
and skeleton animationDirectionalLight
with shadowSpotLight
(no shadow support yet)OmniLight
with shadow support (not perfect but fast)RichTextLabel
(WIP)RigidBody2D
(WIP)engine/index
to disable modules not usedengine/servers/physics_2d
to enable physics supportearcut
in engine/servers/visual/visual_server_canvas
for 2D polygon renderingengine/audio/index
to enable audio support