Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeaye/q3
A Quake 3 like game with voxelized, destructible maps; written in Rust
https://github.com/jeaye/q3
Last synced: 21 days ago
JSON representation
A Quake 3 like game with voxelized, destructible maps; written in Rust
- Host: GitHub
- URL: https://github.com/jeaye/q3
- Owner: jeaye
- License: bsd-3-clause
- Created: 2013-04-01T23:54:47.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-12-04T19:18:56.000Z (almost 7 years ago)
- Last Synced: 2024-10-11T23:50:22.591Z (about 1 month ago)
- Language: Rust
- Homepage:
- Size: 16.3 MB
- Stars: 500
- Watchers: 37
- Forks: 25
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Q³ ![Build Status](https://travis-ci.org/jeaye/q3.png)
===
(**NOTE**: q3 should build on Rust f4bedde)
![Screenshot](pics/012_1_no_wire.png)### What is Q³?
Q³ is a project using Mozilla's Rust language and OpenGL to create a Quake 3 like game that takes
Quake 3 and QuakeLive maps, voxelizes them, and allows groups of players to blow the shit out
of everything in a fast-paced Quake-esque first person shooter with 100% destructible environments.### What's the current state of Q³?
Q³ is not a game yet! It's still a side project that I'm working on in my spare time.
* Multithreaded OpenGL rendering
* Half-baked BSP renderer (Quake 3 and Quake Live)
* Quake Live map rendering is... buggy
* Skeletal animation
* Using Quake/Doom's MD5 format
* TTF renderer
* Arbitrary mesh voxelizer (for BSP maps)
* Using Separating Axis Theorem and instance rendering
* Basic UI with drop-down console that provides in-game tweaking/debugging
* See [Console](https://github.com/jeaye/q3/wiki/Console)
* Tested on Linux and Mac OS X
* [Documentation on a wiki](https://github.com/jeaye/q3/wiki)### How do I get Q³ running on my system?
I run on the (nearly) latest Rust master; I generally pull every few days. Q³ currently has
[glfw3](https://github.com/glfw/glfw),
[glfw-rs](https://github.com/jeaye/glfw-rs),
[rust-opengles](https://github.com/jeaye/rust-opengles),
[rust-stb-image](https://github.com/mozilla-servo/rust-stb-image), and
[ncurses-rs](https://github.com/jeaye/ncurses-rs),
as submodules. To configure, simply run (in source and out of source builds are acceptable):
```bash
./configure
```
From there, you should be able to compile and run a release build with:
```bash
make && ./bin/client
```
The server can be executed via:
```bash
./bin/server
```
You may also individually build server/client or specify a debug build:
```bash
make server && make client # Make either separately
make MODE=debug # Debug symbols and faster compilation
```
**NOTE:** Ensure that you have Freetype2 installed.
**NOTE:** I don't have access to a Windows machine at the moment, so I'm not sure yet what will go into building
this under something like MinGW. This should be coming with r0.3, as per [#26](https://github.com/jeaye/q3/issues/26).