Skip to content

Holfenstein: Wolfenstein-3D-like renderer in Haskell + C

Notifications You must be signed in to change notification settings

GregoryTravis/holfenstein

Repository files navigation

Holfenstein: Wolfenstein-3D-like renderer in Haskell + C

This is one of my first Haskell projects; I first wrote all of the renderer in Haskell, then translated the hot spots to C.

Holfenstein uses SDL for basic window and keyboard interaction, but no graphics primitives. All graphics are rendered directly to a framebuffer from both Haskell and C. So even in Haskell I got some of those classic renderer errors like:

  • segmentation fault
  • rendering is striped and way too tall
  • etc.

I use the following high-quality dataset for the world model:

ssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssggggggggggggggggggggggggggggggsssss sssssss
sssssssg                     ggggggggsssss sssssss
sssssssg ggggggggggggggggggggggggggggsssss sssssss
sssssssg gssssssssssssssssssssssssssssssss sssssss  <-- map.txt
sssssssg gssssssbbbfbbsssssssssbttbssss      gssss
sssssssg gmmmmmm      sssssssss    ssss   m   gsss
sssssssg                                      gsss
sssssssgssmmmmmm sssss   ssssss    ssss      gssss
ssssssssssssssssbsssssbbbssssssbttbsssssssssssssss

It's really true: "In short, Haskell is the world’s finest imperative programming language." -- Simon Peyton Jones

About

Holfenstein: Wolfenstein-3D-like renderer in Haskell + C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published