GithubHelp home page GithubHelp logo

poperigby / librequartz Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scaryguy334/librequartz

0.0 1.0 0.0 507.9 MB

A freesoftware quake one remake with art under the BSD and GPL licences

License: Other

Makefile 16.44% Python 83.41% Shell 0.16%

librequartz's Introduction

LibreQuartz

The LibreQuartz project aims to create a complete, free content first person shooter game, but LibreQuartz by itself is just the raw material for a game.
It must be paired with a compatible engine to be played.

There is a massive back catalog, spanning over two decades, containing thousands of quake levels and other modifications (“mods”) made by fans of the game. LibreQuartz aims to be compatible with these and allows most to be played without the need to use non-free software.

The engine uses a directory called id1, within that directory there are two archives called pak0.pak and pak1.pak, these archives contain all the game data except the soundtrack. While the quake engine source code is free, you would normally still need one of the proprietary data files from id Software to play quake. LibreQuartz aims to create a free alternative: combined with the GPL-licensed quake source code, this results in a completely free game.

For more information, see http://LibreQuartz.github.io/ not available at the moment.

How to Play

Since LibreQuartz is only the game data, you will still need to download an engine separately.
These are also often termed “source ports” by the community.
There are an overwhelming number of choices available, a lengthy list of which is available on the quake Wiki.

One particularly recommended by the LibreQuartz project is QuakeSpasm.
This engine offers good support for single-player and the majority of mods created for both quake and LibreQuartz.

On Windows, you should place LibreQuartz’s data files (those ending with .pak) in a directory named id1 with the engine in the same directory as the id1 folder (e.g, fteqw64.exe).

On Unix-like systems, these data files should go in either /usr/share/games/quake or your home directory.
If LibreQuartz comes packaged as part of your operating system distribution, it should already be installed into the proper location.

Hopefully, your engine of choice should already be capable of running LibreQuartz without extra configuration.
This may not be the case, however, if the engine does not recognize any of the filenames for LibreQuartz, and might require manual intervention to make it so.

The following should solve it:

  • Use the +game command line parameter.
    For example, to play you can enter +game +id1 either at a command line, or adding it to an application shortcut.

Additionally, for Unix-like operating systems, such as GNU/Linux or a BSD variant, LibreQuartz may be packaged and installed with programs named LibreQuartz that automatically run an engine for proper play.
Desktop files may also be installed so that you can start the game using a graphical interface and avoid the command line altogether.

What “Free” Means

When we speak of free content or software, we refer to the movement in which your freedoms to use, copy, modify, and study a work is not infringed.
For example, you may freely use LibreQuartz for any purpose you see fit, you may redistribute it to anyone without needing to ask for permission, you may modify it (provided you keep the license intact, see COPYING), and you may study it.

You may read more about free software at the GNU and Free Software Foundation websites.

Contributing to LibreQuartz

Contributions to LibreQuartz are always welcome, however there are a few guidelines that should be followed:

Intellectual property

We know people hate legalese, but this is important. This applies to everything which is submitted.

You must be careful when basing on existing graphics or sounds. Most quake projects are lax on reusing intellectual property.
There are many mods which contain modified quake sprites, for example. However, due to the nature of this project, we do not have the same liberty to rip as we please.

The general rules go as follows:

  1. You must have permission for everything you submit.
    If you make your own resources, do not base on resources from quake or any other restricted work.
    If you take work from other places, please make sure that the work is freely-licensed or that you obtain permission to include it in the LibreQuartz project.
    They may not place additional restrictions compared to the normal LibreQuartz license.

  2. Do not try to emulate quake resources exactly.
    Where possible, put effort to make new versions look visibly different from quake.
    This is a tough call, because our compatibility with quake mods limits how far we can deviate, but it is feasible.

  3. Be especially careful of “free textures” (or “free sounds” or “free graphics”) sites. Although these would appear at first to be okay to use, many are free for “non-commercial use only.” One of the things we want to be able to do is put this in GNU/Linux distributions (which can be sold or developed commercially).

Levels

All levels for LibreQuartz must be vanilla-compatible, requiring an expanded-limits or limit-removing engine is not permissible.
This means you may not exceed the limits of the original quake engine, and do not depend on additional mapping features.
Levels should be in quake’s original format, not in “valve”-format.

It is sensible to also heed the following guidelines:

  1. Make sure that skill levels are implemented, and that all multiplayer start points, both cooperative and deathmatch, are present.

  2. Try to make levels appropriately difficult for their position within the progression of the game. Also bear in mind that not all players may be as skilled a player as you.

  3. While unrestricted by limits, do not make excessively complicated scenes.
    It is desirable that LibreQuartz levels should be playable on low-powered hardware, such as phones and old computers.

  4. Test your levels in DOS Quake to make sure that vanilla compatibility is maintained.
    This is an engine with strict adherence to vanilla quake limits and bugs, and working in it assures that levels can be played with any quake engine.

Graphics

Graphics should generally have the same color and size as the original quake graphics, as to remain compatible with mods.
Otherwise, levels may end up looking like a nightmare in design.
They may be thematically different as long as it doesn’t clash.

Documentation

LibreQuartz always needs help with documentation, so please send your patches, but keep in mind:

  1. We use AsciiDoc for writing the documentation.
    AsciiDoc is a simple plaintext-based format which is simple to read and write in its source form, and can generate nice HTML documents out of them.

  2. Headers are formated in a wiki-style format, this makes it easier for Vim (perhaps other editors, too) to automatically re-format text.

  3. Text is kept at 72 characters wide.
    In Vim, you can set the editor to automatically insert line breaks as you’re typing by performing set textwidth=72.
    Special exceptions to the width rule might be allowed when necessary (for example, inserting long URLs).

Submitting your work

The most common, and a fairly simple method, to submit your work is by posting it on the LQ Discord or LQ Matrix.

This allows a quick cycle or development and feedback.

An alternative to using the forum, is to post your submission on the issue tracker, which may also be peer-reviewed and provide a feedback cycle.

Unfortunately, the LibreQuartz project cannot provide hosting space in the form of a web page nor FTP, however there are many free file hosts to use when you need a location to upload files.
Sites and services such as Dropbox and Mega, as well as others, are common and should be simple to use.

Crediting information

LibreQuartz is made up of submissions from many people all over the globe.
All of them, including you, deserve credit!
Please do not forget to provide your name and email when submitting resources.

Using Git

You can also commit on a clone of the LibreQuartz repository, although this is a technical task and it is okay to let other LibreQuartz maintainers to do it instead: that is our normal mode of operation.
However, pull requests are much appreciated and you may submit them in any manner you wish, with GitHub’s direct pull requests being the simplest, but by far not the only means.

LibreQuartz uses the commit message style commonly seen in distributed version control systems, adopted by projects such as Linux and Git. For an explanation of this style, see How to Write a Git Commit Message.

librequartz's People

Contributors

lavenderdotpet 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.