Freedoom is an entirely free software game based on the Doom engine. https://freedoom.github.io/
Find a file
mc776 98740b1307
levels: more misc. fixes and improvements. (#882)
* levels: more misc. fixes and improvements.

This one's a bit more ambitious than the other one, sorry.


**E2M8**
Missiles were disappearing into the outer walls. It's clearly not desired behaviour since they only disappear when fired at ground level targets - when you have plenty of space to dodge - and not when fired at you while you're on the ledge where it might have been handy. It also wasn't happening consistently. Flipping the linedefs didn't solve the problem so the sky above the slime has been lowered to compensate.

Some more ornamentation added to the corners of the slime to cover up the resulting sky oddities.


**E3M6**
The monster closet in the far west-southwest was having some render issues so I moved some vertices around.

The skull pole in the eastern blood room interrupted my flow so I moved it.

Added a bit of stuff to the exits. Both E3M7 and E3M9 start off with a pretty strong techbase/hell mix so the additions should reflect that.

Changed up the start. The back wall now has some skylights, the players start just in front of the door and instead of one serpentipede standing with its back to you completely oblivious it's standing around the corner waiting to ambush (along with 1-2 buddies)

Rocket launcher #53 (near the star thing, which has also been given a bit of a makeover) is now marked multi-only.

Fixed various texture issues and merged various identical sectors.

Added more health and a way out of the pit with the zigzag bridge.

Moved the bars around to make it a little more obviously impossible to squeeze through.

Marked the teleporter to the red door as needing a red key. (Not marking the door itself just for aesthetics.)


**E3M7**
Fixed up some texture alignments in the first fighting area and the lift leading into the intestine area.

Fixed up some texture alignments in the intestine area and some minor remodelling of the wooden exit gate out of it.

Added an anti-pinkie-block trench (see Map13, Map20 and Map29) in front of that first drop in the red spiral chamber.

Moved some stuff around in the intestine/stomach area to get rid of jarring fake contrast effects.

Made the teeth at the start of the digestive tract white.

Added more health and armour in the areas leading up to the spiral.

Added some skylights on that long marble corridor.

Moved everything in the spawn chambers so that the last weapon you autoswitch to is the shotgun. There is no skill level that places anything you can immediately melee right behind that first door so it's just "haha we gave you all this prep but you forgot to switch" as the player takes a bunch of fireballs while switching to a proper weapon.

Made the cyberdemon fight more interesting and chaotic. All four corners now (can eventually) open back up into the hall, and monsters warp into the hall and just outside the front door.


**Map06**
Continuing from #865.


**Map10**
Addressed #867 and #714.

Softlock if you could run into (-2696,736). Moved the tree and rock to allow passage out, and also added a medkit there as a little reward (or compensation if you get cornered in there) given how long it took for this to be reported.

Marked the blue door leading to the yellow key as needing the blue key.

With jump enabled you can easily grab the blue key early and skip the entire left twisty area of the map. I don't want to fence this area off because it looks and feels like shit that way, but the player should still have a reason to go the long route. Right now there's a rocket launcher and chaingun that way.

So I've made the following changes:
- Added a tiny step in the eastern corner of that ledge that lets you get up to that level without jumping.
- Changed thing #130 from a chaingun to an ammo box, but added another chaingun that's multi-only. You will still get a chaingun in this room in single, but you'll have to pry it out of someone's cold dead hands.
- Flagged RL #202 as multi only and adding 2 more rockets in that spot.
- Flagged shotgun #365 as multi only, and added another shotgun to (-3648,400).

The super shotgun secret #1 is also trivially easy to jump onto. I've moved the gun into a secret area that can only be opened if you specifically go down that waterfall.


**Map12**
Restored staircrate access to berserk pack #510.

Changed sector 740 into a door and tagged it 56 to match the other stuff that opens in that area.

Shrank sector 437 and neighbours to align the ceiling lights correctly. Also added an overhang.

Made the monsters in sector 575 teleport into the teleport sectors inside the accessible part of that sector.

Made chaingunner #515 visible by using chainlink instead of a tinted window. (how would it even shoot through the glass without leaving holes???) It is also an imp in easy and medium.

Fixed some texture alignments/matching in the northeast tower and stairs in that big western arena.


**Map13**
Added the rising-trench trick to keep the spectres from blocking the very first jump into the big slime pit.

Gave the top of the blue key pillar a more appropriate texture.


**Map14**
Addressed #867.

Secret sector #107 expanded to keep the player from picking up the chaingun inside it even when the secret is not made accessible.

Got rid of the cage trap for the yellow key, in favour of a baron (knight in easy) warping onto the pad when you hit the switch, which must be killed before you can leave. Reasons: the cage trap can be too easily ruined by a player or zombie, even accidentally; these kinds of traps are not good for replays because they disrespect player agency and punish efficient players with a longer dead time; the trap is impossible to guarantee without either an extremely contrived funnelling the player into the trigger line, or having multiple trigger lines thus running the risk of forcing the player to wait it out on two separate occasions. An additional shell box is provided with the yellow key.


**Map15**
Northwest secret involved a multi-sector lift that clearly goes out of sync. Added a new simple lift behind it instead, and fixed up various textures there.

Moved 333 and 334 a bit over so they couldn't be picked up from the other side of the wall by the switch.

Made overlapping enemies 295 and 255 alternatives that only appear in different skill levels.

Window overlooking blue computer switch now has chain link to mark it as impassable.

The rising red key platform (and all its various components) could be triggered twice, resulting in unwanted effects. The second of these switches is inside the pit and clearly designed to prevent a softlock in case the player reached that area before the switch was hit. The second switch has now been removed; the only path leading to the area is now only accessible if the first switch is hit. As this disables the lift function of the final bridge, safety lifts are added on both sides.


**Map16**
Broke up the linedefs in the outdoor visual so everything should be under 2048.

Added fences, railings, tall lamps, etc. to better mark where the player shouldn't be going.

There's this gap between two buildings that you can slowly squeeze into and find nothing at the end. It's clearly not meant to go through but it's not quite small enough to communicate that reliably, which keeps getting some players misled. I've expanded this area and made it end with the shittiest tiny little fenced-off alley I can do in that few linedefs. The stimpack is now back there.

Spruced up the blue key building a bit, and made that curvy gap actually navigable.

Widened the little steppy things on the edges of the thick box things because navingating that was really annoying.

Miscellaneous other breakings-up of monotonous surfaces.


**Map20**
Broke up a lot of >2048 linedefs.

P1 now starts in the middle, right on that pillar that looks like it'd be a great slightly-unusual starting teleport pad, instead of having an easily opened door right behind them with no explanation how they got there without noticing the shotgun guy. The blocking pillars now have a skull so you know the skull switches are related. Said switches are now part of the fence - it looks vastly better this way and fully jump-proofing this section was always a bit of a nonconcern.

The starting building outer catwalk tends to snag the player in vanilla if they run along the side (which now has a fence to demarcate it). As far as I can tell this is completely unavoidable, so the entire area has been widened to avoid accidental contact while avoiding getting caught in the more obvious geometry of the pillars.

There are three more shotgun guys behind the first door in multiplayer. That's four shotguns!

Windows in that first red building you have to get into are NO LONGER MARKED IMPASSABLE. OUR LONG NATIONAL NIGHTMARE IS OVER. I've also added thin deep invisible grooves in the lava that disappear on your first jump attempt, to keep the spectres from blocking you.

The switch granting access to the blue keycard room is now behind a cage and cannot be punched, getting around some mods that stop the fist from alerting monsters. The ceiling has also been raised slightly to address texture alignment.

The lift that you take into the big red building if you fail the jump now visually matches the one inside.

The blue keycard lift monster spawns are now staggered so you can't clear through all of them at once and stand around awkwardly to wait for the lift to finish. (If you didn't pistol start this map you might just clear out one wave, then stand awkwardly for a much shorter and non-deterministic time until the next.) There's also a lot more of them, just so you don't clear them out *too* quickly. The monsters will teleport into one of the next areas if they try to follow you out of the room.

