Bad Mood

From DoomWiki.org

Revision as of 05:38, 20 April 2020 by XymphBot (talk | contribs) (Automated edit - Unlink Doug Little)


Bad Mood
Codebase DView, Linux Doom 1.10
Developer(s) Doug Little
Latest release 0.37 (2017-06-14, 6 years ago)
Development status Active
Written in C, Motorola 68030 Assembly, Motorola 56000 Assembly
Target Platform Atari Falcon

Bad Mood is a hybrid custom engine and Doom source port created for the Atari Falcon 030, originally based on an Atari port of DView by Jake Hill.

History

Development of Bad Mood began in 1995. The initial DView base, programmed entirely in C, was able to render Doom maps, albeit only as flat-shaded surfaces without texture mapping. This initial architecture, which was slow on non-custom hardware, was optimized by the Bad Mood team with addition of assembly routines to accelerate rendering. The last version to use this architecture was released as version 1.32a in November 1995.[1]

DSP programming, additional optimizations, and code for rendering of textures and sprites were added to the engine between 1995 and 1997 [2][3], with significant contributions from Doug Little[4], a prominent developer in the Atari Falcon community[5]. At this point the port still remained a map viewer rather than a fully playable game.

Following the 3.07a release of August 1997, development halted until 2013 due to lack of developer interest and occupation with other projects. This was partially related to the 1997 release of the official Doom source code, reducing interest in development of a custom engine. As demonstrated by the PmDoom source port, however, the results of a direct translation of the official code to the Atari could not produce tolerable performance on all but the most powerful of these machines.

Doug Little returned to Bad Mood development in 2013. He merged the GPL Doom codebase with the existing Bad Mood rendering engine and several additional optimizations to both the gameplay simulation and rendering code, creating a playable game. [6].

An alpha version was released in January 2014 which was the first playable release of Bad Mood. Since then, development has continued[7], and a beta release was presented at the Sillyventure 2014 party on 5-7 December 2014. This beta significantly improves on the alpha release in many ways, but most obviously with support for playing back the ingame music, and improved visual quality thanks to a texture pack and support for effects such as freelook and support for translucent textures (for the Spectre).

Features

  • Maintains a playable frame rate on unmodified hardware, such as models with a 16 MHz 68030 CPU and 32 MHz DSP
  • Supports Atari Falcon "True Color" mode, particularly useful for supporting distance fading effects, and better color precision
  • Custom video resolutions (hardware chunky pixel modes)
  • Ability to render individual textures with distinct palettes, rather than a single 256 colour palette for all textures
  • Enhanced texture pack, taking advantage of the higher number of colours available
  • Truecolour lighting & shading
  • Liquid shaders capable of texture deformation [8] through the DSP
  • Special shaders for invisibility and some types of transparency using the DSP
  • Mipmap filtering for floor and ceiling textures, using DSP
  • Support for freeview (look up/down using mouse) [9]
  • Support for playing the Doom MUS files via external MIDI hardware using the MIDI out port
  • Support for replaying the Doom music by mixing and re-pitching instrument samples from a soundbank, and mixing it with the in-game sounds [10]
  • Support for using the Atari Jaguar controller (aka JagPad)
  • Modified AI for better game performance

References

  1. Original Bad Mood site, at archive.org
  2. Atari Computing (UK), volume 2, page 48
  3. ST Format, volume 82, page 10
  4. Bad Mood - Doom into a Falcon 030. Chat Mag, Sept. 2013
  5. Atari Computing (UK), Volume 1, page 6
  6. Bad Mood homepage
  7. Bad Mood development log
  8. Atari BadMood - liquids test
  9. Freelook, invisibility and Bezerk test
  10. Bad Mood v6 upgrades (beta)
Source code genealogy
Based on Name Base for
DView Bad Mood 3.07a Merged
Bad Mood 3.07a Bad Mood Active
Linux Doom 1.10