Features

Doom: The Dark Ages is shaping up to be one hell of a great time

id Software is making some smart changes in this techno-medieval prequel to Doom (2016)

Doom: The Dark Ages Slayer

id Software revealed an extensive look at Doom: The Dark Ages during the Xbox Developer_Direct on January 23rd.

In a preview of the full presentation and an exclusive media Q&A, MobileSyrup got to see a good chunk of new gameplay from the highly-anticipated first-person shooter alongside development insight from game director Hugo Martin and executive producer Marty Stratton.

Doom The Dark Ages hell

First off, Martin explained that the Doom (2016) prequel’s titular techno-medieval setting was chosen to help make this approachable for new players. He specifically cited Frank Miller’s Batman: Year One as a main inspiration, as well as the legendary comic writer’s The Dark Knight Returns (featuring a beefier, almost tank-like Batman) and 300 (in particular, the scale of the Hot Gates battle).

That tank influence, specifically, feeds into a core design ethos of The Dark Ages. As Martin notes, the series’ last game, 2020’s Doom Eternal, emphasized speed in an effort to make you feel like a “fighter jet,” while The Dark Ages intends to give the feeling of an “iron tank.” On top of that, id says it’s drawing inspiration from the classic Doom to make strafing and aiming “viable again” for players. (One Doom hallmark that’s not returning, though — acclaimed composer Mick Gordon after a public falling out with Bethesda. Instead, Finishing Move, the team behind the music of Borderlands 3 and Halo 2 Anniversary, is the composer on The Dark Ages.)

Meanwhile, id says it wants to streamline some of the controls while still allowing for the gleeful carnage that defines the series. As an example of this, Martin cites the new Shield Saw, which provides options for blocking, throwing, parrying and deflecting, all with contextual inputs of a single button. There are also modular difficulty settings through which you can fine-tune elements like enemy behaviour and the parrying window, which id hopes will only make The Dark Ages even more welcoming to new players.

Doom The Dark Ages Atlan Mech

The developer also says it’s skipping any sort of multiplayer content for The Dark Ages, marking a departure from Doom (2016) and Doom Eternal. The reasoning is to allow id to prioritize making the “best possible” single-player campaign. In particular, Martin and Stratton note that this focus enabled the team to create and polish exciting new gameplay features like the giant Atlan mech and cybernetic dragon that are featured in the gameplay footage.

The former is a 30-foot titan that the Doom Slayer can pilot that will feature its own “full suite of abilities and bosses.” Martin notes that this isn’t a “one-and-done,” either, so players can expect multiple levels with the Atlan. It’s also worth noting that Martin helped design the mechs on Guillermo del Toro’s Pacific Rim, which should lead to some great kaiju-inspired titanic battles. The techno dragon, meanwhile, will also be fully controllable in multiple missions to offer even more gameplay variety.

Doom the Dark Ages combat

Finally, id is promising the biggest play space ever for a Doom game. While it won’t be open-world, there will be plenty of explorable “secret caves and dungeon-like mines” containing all sorts of collectibles. This time around, id says most of these will be more meaningful to obtain as they’ll provide rewards to go towards Doom Slayer progression.

All in all, Doom: The Dark Ages is looking to be as gloriously gory and viscerally entertaining as you’d hope, with plenty of new features and tweaks to bring in even more players. As someone who only played a bit of Doom (2016) and Eternal, I’m excited to start fresh with this new game, and everything that id has talked about is really speaking to me so far.

Doom: The Dark Ages will launch on PS5, Xbox Series X/S and PC on May 15th, 2025. The game will also be available on Xbox Game Pass Ultimate on day one.

MobileSyrup may earn a commission from purchases made via our links, which helps fund the journalism we provide free on our website. These links do not influence our editorial content. Support us here.

Related Articles

Fatal error: Uncaught Aws\S3\Exception\PermanentRedirectException: Encountered a permanent redirect while requesting https://ms-staging-baselayer-static-assets.s3.ca-central-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F. Are you sure you are using the correct region for this bucket? in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49 Stack trace: #0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\PermanentRedirectMiddleware->Aws\S3\{closure}(Object(Aws\Result)) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL) #2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true) #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #13 /var/www/html/vendor/aws/aws-sdk-php/src/ResultPaginator.php(151): Aws\AwsClient->execute(Object(Aws\Command)) #14 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #15 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map(Object(Aws\ResultPaginator), Object(Closure)) #16 [internal function]: Aws\flatmap(Object(Aws\ResultPaginator), Object(Closure)) #17 /var/www/html/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #18 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #19 /var/www/html/wp-content/plugins/contact-form-7/includes/file.php(362): readdir(Resource id #734) #20 /var/www/html/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #21 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #22 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #23 /var/www/html/wp-includes/load.php(1280): do_action('shutdown') #24 [internal function]: shutdown_action_hook() #25 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php on line 49