Figured out why I've always ragequitted this map: there was NOTHING in the marble temple that would tell the player that the skull pillar in front of the cyberdemon is a usable lift. No vanilla-compatible switch texture works here aesthetically. So I just finished the implied temple and added an altar, in the middle of which is a clearly visible switch.

Added more health (of which there had been nearly none, even what I've added is stingy af compared to even Map21) and armour and replaced a multi-only (GOD WHY) soulsphere in the southeast with an also-singles medikit.

Made the square room less utterly dreadful by adding some sky.

Added a lift out of the damage sector in the end area.

Added some secrets.


**Map23**
The two doors in the G-shaped spiral corridor just to the east of the helipad are now single-use stay-open. The problem is that with all the corpses and archviles the closing doors were creating a lot of crushed corpses that were being raised as ghosts in vanilla. (Made even worse by the fast doors which could reduce the opportunity for more incoming monsters to block the descending door)


**Map27**
Spaced out the candle display in front of the devil icons on the east with the shellboxes, to prevent more floating-ledge movements. Honestly I think it looks better this way especially with the bigger Freedoom candle sprite.

Merged/deleted a few redundant sectors with no change to map geometry.


**Map28**
Fixed a misaligned marble skull face near (-4159,1348).


**Map29**
Starting room large devil icons now have staticky trim instead of appearing to tile. Each face is now only two linedefs instead of three, as the perfectly orthogonal middle lines were subject to the fake contrast and didn't look right.

Widened the shaft on the southwest arrow and the flagellum on the northeast sperm to let the serpentipedes move more freely.

Moved armour away from the yellow key platform, guaranteeing its availability from the ground.

Bottom room with spectres and archvile now blocks the spectres from getting right up below the ledge until you've crossed it. The rising platform in that room is also a bit more visible - with the same textures and dim lighting it was almost totally invisible in vanilla unless you already knew where it was.

* levels: improve map16 big view out onto the river.

The big warning stripes on the old railing were right at eye level.

Also the ambiguity whether that was concrete or asphalt or beach finally got to me so I needed to show where the concrete ended and the beach began. (This was originally going to be something more like [this](https://en.wikipedia.org/wiki/File:Riprap.jpg) but it ended up being way too visually noisy - that one big rock in the sand now is a remnant of that.)

* levels: fix tutti-fruitti on the topmost stair on the northeast corner of the big western arena.
2023-02-27 08:05:52 -03:00
.github/workflows Add Continuous Integration (#671) 2020-02-28 11:57:27 -08:00
bootstrap Add missing SPDX identifiers, use CC0 explicitly in dist 2020-02-03 12:31:55 -08:00
dist levels: Change “chapter” terminology to “episode” 2020-07-15 14:02:57 -07:00
flats New ceil5_3 to use with green "brown" walls. (#801) 2022-06-26 11:24:28 -03:00
graphics Update copyright year to 2022 (#825) 2022-11-28 19:39:23 -08:00
levels levels: more misc. fixes and improvements. (#882) 2023-02-27 08:05:52 -03:00
lumps sprites: new armour pickups. (#860) 2023-02-14 11:13:57 -03:00
manual Tweaks to color blind section. 2022-08-13 16:22:59 -04:00
musics new episode 2 ost 2022-10-18 07:39:54 -04:00
patches Merge pull request #804 from Xindage/texmerge 2022-08-26 12:14:51 -04:00
scripts build: Add test-vanilla-compliance 2022-10-01 18:50:34 -04:00
sounds updated dehacked/manual/sound 2021-08-29 18:04:44 -03:00
sprites sprites: upgrade rockets. (#876) 2023-02-23 11:41:28 -03:00
.adoc-layout.conf fancify HTML output using the website style 2019-10-11 11:12:33 -07:00
.gitattributes Burn all GIFs: Convert everything to PNGs. 2017-07-18 22:26:52 -07:00
.gitignore Makefile: remove wad-image targets 2019-10-28 10:30:10 -07:00
BUILD-SYSTEM.adoc CREDITS: Add contributors since v0.12.1 2022-11-26 14:32:50 -05:00
buildcfg.txt sprites: upgrade rockets. (#876) 2023-02-23 11:41:28 -03:00
COMPILING.adoc COMPILING: ASCIIDOC make variables, note asciidoctor-pdf 2019-09-12 15:44:49 -07:00
COPYING.adoc Change year range to 2001-2022 (#786) 2022-04-15 10:24:52 -07:00
CREDITS CREDITS: Add older "D" changes for new users (#849) 2023-02-14 11:15:52 -03:00
Makefile build: Add test-vanilla-compliance 2022-10-01 18:50:34 -04:00
NEWS.adoc NEWS: document the 0.12.1 release 2019-10-22 11:26:10 -07:00
README.adoc CREDITS: Add contributors since v0.12.1 2022-11-26 14:32:50 -05:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= Freedoom

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.

There is a massive https://doomwiki.org/wiki/Idgames_archive[back
catalog], spanning over two decades, containing thousands of _Doom_
levels and other modifications (“mods”) made by fans of the game.
_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:

[horizontal]
*Freedoom: Phase 1*:: Four episodes, nine levels each, totalling 36
levels.  This game aims for compatibility with _The Ultimate Doom_
mods, also known as plain _Doom_ or _Doom 1_.
*Freedoom: Phase 2*:: 32 levels in one long episode, featuring extra
monsters and a double-barrelled shotgun.  This project aims for
compatibility with _Doom II_ mods.
*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.
This file is often called an “IWAD” by those in the _Doom_ and
_Freedoom_ communities.  While the _Doom_ engine source code is free,
you would normally still need one of the proprietary data files from
https://www.idsoftware.com/[id Software] to play _Doom_.  _Freedoom_
aims to create a free alternative: combined with the GPL-licensed
_Doom_ source code, this results in a completely free game.

For more information, see https://freedoom.github.io/.

== How to play

Since _Freedoom_ 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
https://doomwiki.org/wiki/Source_port[Doom Wiki].

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

On Windows, you should place _Freedoom_s data files (those ending
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.

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

  * 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
    path.  The exact syntax matches your operating systems normal
    +PATH+ environment variable.
  * Rename the game files.  This may be a bit crude, but you can
    rename the files to match those of _Doom_s.  This is often the
    easiest quick-fix, although it is normally desirable to use one of
    the 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 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.

== 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 _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
an “IWAD” is built.  To facilitate this, you can get the full source
code for _Freedoom_, in this case, in the form of a DeuTex tree.

You may read more about free software at the https://www.gnu.org/[GNU]
and https://www.fsf.org/[Free Software Foundation] websites.

== Contributing to Freedoom

Contributions to _Freedoom_ 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
_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.

The general rules go as follows:

  * 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.
  * 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 _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.

It is sensible to also heed the following guidelines:

  * Make sure that skill levels are implemented, and that all
    multiplayer start points, both cooperative and deathmatch, are
    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.
  * Do not use tricks that exploit _Doom_s software renderer; some
    engines, especially those that use hardware accelerated rendering,
    may not render it properly.  Examples of tricks to avoid include
    those used to simulate 3D bridges and “deep water” effects.
  * 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.
  * Test your levels in https://www.chocolate-doom.org/[Chocolate
    Doom] to make sure that vanilla compatibility is maintained.  This
    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.
  * Use a Doom editor to check for errors. In
    http://eureka-editor.sourceforge.net/[Eureka] it's possible to
    check for errors with the Check / All menu, or by pressing `F9`.
  * If possible run `make test` and fix any errors found. Note that
    some of the errors can be fixed by `make fix`.

=== Graphics

Graphics should generally have the same color and size as the original
_Doom_ 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 doesnt clash.

_Doom_ uses a fictional corporation abbreviated as “UAC:” this is
trademarked by id Software and cannot be used in _Freedoom_.  Instead,
use the initials “AGM” for _Freedoom_.

=== Documentation

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

  * We use http://asciidoc.org/[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.
  * Headers are formated in a wiki-style format, this makes it easier
    for Vim (perhaps other editors, too) to automatically re-format
    text.
  * Text is kept at 72 characters wide.  In Vim, you can set the
    editor to automatically insert line breaks as youre 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
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.

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.

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

==== Using Git

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
any manner you wish, with GitHubs direct pull requests being the
simplest, but by far not the only means.

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

If you create a git commit for someone else it is helpful to set the
author of the commit so that they get credit. Ask them what name/alias
and email they would like to use. For example:
[source,bash]
-----------------
git commit --author "Bob Smith <bob@example.com>" ...
-----------------
If they prefer not to give an email then the email can be omitted, so
just "Bob Smith" in the above example.