frag: 3-D First Person Shooter (FPS)

[ game, program ] [ Propose Tags ]

A fast and basic reimplementation of the Quake III Arena engine in Haskell; supports many Quake III Arena maps.

[Skip to Readme]
Versions [RSS] [faq] 1.1, 1.1.1, 1.1.2
Dependencies array, base, GLUT, haskell98, OpenGL (>=2.0) [details]
License LicenseRef-GPL
Author Mun Hon Cheong
Category Game
Home page
Uploaded by GwernBranwen at 2008-02-10T05:42:10Z
Distributions NixOS:1.1.2
Executables frag
Downloads 3599 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 7 reports]


  • AFRP
  • AFRPAffineSpace
  • AFRPDiagnostics
  • AFRPEvent
  • AFRPForceable
  • AFRPGeometry
  • AFRPInternals
  • AFRPMiscellany
  • AFRPPoint2
  • AFRPPoint3
  • AFRPTask
  • AFRPUtilities
  • AFRPVector2
  • AFRPVector3
  • AFRPVectorSpace
  • BSP
  • BitSet
  • Camera
  • Collision
  • Command
  • Curves
  • Diagnostics
  • Frustum
  • Game
  • HGL
  • IdentityList
  • MD3
  • MapCfg
  • Matrix
  • Object
  • ObjectBehavior
  • Parser
  • PhysicalDimensions
  • Quaternion
  • Raybox
  • ReadImage
  • Render
  • RenderObject
  • TGA
  • TextureFonts
  • Textures
  • Visibility


Maintainer's Corner

For package maintainers and hackage trustees


Readme for frag-1.1

[back to package description]
Author: Mun Hon Cheong (

Program: Frag - a FPS i put together using Haskell and with Yampa

Year: 2005, 2007-8

License: GPL

Usage: $ frag leveleg

'leveleg' can be an arbitrary Quake III Arena level; a default level is provided in this package, and is installed in 'share/frag-1.1', wherever that is. For example, if it's installed into ~/bin, and frag occupies ~/bin/frag, a successful invocation might be 'frag ../share/frag-1.1/leveleg'.

Requirements: A graphics card with support for multitexturing and vertex arrays

    ghc --make -O2 -fglasgow-exts main.hs
    runhaskell Setup configure --user --prefix=/home/foo
    runhaskell Setup build
    runhaskell Setup install

Controls: mouse moves around the view, 'w'\'a'\'s'\'d' to move and strafe, 'e to jump, 'z' and 'x' to lock and unlock the mouse, left click to fire.