Starforge Frontier is a space exploration RPG sandbox prototype built by SinLess Games LLC.
The project combines large-scale frontier exploration, ship ownership, base building, quest-driven progression, and premium RUN.game SDK integrations into a TypeScript-first game foundation.
This project is in early prototype development.
Current focus:
- Babylon.js scene rendering
- React-based UI shell
- TypeScript game architecture
- Tauri desktop runtime
- RUN.game SDK safety wrappers
- Access-gated premium SDK calls
- First playable vertical slice
- Language: TypeScript
- Frontend: React
- Build Tool: Vite
- 3D Engine: Babylon.js
- Desktop Runtime: Tauri
- State Management: Zustand
- Validation: Zod
- Testing: Vitest
- Linting: ESLint
- Formatting: Prettier
- Styles: CSS / Sass / PostCSS / Autoprefixer
- Storage: idb-keyval / RxDB
- Audio: Howler
- RUN.game SDK:
@series-inc/rundot-game-sdk
Players explore unknown worlds, discover resources, encounter hazards, and uncover ancient or alien mysteries across frontier space.
The player’s ship, equipment, base, faction standing, and choices define their long-term identity in the game world.
Ships are not just transportation. They are upgradeable homes, combat platforms, cargo haulers, exploration tools, and expressions of player style.
Players can establish outposts, expand them into functional settlements, and use them for crafting, storage, research, trade, and survival.
The world supports structured quests, branching choices, faction relationships, and emergent exploration goals.
Starforge Frontier includes both human factions and alien civilizations, each with their own cultures, conflicts, and gameplay roles.
- Node.js 22 or newer
- pnpm 11 or newer
- Rust stable
- Linux Tauri dependencies
pnpm installpnpm devpnpm desktop:devpnpm buildpnpm desktop:buildpnpm dev
pnpm build
pnpm preview
pnpm typecheck
pnpm lint
pnpm test
pnpm test:watch
pnpm format
pnpm format:check
pnpm desktop:dev
pnpm desktop:build
pnpm cleansrc/
app/
assets/
engine/
babylon/
ecs/
physics/
procedural/
game/
bases/
character/
factions/
inventory/
quests/
resources/
save/
ships/
world/
integrations/
rundot/
styles/
ui/
components/
hud/
screens/
src-tauri/
src/
Cargo.toml
tauri.conf.jsonThe project includes a safety layer for RUN.game SDK calls.
Fire-and-forget calls are wrapped so rejected SDK promises do not crash the host app:
rundotFireAndForget.log('player scored');
rundotFireAndForget.analyticsEvent('level_start', { level: 1 });
rundotFireAndForget.toast('Progress saved');Awaited SDK calls should use safe wrappers:
const result = await rundotCall('appStorage.setItem', () =>
RundotGameAPI.appStorage.setItem('save-slot-1', JSON.stringify(saveData)),
);Premium gated SDK calls use the Access Gate wrapper:
const result = await rundotPremium.getTextModels();
if (result.ok) {
console.info(result.value);
} else if (result.reason === 'access-denied') {
console.info('Login required:', result.access.requiredTier);
}The current gameplay milestone is:
Launch app
Render terrain
Spawn player camera
Spawn starter ship
Place one base module
Save/load module position
Show one quest objectiveRun these before committing:
pnpm typecheck
pnpm lint
pnpm test
pnpm buildInitialize and commit the prototype:
git init
git branch -m main
git add .
git commit -m "Initial Starforge Frontier prototype setup"UNLICENSED
Copyright © SinLess Games LLC.