Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asivitz/Hickory
Tools for building 3D interactive programs in Haskell
https://github.com/asivitz/Hickory
Last synced: 3 months ago
JSON representation
Tools for building 3D interactive programs in Haskell
- Host: GitHub
- URL: https://github.com/asivitz/Hickory
- Owner: asivitz
- Created: 2014-07-30T20:00:17.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-03-21T02:15:45.000Z (8 months ago)
- Last Synced: 2024-03-21T03:27:20.917Z (8 months ago)
- Language: Haskell
- Homepage:
- Size: 38.6 MB
- Stars: 64
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Hickory
Hickory is a game engine for Haskell. The pieces (vulkan renderer, input systems, resource loading, game state management) are fairly modular, allowing some pieces to be used without committing to others.
## Core library: 'Hickory'
- Vulkan Graphics
- 3D Model Loading / Animation
- Camera Projection/Unprojection
- Text Rendering
- Raw Input (Mouse clicks / touches and key pressses)
- Misc. Math Utilities## Functional Reactive Paradigm: 'Hickory-FRP'
- Built on the 'Reactive Banana' FRP library
- Game loop
- Separate rendering and physics time steps
- Game state recording and time-travel
- High level UI widget abstraction## GLFW Backend: 'Hickory-GLFW'
- Easy initialization of a Vulkan context and input handling for GLFW (a cross platform desktop library)
## iOS Backend: 'Hickory-iOS'
- Easy initialization of a Vulkan context and input handling for iOS
- Some additional fiddly work needed to get a working binary, but overall this is a relatively painless way to get into iOS development## Getting started
The Examples/ directory has a simple action game example.
```
$ stack run shooter
```## Contributing
See CONTRIBUTING.md file for details.
## License
See LICENSE file for details.