prism
Version, currently 0.11.113 versions
- 0.11.1latestJul 5, 2020
- 0.11.0not indexedSep 15, 2023
- 0.10.0not indexedSep 15, 2023
- 0.9.0not indexedSep 15, 2023
- 0.8.0not indexedSep 15, 2023
- 0.7.0not indexedSep 15, 2023
- 0.6.0not indexedSep 15, 2023
- 0.5.1not indexedSep 15, 2023
- 0.5.0not indexedSep 15, 2023
- 0.4.0not indexedSep 15, 2023
- 0.3.0not indexedSep 15, 2023
- 0.2.1not indexedSep 15, 2023
- 0.2.0not indexedSep 15, 2023
github.com/da1nerd/prism
A 3D game engine.
106 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
prism:
github: da1nerd/prism
version: ~> 0.11.1Then run:
shards installshard.yml
- Crystal
0.34.0- License
- MIT
- Author
- Joel Lonbeck <joel@neutrinographics.com>
- Target
examplefrom example/example.cr
Dependencies
Runtime Dependencies
- crash*github: neutrinog/crash
- lib_gl*github: calebuharrison/LibGL, branch: master
- matrix*github: Exilor/matrix, branch: master
- crystglfw*github: neutrinog/CrystGLFW, branch: support-crystal-0.31
- annotation*github: grottopress/annotation.cr
- stumpy_png~> 4.5.2github: stumpycr/stumpy_png
- render_loop*github: neutrinog/render_loop
- baked_file_system0.9.8github: schovi/baked_file_system
README
# Prism
[](https://github.com/neutrinog/prism/releases)
[](https://travis-ci.org/neutrinog/prism)
This is a stable, though not completely baked, 3D game engine. Documentation is a little sparse right now, but hopefully the example linked below will help. *Disclaimer:* I barely know anything about game development much less game engine development. This has been a learn-as-i-go project. If you have ideas or suggestions I would love it if you opened an [issue](https://github.com/neutrinog/prism/issues).
## Goals
* **Defaults** most things should "just work" with sane defaults.
* **Pure** other than a few system level dependencies, this should be 100% pure crystal code. Wrapping an existing project is cheating.
* **Simple** try to avoid obtuse graphics language, or at least document it very well so noobs can understand what's going on.
* **Extensible** you can extend/replace/add engines to the core with ease.
## Demo
> NOTE: this was recorded at 5fps, but runs at 60fps.

You can find code for this demo at https://github.com/neutrinog/tutorial-game
## Installation
Add this to your application's `shard.yml`:
```yaml
dependencies:
prism:
github: neutrinog/prism
```
Install GLFW on your system
```bash
# on linux
sudo apt-get install libglfw3-dev
# on macOS
brew install glfw3
```
Install OpenGL
```bash
# on linux
sudo apt install mesa-common-dev
# on mac
# TODO: give install instructions
```
## Usage
```crystal
require "prism"
class Game < Prism::GameEngine
def init
# Cube
# TODO: draw a box to look at
# Sun light
sun = Prism::Entity.new
sun_color = Prism::Maths::Vector3f.new(0.2, 0.2, 0.2)
sun.add Prism::PointLight.new(sun_color)
sun.transform.move_to(0, 10000, -7000)
add_entity sun
# Camera
add_entity Prism::GhostCamera.new
end
end
Prism::Context.run("Hello World", Game.new)
```
## Contributing
1. Fork it (<https://github.com/neutrinog/prism/fork>)
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request
## Contributors
- [neutrinog](https://github.com/neutrinog) Joel Lonbeck - creator, maintainer
## Special Thanks
This project was largely inspired by ["The Benny Box"](https://www.youtube.com/channel/UCnlpv-hhcsAtEHKR2y2fW4Q) and his [3D Game Engine Tutorial](https://www.youtube.com/watch?v=ss3AnSxJ2X8&list=PLEETnX-uPtBXP_B2yupUKlflXBznWIlL5&index=1). Thanks for all the good tutorials Benny!
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.11.1- Tagged
- Jul 5, 2020
- Commit
dded2ef46ce6- Crystal
0.34.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/da1nerd/prism
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 13