Support us on
72% of $250
Castle Game Engine
Download
Features
News
Documentation
Manual
Creating Game Data
API Reference
Modern Object Pascal Introduction
Overview for Unity Developers
Compiling from source
Scene Graph (X3D)
Presentation (GIC 2022)
Videos
Viewer for glTF, X3D...
Forum, Discord...
Gallery
Games
Tools
Additional Components
Assets (3D and 2D Graphics, Sound)
Home
»
Documentation
»
Manual
Previous: Components to reuse a design in other designs
Next: Sprite sheets
Manual
2D games
Contents:
Sprite sheets
Images
Tiled maps
How to render 2D games with images and sprites
Previous: Components to reuse a design in other designs
Next: Sprite sheets
Manual
Documentation
Manual
Install
Build your first application
Designing user interface and handling events (press, update) within the view
Managing Views
Viewport with scenes, camera, navigation
Tutorial: Designing a 3D world
Tutorial: Designing a 2D world
Camera
Navigation
Writing code to modify scenes and transformations
Behaviors
Multiple viewports to display one world
User interface
Text and fonts
Customize loading image
Custom drawn 2D controls: player HUD
Editor
Custom Components in Editor
Components to reuse a design in other designs
2D games
Sprite sheets
Images
Tiled maps
How to render 2D games with images and sprites
Physics
Sound
OpenAL
FMOD
Persistent data (user preferences, savegames)
Save screen (screenshot)
Network, downloading and using URLs
Logging
Cross-platform (desktop, mobile, consoles...) projects
Data directory
CastleEngineManifest​.xml
Customize UI scaling, font, warmup cache by CastleSettings.xml
Build Tool
Touch Input
Platforms details
Android
Android FAQ
Android Services (Google Play Games and many more...)
Adding New Android Services
iOS
iOS Services (Apple Game Center and many more...)
In-App Purchases (Android, iOS)
Nintendo Switch
macOS
Optimization
Occlusion Culling
Profiling Using Valgrind
Detecting Memory Leaks Using HeapTrc
Making rendering prettier
Bump Mapping (Normal Maps)
Shadow Volumes
Background (skybox, sky and ground)
Fog
Blending
Color Space (Gamma Correction)
Alpha Bleeding
Engine on a form (VCL, FMX, LCL) using TCastleControl
Automatic Builds (Continuous Integration and Delivery)
GitHub Actions (automatic builds for GitHub projects)
GitLab CI/CD (automatic builds for GitLab projects)
Docker (easily get CGE, compilers, texture compression tools)
Jenkins (automatic builds by your Jenkins server)
Miscellaneous
Visual Studio Code
Which way is up?
Transformation hierarchy
CastleWindow Backends
Threads
Compiling from source
Supported compilers and IDEs
Coding Traps
Units Map
Dedicated GPU
fpcupdeluxe
FpMake and FpPkg
License
Helping in engine development
Donate
Roadmap
Coding Conventions
Deprecated: Utilities for typical 3D games
Overview
Loading game level
Player
Defining creatures and items
Using creatures and items
Extending creatures and items classes
Creating Game Data
Exporting 3D and 2D models
Supported model formats
glTF
MD3
Blender
3ds Max
Maya
Spine
Auto-generated compressed and scaled textures
Deprecated: XML files describing game data for typical 3D games
Levels
Resources (creatures and items)
Player configuration
Deprecated: Sounds XML description
API Reference
Modern Object Pascal Introduction
Overview for Unity Developers
Scene Graph (X3D)
Demo models
Standard X3D Nodes
Core
Time
Extensions
Networking
Grouping
Rendering
Extensions
Shape
Extensions
Geometry3D
Extensions
Geometry2D
Text
Extensions
Sound
Lighting
Texturing
Extensions
X3D MultiTexturing problems and proposed solutions
Interpolation ("how to animate things")
Extensions
Pointing device sensor
Key device sensor
Environmental sensor
Navigation
Extensions
Environmental effects
Extensions
H-Anim
NURBS
Control points are in homogeneous coordinates
Scripting
Event utilities
Extensions
Programmable shaders
CAD geometry
Texturing3D
Cube map environmental texturing
Larger X3D Extensions
Compositing Shaders
Mirrors on flat objects
Screen Effects
Shadow Maps
Shadow Volumes
(Old) VRML 1.0
Complete list of X3D Extensions
CastleScript language reference
Castle Animation Frames (castle-anim-frames) file format
VRML / X3D time origin considered uncomfortable
NIST conformace test suite
Presentation (GIC 2022)