123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- = Screenshots
- // See COPYING.adoc for license terms of this file.
- // The naming convention for screenshot image files:
- // * <phase>-<engine-name>-<map>-<description>-<version>.png
- // * Each screenshot has a thumbnail with the same name, but prefixed with "th_".
- // * Lower case.
- // * Dash ("-") is preferred over underscore ("_").
- // * Spaces are not supported.
- // Aspect ratio, dimensions and filtering
- // Traditional game engines, such as Chocolate Doom, produce 320x200
- // screenshots that were intended to rendered on a display with pixels that
- // are 1.2 times as tall as they are wide. However, since modern displays
- // have square pixels the screens shots look a bit distorted (they appear
- // shorter and wider than they should). To correct this the underlying
- // screenshot is scaled up 5x horizontally, and 6x vertically, which has a
- // ratio of 1.2, to produce a 1600x1200 pixel perfect representation of the
- // screenshot, but with 5x6 pixel blocks that have the required height. To do
- // this "-filter point" is passed to ImageMagick for Chocolate Doom only in
- // order to disable the interpolation than normally happens when images are
- // scaled. Alternatively the 320x200 screenshots can be scaled to 320x240 to
- // give them the correct aspect ratio. Doing so is pixel perfect in the
- // horizontal direction only, which is what is done for the thumbnails.
- //
- // Other game engines, such as GZDoom, assume square pixels, run at the full
- // system resolution (1920x1080 is common) and use OpenGL and related
- // technologies to interpolate between pixels. To accommodate this
- // "-filter point" is not used for the GZDoom screenshots - the usual image
- // scaling is allowed.
- //
- // Timestamps (tIME chunks) are excluded from the thumbnails, but not the
- // full images, so that rebuilding the thumbails only causes a file
- // difference when the full image has changed. See the full image for the
- // time.
- // The following Linux bash commands may be helpful.
- //
- // Append the version if it is not already appended:
- // v=0.13.0; for p in $(ls -1 img/screenshots/*.png | grep -v ^th_ | grep -vP '\d+\.\d+\.png'); do mv -i $p ${p/.png/-$v.png}; done
- //
- // Generate thumbnails with a height of 240:
- // rm -f img/screenshots/th_*.png; for p in $(ls -1 img/screenshots/*.png | grep -v ^th_); do if [[ $p == *chocolate* ]]; then opts="-filter point"; else opts=""; fi; convert $p -resize x240 -define png:exclude-chunk=tIME $opts img/screenshots/th_${p##*/}; done
- //
- // Output image links, which can be organized and placed below:
- // for t in img/screenshots/th_*.png; do p=${t/th_/}; echo "image:$t[link=\"$p\"]"; done
- Since Freedoom is not a game engine multiple game engines are used here
- to showcase it. The https://www.chocolate-doom.org/[Chocolate Doom] screenshots
- are based on 320x200 rendering output, scaled losslessly to 1600x1200 for an
- authentic 1990s FPS feel with crisp pixels. The https://zdoom.org/[GZDoom]
- screenshots can be whatever settings the screenshot-taker wants (e.g.,
- setting https://zdoom.org/wiki/CVARs:Display#gl_texture_filter"[gl_texture_filter] to 6 to un-blur nearby sprite and
- texture pixels), though the thumbnails will be cropped to 320x240
- to match the Chocolate.
- == Phase 1
- The following screenshots are from _Freedoom: Phase 1_ on Chocolate Doom:
- image:img/screenshots/tn_p1_1.jpg[link="img/screenshots/p1_1.png"]
- image:img/screenshots/tn_p1_2.jpg[link="img/screenshots/p1_2.png"]
- image:img/screenshots/tn_p1_3.jpg[link="img/screenshots/p1_3.png"]
- image:img/screenshots/tn_p1_4.jpg[link="img/screenshots/p1_4.png"]
- The following screenshots are from _Freedoom: Phase 1_ on GZDoom:
- image:img/screenshots/tn_p1_5.jpg[link="img/screenshots/p1_5.jpg"]
- image:img/screenshots/tn_p1_6.jpg[link="img/screenshots/p1_6.jpg"]
- image:img/screenshots/tn_p1_7.jpg[link="img/screenshots/p1_7.jpg"]
- image:img/screenshots/tn_p1_8.jpg[link="img/screenshots/p1_8.jpg"]
- == Phase 2
- The following screenshots are from _Freedoom: Phase 2_ on Chocolate Doom:
- image:img/screenshots/tn_p2_1.jpg[link="img/screenshots/p2_1.png"]
- image:img/screenshots/tn_p2_2.jpg[link="img/screenshots/p2_2.png"]
- image:img/screenshots/tn_p2_3.jpg[link="img/screenshots/p2_3.png"]
- image:img/screenshots/tn_p2_4.jpg[link="img/screenshots/p2_4.png"]
- The following screenshots are from _Freedoom: Phase 2_ on GZDoom:
- image:img/screenshots/tn_p2_5.jpg[link="img/screenshots/p2_5.jpg"]
- image:img/screenshots/tn_p2_6.jpg[link="img/screenshots/p2_6.jpg"]
- image:img/screenshots/tn_p2_7.jpg[link="img/screenshots/p2_7.jpg"]
- image:img/screenshots/tn_p2_8.jpg[link="img/screenshots/p2_8.jpg"]
- == FreeDM
- The following screenshots are from _FreeDM_ on Chocolate Doom:
- image:img/screenshots/tn_dm_1.jpg[link="img/screenshots/dm_1.png"]
- image:img/screenshots/tn_dm_2.jpg[link="img/screenshots/dm_2.png"]
- image:img/screenshots/tn_dm_3.jpg[link="img/screenshots/dm_3.png"]
- image:img/screenshots/tn_dm_4.jpg[link="img/screenshots/dm_4.png"]
- The following screenshots are from _FreeDM_ on GZDoom:
- image:img/screenshots/tn_dm_5.jpg[link="img/screenshots/dm_5.jpg"]
- image:img/screenshots/tn_dm_6.jpg[link="img/screenshots/dm_6.jpg"]
- image:img/screenshots/tn_dm_7.jpg[link="img/screenshots/dm_7.jpg"]
- image:img/screenshots/tn_dm_8.jpg[link="img/screenshots/dm_8.jpg"]
- == Copyright licenses for these screenshots
- These screenshots are all available for reuse under the same license
- as _Freedoom_ itself, which may be found at
- https://github.com/freedoom/freedoom/blob/master/COPYING.adoc[+COPYING.adoc+]
- (+COPYING.txt+ in compiled zip files) in the _Freedoom_ source tree.
|