Castle Game Engine
Manual
Contents:
- 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
- Expose scene elements, like children transformations as TCastleScene children
- 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 and castle-data:/ URL protocol
- 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
- Making rendering prettier
- Bump Mapping (Normal Maps)
- Shadow Volumes
- Background (skybox, sky and ground)
- Fog
- Blending
- Color Space (Gamma Correction)
- Alpha Bleeding
- Sketchfab
- 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)
- Pascal IDEs
- Lazarus
- Delphi
- Delphi packages
- Delphi for Linux
- Visual Studio Code
- Miscellaneous
- Steam
- 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