What is the Nu Game Engine?
"The Nu Game Engine is a game development platform that aims to drastically reduce the cost of game development by providing a superior programming model for games via Iterative Functional Reactive Programming (IFRP). After finally reaching v1.3.0.4, the implementation has matured enough to prove both the efficacy and viability of functional programming in games in terms of performance, programmability, and reliability."
This repository hosts several projects, including -
- the Nu Game Engine, a cross-platform F# 2D game engine built in the functional style. Uses SDL2 and Farseer Physics.
- the sample game BlazeVector.
- the work-in-progress game InfinityRpg.
Here's an article explaining why functional programming works for games, and what motivated me to create this game engine - https://medium.com/@bryanedds/functional-game-programming-can-work-95ed0df14f77
And here is some media on the Nu Game Engine -
Nu's tutorial game, BlazeVector!
Editing a section of a BlazeVector stage.
Editing a special effect in Nu.
The best way to get started is to pull down the repository with a git client, and to take a look at the following documents -
The current documentation for the Nu Game Engine is found here - https://github.com/bryanedds/Nu/blob/master/Nu/Nu.Documentation/Nu%20Game%20Engine.pdf?raw=true
There is additional documentation on advanced Nu game programming techniques in an 'experience report' found here - https://github.com/bryanedds/Nu/blob/master/Nu/Nu.Documentation/Iterative%20Functional%20Reactive%20Programming%20with%20the%20Nu%20Game%20Engine.pdf?raw=true
Finally, please check out the license for this repository below!
Thanks all for checking out my work so far!
The Nu Game Engine is looking for sponsors! If you're interested in sponsoring development for what I hope will become the world's first mainstream functional game engine, please contact me at bryanedds@gmail.com . Otherwise, I'll just have to work on it in my spare time, which can be erratic :S
This project adheres to No Code of Conduct. We are all adults. We accept anyone's contributions. Nothing else matters.
For more information please visit the No Code of Conduct homepage.