2008-12-15 23:39:23 -08:00
|
|
|
|
= Freedoom
|
2006-05-09 09:20:42 -07:00
|
|
|
|
|
2015-07-20 22:03:54 -07:00
|
|
|
|
The Freedoom project aims to create a complete, free content first
|
|
|
|
|
person shooter game, but _Freedoom_ by itself is just the raw material
|
|
|
|
|
for a game. It must be paired with a compatible _Doom_ engine to be
|
|
|
|
|
played.
|
2014-01-11 21:00:15 -08:00
|
|
|
|
|
2019-10-11 22:13:08 -07:00
|
|
|
|
There is a massive https://doomwiki.org/wiki/Idgames_archive[back
|
2015-07-20 22:03:54 -07:00
|
|
|
|
catalog], spanning over two decades, containing thousands of _Doom_
|
2016-09-03 15:34:11 -07:00
|
|
|
|
levels and other modifications (“mods”) made by fans of the game.
|
2015-07-20 22:03:54 -07:00
|
|
|
|
_Freedoom_ aims to be compatible with these and allows most to be
|
|
|
|
|
played without the need to use non-free software.
|
|
|
|
|
|
|
|
|
|
_Freedoom_ is actually three games in one, consisting of two
|
|
|
|
|
single-player oriented campaigns and one set of levels designed
|
|
|
|
|
exclusively for multiplayer deathmatch:
|
2014-01-11 21:00:15 -08:00
|
|
|
|
|
|
|
|
|
[horizontal]
|
2020-07-15 14:02:57 -07:00
|
|
|
|
*Freedoom: Phase 1*:: Four episodes, nine levels each, totalling 36
|
2017-07-18 21:07:15 -07:00
|
|
|
|
levels. This game aims for compatibility with _The Ultimate Doom_
|
|
|
|
|
mods, also known as plain _Doom_ or _Doom 1_.
|
2020-07-15 14:02:57 -07:00
|
|
|
|
*Freedoom: Phase 2*:: 32 levels in one long episode, featuring extra
|
2015-07-20 22:03:54 -07:00
|
|
|
|
monsters and a double-barrelled shotgun. This project aims for
|
2017-07-18 21:07:15 -07:00
|
|
|
|
compatibility with _Doom II_ mods.
|
2015-07-20 22:03:54 -07:00
|
|
|
|
*FreeDM*:: A 32-level game designed for competitive deathmatch play.
|
|
|
|
|
|
|
|
|
|
The engine uses a single file, such as +freedoom2.wad+, that contains
|
|
|
|
|
all the game data such as graphics, sound effects, music, and so on.
|
2016-09-03 15:34:11 -07:00
|
|
|
|
This file is often called an “IWAD” by those in the _Doom_ and
|
2015-07-20 22:03:54 -07:00
|
|
|
|
_Freedoom_ communities. While the _Doom_ engine source code is free,
|
|
|
|
|
you would normally still need one of the proprietary data files from
|
2019-10-11 22:13:08 -07:00
|
|
|
|
https://www.idsoftware.com/[id Software] to play _Doom_. _Freedoom_
|
2015-07-20 22:03:54 -07:00
|
|
|
|
aims to create a free alternative: combined with the GPL-licensed
|
|
|
|
|
_Doom_ source code, this results in a completely free game.
|
2006-05-09 09:20:42 -07:00
|
|
|
|
|
2019-10-11 22:13:08 -07:00
|
|
|
|
For more information, see https://freedoom.github.io/.
|
2008-12-15 23:39:23 -08:00
|
|
|
|
|
2014-01-11 21:00:15 -08:00
|
|
|
|
== How to play
|
|
|
|
|
|
2015-07-20 22:03:54 -07:00
|
|
|
|
Since _Freedoom_ is only the game data, you will still need to
|
2016-09-03 15:34:11 -07:00
|
|
|
|
download an engine separately. These are also often termed “source
|
|
|
|
|
ports” by the community. There are an overwhelming number of choices
|
2015-07-20 22:03:54 -07:00
|
|
|
|
available, a lengthy list of which is available on the
|
2019-10-11 22:13:08 -07:00
|
|
|
|
https://doomwiki.org/wiki/Source_port[Doom Wiki].
|
2015-07-20 22:03:54 -07:00
|
|
|
|
|
2017-07-21 16:40:20 -07:00
|
|
|
|
One particularly recommended by the _Freedoom_ project is
|
|
|
|
|
https://zdoom.org/[GZDoom]. This engine offers good support for
|
|
|
|
|
single-player, multi-player, and the majority of mods created for both
|
|
|
|
|
_Doom_ and _Freedoom_.
|
2015-07-20 22:03:54 -07:00
|
|
|
|
|
2019-08-25 21:17:41 -07:00
|
|
|
|
On Windows, you should place _Freedoom_’s data files (those ending
|
2015-07-24 21:36:42 -07:00
|
|
|
|
with +.wad+) alongside the engine (eg, +odamex.exe+). On Unix-like
|
|
|
|
|
systems, these data files should go in either +/usr/share/games/doom+
|
|
|
|
|
or your home directory. If _Freedoom_ comes packaged as part of your
|
|
|
|
|
operating system distribution, it should already be installed into the
|
|
|
|
|
proper location.
|
|
|
|
|
|
2014-01-11 21:00:15 -08:00
|
|
|
|
Hopefully, your engine of choice should already be capable of running
|
2015-07-20 22:03:54 -07:00
|
|
|
|
_Freedoom_ without extra configuration. This may not be the case,
|
2014-01-11 21:00:15 -08:00
|
|
|
|
however, if the engine does not recognize any of the filenames for
|
2017-02-03 09:07:37 -08:00
|
|
|
|
_Freedoom_, and might require manual intervention to make it so. One
|
|
|
|
|
of the following options should solve it:
|
2015-07-20 22:03:54 -07:00
|
|
|
|
|
|
|
|
|
* Use the +-iwad+ command line parameter. For example, to play
|
|
|
|
|
Phase 2, you can enter +-iwad freedoom2.wad+ either at a command
|
|
|
|
|
line, or adding it to an application shortcut.
|
|
|
|
|
* Use the +DOOMWADPATH+ environment variable. Many engines support
|
|
|
|
|
this variable to add directories and/or files to their search
|
2019-08-25 21:17:41 -07:00
|
|
|
|
path. The exact syntax matches your operating system’s normal
|
2014-01-11 21:00:15 -08:00
|
|
|
|
+PATH+ environment variable.
|
2015-07-20 22:03:54 -07:00
|
|
|
|
* Rename the game files. This may be a bit crude, but you can
|
2019-08-25 21:17:41 -07:00
|
|
|
|
rename the files to match those of _Doom_’s. This is often the
|
2015-07-20 22:03:54 -07:00
|
|
|
|
easiest quick-fix, although it is normally desirable to use one of
|
|
|
|
|
the above methods if possible.
|
2014-01-11 21:00:15 -08:00
|
|
|
|
|
|
|
|
|
** +freedoom1.wad+ can be renamed to +doom.wad+
|
2019-10-11 22:15:00 -07:00
|
|
|
|
** +freedoom2.wad+ can be renamed to +doom2.wad+
|
|
|
|
|
** +freedm.wad+ can be renamed to +doom2.wad+
|
2015-07-20 22:03:54 -07:00
|
|
|
|
|
|
|
|
|
Additionally, for Unix-like operating systems, such as GNU/Linux or a
|
|
|
|
|
BSD variant, _Freedoom_ may be packaged and installed with programs
|
|
|
|
|
named +freedoom1+, +freedoom2+, and +freedm+ 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.
|
|
|
|
|
|
2016-09-03 15:34:11 -07:00
|
|
|
|
== What “free” means
|
2015-07-20 22:03:54 -07:00
|
|
|
|
|
|
|
|
|
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 _Freedoom_ 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--for example, to see how
|
2016-09-03 15:34:11 -07:00
|
|
|
|
an “IWAD” is built. To facilitate this, you can get the full source
|
2017-02-03 09:07:37 -08:00
|
|
|
|
code for _Freedoom_, in this case, in the form of a DeuTex tree.
|
2008-12-15 23:39:23 -08:00
|
|
|
|
|
2019-10-11 22:13:08 -07:00
|
|
|
|
You may read more about free software at the https://www.gnu.org/[GNU]
|
|
|
|
|
and https://www.fsf.org/[Free Software Foundation] websites.
|
2008-12-15 23:39:23 -08:00
|
|
|
|
|
|
|
|
|
== Contributing to Freedoom
|
|
|
|
|
|
2017-02-03 09:07:37 -08:00
|
|
|
|
Contributions to _Freedoom_ are always welcome, however there are a
|
|
|
|
|
few guidelines that should be followed:
|
2008-12-15 23:39:23 -08:00
|
|
|
|
|
2014-01-11 21:00:15 -08:00
|
|
|
|
=== Intellectual property
|
2008-12-31 23:08:53 -08:00
|
|
|
|
|
|
|
|
|
We know people hate legalese, but this is important. This applies to
|
|
|
|
|
*everything* which is submitted.
|
|
|
|
|
|
2019-09-16 11:38:32 -07:00
|
|
|
|
You must be careful when basing on existing graphics or sounds. Most
|
|
|
|
|
_Doom_ projects are lax on reusing intellectual property--there are
|
|
|
|
|
many mods which contain modified _Doom_ sprites, for example.
|
|
|
|
|
However, due to the nature of this project, we do not have the same
|
|
|
|
|
liberty to rip as we please.
|
2008-12-31 23:08:53 -08:00
|
|
|
|
|
|
|
|
|
The general rules go as follows:
|
|
|
|
|
|
2015-07-20 22:03:54 -07:00
|
|
|
|
* You must have permission for everything you submit. If you make
|
|
|
|
|
your own resources, do not base on resources from _Doom_ 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 _Freedoom_ project. They may not
|
|
|
|
|
place additional restrictions compared to the normal _Freedoom_
|
|
|
|
|
license.
|
|
|
|
|
* Do not try to emulate _Doom_ resources exactly. Where possible,
|
|
|
|
|
put effort to make new versions look visibly different from
|
|
|
|
|
_Doom_. This is a tough call, because our compatibility with
|
|
|
|
|
_Doom_ mods limits how far we can deviate, but it is feasible.
|
2016-09-03 15:34:11 -07:00
|
|
|
|
* 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.”
|
2015-07-20 22:03:54 -07:00
|
|
|
|
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).
|
2008-12-31 23:08:53 -08:00
|
|
|
|
|
2008-12-15 23:39:23 -08:00
|
|
|
|
=== Levels
|
|
|
|
|
|
2019-09-06 14:42:22 -07:00
|
|
|
|
All levels for _Freedoom_ 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 _Doom_ engine, and
|
|
|
|
|
do not depend on additional mapping features. Levels should be in
|
|
|
|
|
_Doom_’s original format, not in “Hexen”-format.
|
2008-12-27 14:51:32 -08:00
|
|
|
|
|
|
|
|
|
It is sensible to also heed the following guidelines:
|
|
|
|
|
|
|
|
|
|
* Make sure that skill levels are implemented, and that all
|
2016-09-12 20:00:13 -07:00
|
|
|
|
multiplayer start points, both cooperative and deathmatch, are
|
2015-07-20 22:03:54 -07:00
|
|
|
|
present.
|
|
|
|
|
* 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.
|
2019-08-25 21:17:41 -07:00
|
|
|
|
* Do not use tricks that exploit _Doom_’s software renderer; some
|
2015-07-20 22:03:54 -07:00
|
|
|
|
engines, especially those that use hardware accelerated rendering,
|
|
|
|
|
may not render it properly. Examples of tricks to avoid include
|
2016-09-03 15:34:11 -07:00
|
|
|
|
those used to simulate 3D bridges and “deep water” effects.
|
2017-02-03 09:07:37 -08:00
|
|
|
|
* While unrestricted by limits, do not make excessively complicated
|
|
|
|
|
scenes. It is desirable that _Freedoom_ levels should be playable
|
|
|
|
|
on low-powered hardware, such as phones and old computers.
|
2019-09-06 14:42:22 -07:00
|
|
|
|
* Test your levels in https://www.chocolate-doom.org/[Chocolate
|
|
|
|
|
Doom] to make sure that vanilla compatibility is maintained. This
|
2019-09-06 14:51:22 -07:00
|
|
|
|
is an engine with strict adherence to vanilla Doom limits and
|
|
|
|
|
bugs, and working in it assures that levels can be played with any
|
|
|
|
|
_Doom_ engine.
|
2008-12-15 23:39:23 -08:00
|
|
|
|
|
2008-12-31 23:08:53 -08:00
|
|
|
|
=== Graphics
|
|
|
|
|
|
2014-01-11 21:00:15 -08:00
|
|
|
|
Graphics should generally have the same color and size as the original
|
2015-07-20 22:03:54 -07:00
|
|
|
|
_Doom_ graphics, as to remain compatible with mods. Otherwise, levels
|
|
|
|
|
may end up looking like a nightmare in design. They may be
|
2019-08-25 21:17:41 -07:00
|
|
|
|
thematically different as long as it doesn’t clash.
|
2014-01-11 21:00:15 -08:00
|
|
|
|
|
2016-09-03 15:34:11 -07:00
|
|
|
|
_Doom_ uses a fictional corporation abbreviated as “UAC:” this is
|
2015-07-20 22:03:54 -07:00
|
|
|
|
trademarked by id Software and cannot be used in _Freedoom_. Instead,
|
2016-09-03 15:34:11 -07:00
|
|
|
|
use the initials “AGM” for _Freedoom_.
|
2008-12-15 23:39:23 -08:00
|
|
|
|
|
|
|
|
|
=== Documentation
|
|
|
|
|
|
2015-07-20 22:03:54 -07:00
|
|
|
|
_Freedoom_ always needs help with documentation, so please send your
|
2008-12-15 23:39:23 -08:00
|
|
|
|
patches, but keep in mind:
|
|
|
|
|
|
2014-01-11 21:00:15 -08:00
|
|
|
|
* We use http://asciidoc.org/[AsciiDoc] for writing the
|
2015-07-20 22:03:54 -07:00
|
|
|
|
documentation. AsciiDoc is a simple plaintext-based format which
|
2014-01-11 21:00:15 -08:00
|
|
|
|
is simple to read and write in its source form, and can generate
|
|
|
|
|
nice HTML documents out of them.
|
2008-12-15 23:39:23 -08:00
|
|
|
|
* Headers are formated in a wiki-style format, this makes it easier
|
|
|
|
|
for Vim (perhaps other editors, too) to automatically re-format
|
|
|
|
|
text.
|
2015-07-20 22:03:54 -07:00
|
|
|
|
* Text is kept at 72 characters wide. In Vim, you can set the
|
2019-08-25 21:17:41 -07:00
|
|
|
|
editor to automatically insert line breaks as you’re typing by
|
2015-07-20 22:03:54 -07:00
|
|
|
|
performing `set textwidth=72`. Special exceptions to the width
|
|
|
|
|
rule might be allowed when necessary (for example, inserting long
|
|
|
|
|
URLs).
|
2008-12-15 23:39:23 -08:00
|
|
|
|
|
|
|
|
|
=== Submitting your work
|
|
|
|
|
|
2014-11-04 22:01:10 -08:00
|
|
|
|
The most common, and a fairly simple method, to submit your work is by
|
2019-10-11 22:13:08 -07:00
|
|
|
|
posting it on the
|
|
|
|
|
https://www.doomworld.com/forum/17-freedoom/[Freedoom forum] on
|
|
|
|
|
Doomworld Forums. This allows a great number of people to review the
|
|
|
|
|
contribution and provide feedback, although the registration process
|
|
|
|
|
is known to be cumbersome.
|
2014-11-04 22:01:10 -08:00
|
|
|
|
|
|
|
|
|
An alternative to using the forum, is to post your submission on the
|
|
|
|
|
https://github.com/freedoom/freedoom/issues[issue tracker], which may
|
|
|
|
|
also be peer-reviewed and provide a feedback cycle.
|
|
|
|
|
|
|
|
|
|
Unfortunately, the Freedoom 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 https://www.dropbox.com/[Dropbox] and
|
|
|
|
|
https://mega.co.nz/[Mega], as well as others, are common and should be
|
|
|
|
|
simple to use.
|
|
|
|
|
|
2015-07-20 22:24:14 -07:00
|
|
|
|
==== Crediting information
|
|
|
|
|
|
|
|
|
|
_Freedoom_ is made up of submissions from many people all over the
|
|
|
|
|
globe. All of them, and you, deserve credit! Please do not forget to
|
|
|
|
|
provide your name and email when submitting resources.
|
|
|
|
|
|
2014-11-04 22:01:10 -08:00
|
|
|
|
==== Using Git
|
|
|
|
|
|
2015-07-20 22:03:54 -07:00
|
|
|
|
You can also commit on a clone of the _Freedoom_ repository, although
|
|
|
|
|
this is a technical task and it is okay to let other _Freedoom_
|
|
|
|
|
maintainers to do it instead: that is our normal mode of operation.
|
|
|
|
|
However, pull requests are much appreciated and you may submit them in
|
2019-08-25 21:17:41 -07:00
|
|
|
|
any manner you wish, with GitHub’s direct pull requests being the
|
2015-07-20 22:03:54 -07:00
|
|
|
|
simplest, but by far not the only means.
|
2014-11-04 22:01:10 -08:00
|
|
|
|
|
2017-02-24 10:08:09 -08:00
|
|
|
|
Freedoom 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
|
|
|
|
|
https://chris.beams.io/posts/git-commit/[How to Write a Git Commit
|
|
|
|
|
Message].
|