
FSEngine
A downloadable project
# FSPL ENGINE
FSPL (F***ing Simple Programming Language) is a minimalist, expression-based 2D game scripting engine and runtime framework built on top of Java AWT/Swing.
It provides an interpreted runtime environment with static script pre-validation, built-in particle synthesis, asynchronous audio execution, and standardized game loop primitives.
Official Documentation: http://fspldocs.gt.tc
---
## 1. TECHNICAL OVERVIEW
FSPL is designed to decouple game logic from low-level engine boilerplate. The core execution engine is composed of three primary components:
* **Lexer & Parser:** Performs single-pass lexical analysis and builds Abstract Syntax Trees (AST) from script input files.
* **Static Validator:** Verifies statement structures, scope bounds, and variable identifiers prior to engine loop initialization.
* **Interpreter & Game Loop:** Executes AST nodes with a deterministic 60 FPS tick-rate lock and double-buffered frame pipeline.
---
## 2. CORE SUBSYSTEMS
* **Entity Manager:** Handles dynamic allocation, transformation matrices, spatial querying, and sprite binding.
* **Particle Emitter Engine:** Configurable source emitters supporting dynamic particle counts, lifetime decay, color modulation, and blend states.
* **Async Audio Engine:** Multi-channel PCM audio pipeline for non-blocking concurrent playback of background music (BGM) loops and short audio clips (SFX).
* **Camera FX Subsystem:** Real-time screen displacement, shake vectors, and viewport transitions.
* **State & Save Utility:** Lightweight key-value persistence layer for runtime data serialization.
---
## 3. LANGUAGE SYNTAX & SPECIFICATION
FSPL uses an imperative, block-scoped syntax. Variables are explicitly declared using the `set` statement.
### Basic Logic & Variable Allocation
| Published | 1 day ago |
| Status | Prototype |
| Category | Other |
| Author | mazfons |
| Tags | 2D, easy, fspl, Game engine, language, Simple |
| Content | No generative AI was used |
Download
Click download now to get access to the following files:


Leave a comment
Log in with itch.io to leave a comment.