All Projects → lambdacube3d → lambdacube-quake3

lambdacube3d / lambdacube-quake3

Licence: other
Quake 3 map viewer in Haskell using LambdaCube 3D

Programming Languages

haskell
3896 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to lambdacube-quake3

quake authmdl
Authentic Model Improvements for Quake
Stars: ✭ 44 (-33.33%)
Mutual labels:  quake
icecon
Simple and quick to use RCON tool for IW4M and other Q3-compatible game servers.
Stars: ✭ 32 (-51.52%)
Mutual labels:  quake
BifurcationKit.jl
A Julia package to perform Bifurcation Analysis
Stars: ✭ 185 (+180.3%)
Mutual labels:  gpu
quake-cli-tools
Command line tools for creating Quake content.
Stars: ✭ 41 (-37.88%)
Mutual labels:  quake
fixmatch-pytorch
90%+ with 40 labels. please see the readme for details.
Stars: ✭ 27 (-59.09%)
Mutual labels:  gpu
allgebra
Base container for developing C++ and Fortran HPC applications
Stars: ✭ 14 (-78.79%)
Mutual labels:  gpu
john-carmack-plan
An archive of John Carmack’s .plan files in readable markdown format
Stars: ✭ 113 (+71.21%)
Mutual labels:  quake
peakperf
Achieve peak performance on x86 CPUs and NVIDIA GPUs
Stars: ✭ 33 (-50%)
Mutual labels:  gpu
coreos-gpu-installer
Scripts to build and use a container to install GPU drivers on CoreOS Container Linux
Stars: ✭ 21 (-68.18%)
Mutual labels:  gpu
RenderScriptOps
🚀 TensorFlow running with RenderScript on Android GPU
Stars: ✭ 15 (-77.27%)
Mutual labels:  gpu
Kosm-Classic-FPS-Template-UE4
Classic Arena First-Person-Shooter Mechanics for Unreal Engine 4.
Stars: ✭ 38 (-42.42%)
Mutual labels:  quake
attic
A collection of personal tiny tools - mirror of https://gitlab.com/hydrargyrum/attic
Stars: ✭ 17 (-74.24%)
Mutual labels:  quake
FGPU
No description or website provided.
Stars: ✭ 30 (-54.55%)
Mutual labels:  gpu
Quake2
Quake 2 modification with new renderer and many other unique features.
Stars: ✭ 31 (-53.03%)
Mutual labels:  quake
ELM-pytorch
Extreme Learning Machine implemented in Pytorch
Stars: ✭ 68 (+3.03%)
Mutual labels:  gpu
QuakeBotArchive
Archive of all Quake 1 bots.
Stars: ✭ 129 (+95.45%)
Mutual labels:  quake
tyrquake
Libretro port of Tyrquake (Quake 1 engine)
Stars: ✭ 28 (-57.58%)
Mutual labels:  quake
gpubootcamp
This repository consists for gpu bootcamp material for HPC and AI
Stars: ✭ 227 (+243.94%)
Mutual labels:  gpu
netradiant-custom
The open-source, cross-platform level editor for id Tech based games.
Stars: ✭ 154 (+133.33%)
Mutual labels:  quake
glip-lib
An OpenGL Image Processing Library (in C++/GLSL).
Stars: ✭ 14 (-78.79%)
Mutual labels:  gpu

Build Status Join the chat at https://gitter.im/lambdacube-quake3/community

First person shooter game in Haskell

However to be honest at current stage it's just a map viewer...

The motivation of the project is to experiment with purely functional design of a real word 3D computer game.

For technical details check presentation video The innards of a purely functional 3D shooter game engine (influenced by Quake 3) from Haskell Exchange 2016.

To get an overview of LambdaCube 3D watch the showcase presentation video.

System Requirements

  • OS: Windows/Linux/macOS
  • Graphics: OpenGL 3.3 or better

Install Steps

0. Clone this repository

git clone https://github.com/lambdacube3d/lambdacube-quake3.git

1. Get pak0.pk3

First you have to get the pak0.pk3 file which contains the game data. You can get it for free from Quake3 Demo version. Here are some alternatives:

  • (a) download Quake3 Demo pak0.pk3 directly (EASY)
  • (b) step by step instructions to extract pak0.pk3 from Quake 3 Demo, first download linuxq3ademo-1.11-6.x86.gz.sh

If you own the full version of the game you can use the pak0.pk3 from it also.

Then copy pak0.pk3 to the directory where you execute the application from. E.g. ./lambdacube-quake3

2. On Linux install the following libraries.

i.e. on Ubuntu:

sudo apt install libgl1-mesa-dev libxi-dev libxcursor-dev libxinerama-dev libxrandr-dev zlib1g-dev libpulse-dev

For other Linux distributions make sure the corresponing packages are installed.

These libraries required for OpenGL development.

3. Compile & Run

To compile you will need Haskell Stack.

stack setup
stack build
stack exec q3mapviewer

Example Run

When you run it you have to select a map by typing it's name. E.g.

bash-3.2$ stack exec q3mapviewer
Available maps:
q3dm1 q3dm17 q3dm7 q3tourney2
Enter map name:
q3tourney2

The application will search pak0.pk3 in the current directory and also will create the .lc_q3.cache folder to cache the compiled graphics pipelines. It reduces the loading time if the map was loaded before. Quake III level viewer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].