Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Freedoom is an entirely free software game based on the Doom engine.

License

NotificationsYou must be signed in to change notification settings

freedoom/freedoom

Repository files navigation

The Freedoom project aims to create a complete, free content firstperson shooter game, butFreedoom by itself is just the raw materialfor a game. It must be paired with a compatibleDoom engine to beplayed.

There is a massivebackcatalog, spanning over two decades, containing thousands ofDoomlevels and other modifications (“mods”) made by fans of the game.Freedoom aims to be compatible with these and allows most to beplayed without the need to use non-free software.

Freedoom is actually three games in one, consisting of twosingle-player oriented campaigns and one set of levels designedexclusively for multiplayer deathmatch:

Freedoom: Phase 1

Four episodes, nine levels each, totalling 36levels. This game aims for compatibility withThe Ultimate Doommods, also known as plainDoom orDoom 1.

Freedoom: Phase 2

32 levels in one long episode, featuring extramonsters and a double-barrelled shotgun. This project aims forcompatibility withDoom II mods.

FreeDM

A 32-level game designed for competitive deathmatch play.

The engine uses a single file, such as freedoom2.wad, that containsall the game data such as graphics, sound effects, music, and so on.This file is often called an “IWAD” by those in theDoom andFreedoom communities. While theDoom engine source code is free,you would normally still need one of the proprietary data files fromid Software to playDoom.Freedoomaims to create a free alternative: combined with the GPL-licensedDoom source code, this results in a completely free game.

For more information, seehttps://freedoom.github.io/.

How to play

SinceFreedoom is only the game data, you will still need todownload an engine separately. These are also often termed “sourceports” by the community. There are an overwhelming number of choicesavailable, a lengthy list of which is available on theDoom Wiki.

One particularly recommended by theFreedoom project isGZDoom. This engine offers good support forsingle-player, multi-player, and the majority of mods created for bothDoom andFreedoom.

On Windows, you should placeFreedoom’s data files (those endingwith .wad) alongside the engine (eg, odamex.exe). On Unix-likesystems, these data files should go in either /usr/share/games/doomor your home directory. IfFreedoom comes packaged as part of youroperating system distribution, it should already be installed into theproper location.

Hopefully, your engine of choice should already be capable of runningFreedoom without extra configuration. This may not be the case,however, if the engine does not recognize any of the filenames forFreedoom, and might require manual intervention to make it so. Oneof the following options should solve it:

  • Use the -iwad command line parameter. For example, to playPhase 2, you can enter -iwad freedoom2.wad either at a commandline, or adding it to an application shortcut.

  • Use the DOOMWADPATH environment variable. Many engines supportthis variable to add directories and/or files to their searchpath. The exact syntax matches your operating system’s normalPATH environment variable.

  • Rename the game files. This may be a bit crude, but you canrename the files to match those ofDoom’s. This is often theeasiest quick-fix, although it is normally desirable to use one ofthe above methods if possible.

    • freedoom1.wad can be renamed to doom.wad

    • freedoom2.wad can be renamed to doom2.wad

    • freedm.wad can be renamed to doom2.wad

Additionally, for Unix-like operating systems, such as GNU/Linux or aBSD variant,Freedoom may be packaged and installed with programsnamed freedoom1, freedoom2, and freedm that automatically run anengine for proper play. Desktop files may also be installed so thatyou can start the game using a graphical interface and avoid thecommand line altogether.

What “free” means

When we speak of free content or software, we refer to the movement inwhich your freedoms to use, copy, modify, and study a work is notinfringed. For example, you may freely useFreedoom for any purposeyou see fit, you may redistribute it to anyone without needing to askfor permission, you may modify it (provided you keep the licenseintact, seeCOPYING), and you may study it—​for example, to see howan “IWAD” is built. To facilitate this, you can get the full sourcecode forFreedoom, in this case, in the form of a DeuTex tree.

You may read more about free software at theGNUandFree Software Foundation websites.

Contributing to Freedoom

