No description
- C# 72.9%
- JavaScript 21%
- HTML 2.9%
- CSS 1.9%
- PowerShell 1.3%
| editor | ||
| lerptest | ||
| pingpong_demo | ||
| src | ||
| tdshooter_demo | ||
| tlptestproj | ||
| ui_demo | ||
| .gitignore | ||
| Docs.md | ||
| gen_project.ps1 | ||
| Program.cs | ||
| README.md | ||
| ru.tlpteam.tb.Runtime.csproj | ||
| ru.tlpteam.tb.runtime.sln | ||
Testboxed Runtime (ru.tlpteam.tb.Runtime)
C# runtime for Testboxed-style projects.
Features
- Dynamic C# script compilation from project
Scripts/ - Scene/object loading from JSON (
Scenes/,Objects/) - 2D rendering (SFML)
- Physics (AABB box colliders, trigger/solid events)
- Audio API (SFX/music channels)
- Input API (keyboard/mouse)
- Debug mode (
F3) with panel, collider overlay, camera controls, RAM graph - Built-in UI module:
ru.tlpteam.tb.UI(Panel,Text,Sparkline,Anchor, input routing) - Optional logical viewport + render scale (window size can differ from internal render size)
- Web editor in
/editor(plain HTML/CSS/JS)
Project layout
<project>
tlpruntimeconfig.json
Scripts/
Scenes/
Objects/
Textures/ (optional)
Sounds/ (optional)
Runtime config (tlpruntimeconfig.json)
{
"Name": "My Game",
"WindowWidth": 1280,
"WindowHeight": 960,
"ViewportWidth": 640,
"ViewportHeight": 480,
"RenderScale": 1.0
}
Keys:
WindowWidth,WindowHeight: real OS window sizeViewportWidth,ViewportHeight: logical game viewportRenderScale: internal offscreen render multiplier
Run
From repository root:
dotnet run -- <ABSOLUTE_OR_RELATIVE_PROJECT_PATH>
Example:
dotnet run -- .\pingpong_demo
Build
dotnet build
If executable lock issues happen on Windows, use:
dotnet build /p:UseAppHost=false
Debug hotkeys (runtime)
F3: toggle debug mode (panel + collider debug + camera controls)F5: reset debug camera (when debug mode is on)F6/F7: hold to zoom in/out (when debug mode is on)- Arrow keys: pan camera (when debug mode is on)
API reference
- Full signatures are in
Docs.md.
Included demos
pingpong_demotdshooter_demolerptestui_demotlptestproj
Editor (/editor)
Static browser-based project editor (no framework).
Core capabilities:
- open project folder (
showDirectoryPicker) - map editing (place, drag, resize, delete instances)
- object creation/editing
- texture preview and assignment
- scene create/save