Code Monkey home page Code Monkey logo

fsharp-3d-and-gamedev's Introduction

3D Graphics Programming and Game Development in F#

Inspired by Functional Programming In Games repository.

This is a WIP document.

Please suggest papers/articles/resources through Github pull requests. If you believe this list is missing something or has factually inaccurate info, you can also file an issue in the issue tracker.

OSS Projects

  1. Aardvark Platform - awesome libraries from math to interactive high-performance graphics applications. Specifically, check out Aardvark rendering engine and Aardvark media, Elm-style purely functional UI and 3D graphics
  2. F# Rendering Toolkit (Real-Time) - includes Math3D
  3. 3D Math in F#
  4. F# GLFW 3.2.1 Binding
  5. RayTracer F# Implementation
  6. F# Ray Caster Implementation
  7. Shader translation from F# to HLSL
  8. Duality Scripting - write F# on the Duality Game Engine. This plugin supports C# too.
  9. Nu Game Engine cross-platform F# 2D game engine. It encourages to use a variation of FRP called Iterative Functional Reactive Programming as architectural style.
  10. FShade - a Library allowing users to write Shaders in F# using code-quotations.
  11. F# Doom
  12. F# Quake 3
  13. A collection of heightmap generators, along with some bmp/ppm image format savers
  14. Fun 3D: Composing 3D objects with F# - beginner-friendly environment for composing 3D objects in functional way.

OSS Samples

  1. Vulkan in F# samples
  2. F# gamedev samples and slides
  3. WebGL F# Fable bindings and example with WebGL
  4. FSSceneKit City - creating a randomly generated city using the SceneKit API (Xamarin) and F#.
  5. ARKit in F#, with realistically proportioned Solar System Objects
  6. WIP: App with facts on the planets in the Solar System. Uses Urho3D and Fabulous (F#)
  7. Three.js, WebGL and F# - a 3D Terrain sample. Live version here

Tutorials

  1. F# game tutorial series with Monogame
  2. Unity3D game engine tutorial in F# - an easy way to get started
  3. Tutorial: Using F# with Unity3D 2018.3
  4. Programming UrhoSharp with F#

Videos

  1. Will Smith - Porting Quake III to F#: A Journey to Functional Programming
  2. The 3D Geometry of Louvre Abu Dhabi in F#. Alternative link
  3. F# in Social Gaming
  4. F# Exchange 2018 - 3D Model Manipulation with F# - need to log in to watch.
  5. Functional Game Logic With State Pipelines
  6. Teaching F# - from Numerical Expressions to 3D Graphics
  7. Using a "tweaked" version of Fable to run FShade in the browser and generate shaders in runtime from F# code, by Georg Haaser
  8. F# and MonoGame - Part 1 of Video Series by Dave Thomas

Articles

Star Wars Intro in AutoCAD in F# - part 1 out of 4, others linked in part 1

3D Graphics Programming

  1. Why Write Shaders in F#?
  2. Composing Chrismas with F# - example of 3D graphics in F# using an OpenGL-based graphic library written in F#. More with this library: Tomas Petricek - Domain Specific Languages, the functional way, Solving fun puzzles with F#

Game Development

VR / AR / MR

  1. Face-based Augmented Reality with F# and the iPhone X
  2. The Solar System with ARKit and F#

On Interop

  1. Accessing Linux C libraries with F# and .Net Core

Graphics / Gamedev on the Web (Powered by Fable)

  1. Creating Visual Planetary Systems using Fable and F#
  2. Three.js + F# + Fable = ❤
  3. F#, Fable & ThreeJs: Hello Cube

Presentations

  1. Solving 3D Problems With F#

Books

  1. Friendly F# - Not totally about games but all examples are game-related.
  2. Beginning F# by Robert Pickering - Examples in Chapter 12 are relevant to (3D) Graphics Programming.

Papers

  1. Monadic Scripting in F# for Computer Games

Commercial Games Made with F#

  1. Onikira: Demon Killer is a 2D side scrolling beat ‘em up set in a fantasy feudal Japan. It's on Steam Early Access, written in F#.
  2. Asteroid Sharpshooter published on Xbox Live Indie Games, written in F#. Slides on the development process. His blog has more information on how he made F# work with XNA on Xbox 360.

Consider eventually consolidating with Guide - Mobile App and Game Programming with F#

fsharp-3d-and-gamedev's People

Contributors

w0lya avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.