screenshots.txt 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. = Screenshots
  2. // See COPYING.adoc for license terms of this file.
  3. // The naming convention for screenshot image files:
  4. // * <phase>-<engine-name>-<map>-<description>-<version>.png
  5. // * Each screenshot has a thumbnail with the same name, but prefixed with "th_".
  6. // * Lower case.
  7. // * Dash ("-") is preferred over underscore ("_").
  8. // * Spaces are not supported.
  9. // Aspect ratio, dimensions and filtering
  10. // Traditional game engines, such as Chocolate Doom, produce 320x200
  11. // screenshots that were intended to rendered on a display with pixels that
  12. // are 1.2 times as tall as they are wide. However, since modern displays
  13. // have square pixels the screens shots look a bit distorted (they appear
  14. // shorter and wider than they should). To correct this the underlying
  15. // screenshot is scaled up 5x horizontally, and 6x vertically, which has a
  16. // ratio of 1.2, to produce a 1600x1200 pixel perfect representation of the
  17. // screenshot, but with 5x6 pixel blocks that have the required height. To do
  18. // this "-filter point" is passed to ImageMagick for Chocolate Doom only in
  19. // order to disable the interpolation than normally happens when images are
  20. // scaled. Alternatively the 320x200 screenshots can be scaled to 320x240 to
  21. // give them the correct aspect ratio. Doing so is pixel perfect in the
  22. // horizontal direction only, which is what is done for the thumbnails.
  23. //
  24. // Other game engines, such as GZDoom, assume square pixels, run at the full
  25. // system resolution (1920x1080 is common) and use OpenGL and related
  26. // technologies to interpolate between pixels. To accommodate this
  27. // "-filter point" is not used for the GZDoom screenshots - the usual image
  28. // scaling is allowed.
  29. //
  30. // Timestamps (tIME chunks) are excluded from the thumbnails, but not the
  31. // full images, so that rebuilding the thumbails only causes a file
  32. // difference when the full image has changed. See the full image for the
  33. // time.
  34. // The following Linux bash commands may be helpful.
  35. //
  36. // Append the version if it is not already appended:
  37. // 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
  38. //
  39. // Generate thumbnails with a height of 240:
  40. // 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
  41. //
  42. // Output image links, which can be organized and placed below:
  43. // for t in img/screenshots/th_*.png; do p=${t/th_/}; echo "image:$t[link=\"$p\"]"; done
  44. Since Freedoom is not a game engine multiple game engines are used here
  45. to showcase it. The https://www.chocolate-doom.org/[Chocolate Doom] screenshots
  46. are based on 320x200 rendering output, scaled losslessly to 1600x1200 for an
  47. authentic 1990s FPS feel with crisp pixels. The https://zdoom.org/[GZDoom]
  48. screenshots can be whatever settings the screenshot-taker wants (e.g.,
  49. setting https://zdoom.org/wiki/CVARs:Display#gl_texture_filter"[gl_texture_filter] to 6 to un-blur nearby sprite and
  50. texture pixels), though the thumbnails will be cropped to 320x240
  51. to match the Chocolate.
  52. == Phase 1
  53. The following screenshots are from _Freedoom: Phase 1_ on Chocolate Doom:
  54. image:img/screenshots/tn_p1_1.jpg[link="img/screenshots/p1_1.png"]
  55. image:img/screenshots/tn_p1_2.jpg[link="img/screenshots/p1_2.png"]
  56. image:img/screenshots/tn_p1_3.jpg[link="img/screenshots/p1_3.png"]
  57. image:img/screenshots/tn_p1_4.jpg[link="img/screenshots/p1_4.png"]
  58. The following screenshots are from _Freedoom: Phase 1_ on GZDoom:
  59. image:img/screenshots/tn_p1_5.jpg[link="img/screenshots/p1_5.jpg"]
  60. image:img/screenshots/tn_p1_6.jpg[link="img/screenshots/p1_6.jpg"]
  61. image:img/screenshots/tn_p1_7.jpg[link="img/screenshots/p1_7.jpg"]
  62. image:img/screenshots/tn_p1_8.jpg[link="img/screenshots/p1_8.jpg"]
  63. == Phase 2
  64. The following screenshots are from _Freedoom: Phase 2_ on Chocolate Doom:
  65. image:img/screenshots/tn_p2_1.jpg[link="img/screenshots/p2_1.png"]
  66. image:img/screenshots/tn_p2_2.jpg[link="img/screenshots/p2_2.png"]
  67. image:img/screenshots/tn_p2_3.jpg[link="img/screenshots/p2_3.png"]
  68. image:img/screenshots/tn_p2_4.jpg[link="img/screenshots/p2_4.png"]
  69. The following screenshots are from _Freedoom: Phase 2_ on GZDoom:
  70. image:img/screenshots/tn_p2_5.jpg[link="img/screenshots/p2_5.jpg"]
  71. image:img/screenshots/tn_p2_6.jpg[link="img/screenshots/p2_6.jpg"]
  72. image:img/screenshots/tn_p2_7.jpg[link="img/screenshots/p2_7.jpg"]
  73. image:img/screenshots/tn_p2_8.jpg[link="img/screenshots/p2_8.jpg"]
  74. == FreeDM
  75. The following screenshots are from _FreeDM_ on Chocolate Doom:
  76. image:img/screenshots/tn_dm_1.jpg[link="img/screenshots/dm_1.png"]
  77. image:img/screenshots/tn_dm_2.jpg[link="img/screenshots/dm_2.png"]
  78. image:img/screenshots/tn_dm_3.jpg[link="img/screenshots/dm_3.png"]
  79. image:img/screenshots/tn_dm_4.jpg[link="img/screenshots/dm_4.png"]
  80. The following screenshots are from _FreeDM_ on GZDoom:
  81. image:img/screenshots/tn_dm_5.jpg[link="img/screenshots/dm_5.jpg"]
  82. image:img/screenshots/tn_dm_6.jpg[link="img/screenshots/dm_6.jpg"]
  83. image:img/screenshots/tn_dm_7.jpg[link="img/screenshots/dm_7.jpg"]
  84. image:img/screenshots/tn_dm_8.jpg[link="img/screenshots/dm_8.jpg"]
  85. == Copyright licenses for these screenshots
  86. These screenshots are all available for reuse under the same license
  87. as _Freedoom_ itself, which may be found at
  88. https://github.com/freedoom/freedoom/blob/master/COPYING.adoc[+COPYING.adoc+]
  89. (+COPYING.txt+ in compiled zip files) in the _Freedoom_ source tree.