Contributions toFreedoom are always welcome, however there are afew guidelines that should be followed:

Intellectual property

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

You must be careful when basing on existing graphics or sounds. MostDoom projects are lax on reusing intellectual property—​there aremany mods which contain modifiedDoom sprites, for example.However, due to the nature of this project, we do not have the sameliberty to rip as we please.

The general rules go as follows:

  • You must have permission for everything you submit. If you makeyour own resources, do not base on resources fromDoom or anyother restricted work. If you take work from other places, pleasemake sure that the work is freely-licensed or that you obtainpermission to include it in theFreedoom project. They may notplace additional restrictions compared to the normalFreedoomlicense.

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

  • Be especially careful of “free textures” (or “free sounds” or“free graphics”) sites. Although these would appear at first tobe 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 inGNU/Linux distributions (which can be sold or developedcommercially).

Levels

All levels forFreedoom must be vanilla-compatible, requiring anexpanded-limits or limit-removing engine is not permissible. Thismeans you may not exceed the limits of the originalDoom engine, anddo not depend on additional mapping features. Levels should be inDoom’s original format, not in “Hexen”-format.

It is sensible to also heed the following guidelines:

  • Make sure that skill levels are implemented, and that allmultiplayer start points, both cooperative and deathmatch, arepresent.

  • Try to make levels appropriately difficult for their positionwithin the progression of the game. Also bear in mind that notall players may be as skilled a player as you.

  • Do not use tricks that exploitDoom’s software renderer; someengines, especially those that use hardware accelerated rendering,may not render it properly. Examples of tricks to avoid includethose used to simulate 3D bridges and “deep water” effects.

  • Test your levels inChocolateDoom to make sure that vanilla compatibility is maintained. Thisis an engine with strict adherence to vanilla Doom limits andbugs, and working in it assures that levels can be played with anyDoom engine.

  • Use a Doom editor to check for errors. InEureka it’s possible tocheck for errors with the Check / All menu, or by pressingF9.

  • If possible runmake test and fix any errors found. Note thatsome of the errors can be fixed bymake fix.

Graphics

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

Doom uses a fictional corporation abbreviated as “UAC:” this istrademarked by id Software and cannot be used inFreedoom. Instead,use the initials “AGM” forFreedoom.

Documentation

Freedoom always needs help with documentation, so please send yourpatches, but keep in mind:

  • We useAsciiDoc for writing thedocumentation. AsciiDoc is a simple plaintext-based format whichis simple to read and write in its source form, and can generatenice HTML documents out of them.

  • Headers are formated in a wiki-style format, this makes it easierfor Vim (perhaps other editors, too) to automatically re-formattext.

  • Text is kept at 72 characters wide. In Vim, you can set theeditor to automatically insert line breaks as you’re typing byperformingset textwidth=72. Special exceptions to the widthrule might be allowed when necessary (for example, inserting longURLs).

Submitting your work

The most common, and a fairly simple method, to submit your work is byposting it on theFreedoom forum onDoomworld Forums. This allows a great number of people to review thecontribution and provide feedback, although the registration processis known to be cumbersome.

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

Unfortunately, the Freedoom project cannot provide hosting space inthe form of a web page nor FTP, however there are many free file hoststo use when you need a location to upload files. Sites and servicessuch asDropbox andMega, as well as others, are common and should besimple to use.

Crediting information

Freedoom is made up of submissions from many people all over theglobe. All of them, and you, deserve credit! Please do not forget toprovide your name and email when submitting resources.

Using Git

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

Freedoom uses the commit message style commonly seen in distributedversion control systems, adopted by projects such as Linux and Git.For an explanation of this style, seeHow to Write a Git CommitMessage.

If you create a git commit for someone else it is helpful to set theauthor of the commit so that they get credit. Ask them what name/aliasand email they would like to use. For example:

git commit --author"Bob Smith <bob@example.com>" ...

If they prefer not to give an email then the email can be omitted, sojust "Bob Smith" in the above example.


[8]ページ先頭

©2009-2025 Movatter.jp