Search Unity

Doom from 1993 rebuilt with Unity

Discussion in 'General Discussion' started by Peter77, Jul 28, 2019.

  1. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,609
    A few days ago, Doom from 1993 was officially re-released by Bethesda.

    Beside all the Bethesda.net drama, people found the game is not running as good as the original. For example, it has long loading times, the sound is off, capped at 30fps ...

    Then they found it's not the original code, but an Unity rebuilt:
    upload_2019-7-28_13-8-42.png
    https://twitter.com/noteinso/status/1154809291641151488

    Not sure if good or bad news for Unity Technologies, that such a famous game has been rebuilt with Unity, because it runs poorly. Not sure if the original developers are happy about it either.
     
    Last edited: Jul 28, 2019
    xVergilx and Martin_H like this.
  2. Grizmu

    Grizmu

    Joined:
    Aug 27, 2013
    Posts:
    131
    Even without much thought put into the optimization before the release, what is a shame really, it shows how flexible Unity can be, and that there's more to it than staying in the comfort zone known from earlier Unity versions.

    We've got more debugging and optimization tools than before. Not to mention DOTS, jobs, burst and performance by default, which seem to be moving in the right direction, just more people need to use them.
     
  3. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    Honestly in my opinion, they should have never even used Unity for this. The guy is right in the video - the engine for doom is tried and true, it works on practically everything. I could understand if an Indie got the rights to remake this in a modern engine, but Bethesda is not indie by any means so they could have hired the correct people to make the engine work on modern platforms and avoid loading screens, etc altogether.

    A game like Doom shouldn't need DOTS, Jobs, Burst, etc.

    But something tells me the loading screens aren't coming directly from the game itself, but communicating back and forth to Bethesda servers and awaiting responses from the server. Which need I ask - what's the point of that?

    The entirety of what they did is a mess in my opinion. While I love Unity and always have, I do think it was a waste of time, effort and money to port it over to Unity when it already had an engine built for it, the game built and all they had to do was write the correct exporters to work with said platforms. Now perhaps them exporters are harder to make than they appear and perhaps wasn't worth the effort to make them, not sure - never made an exporter like that before so I really can't say on that matter.
     
    RecursiveFrog and Peter77 like this.
  4. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,609
    I'm super curious how they implemented lighting in the Unity version to recreate the original Doom look, which is pretty sophisticated. With all palette tricks Doom uses, I guess it's difficult to recreate that look when using standard Unity Light's for example.

    I'm looking forward to gameplay videos, so I can compare it to the original version. Perhaps I buy when it becomes available on Xbox, for research purpose :)
     
    Last edited: Jul 28, 2019
  5. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,609
    It didn't need it back in 1993 :)

    But if you throw a modern game-engine at it, everything is solved by generic and more complex algorithms. In the early days, according to various GDC Classic Postmortems, a game engine was part of and made for that particular game. These weren't generic beasts at the time like today.

    For example "path finding" in early titles was basically moving from tile to tile in pseudo-random directions towards the player. With today's game engines, you have that complex NavMesh thing which can do so much more, but it alone probably requires more horse-power than the entire Doom game.

    Have you watched "The Early Days of id Software"? I feel like here is the right place to post it. It's such a great talk, I watched it multiple times already and find myself watching it another time just now. Romero is such a good speaker!

     
    RecursiveFrog, Ony and Grizmu like this.
  6. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    Oh I totally get what you mean, but my point was - why did they even use Unity for for remakes? The engine they used could have easily been made to export to the proper formats to run on the newer systems. As the saying goes "If it ain't broke, don't fix it" lol.

    I believe I've seen that video before, love watching the history of old game companies and such.
    makes you realize - we got it sooo much easier now days with tech in general. But at the same time it's a doubled edged sword - things are easier, but at the same time things are much more complex now days. It's only easier in terms of generic generalized game engines like Unity and the entire internet to research what you want to learn.
     
    Peter77 and Ony like this.
  7. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    This.

    I suspect some licence / third party and data collection.
    But supposedly their removing / removed online requirement.
     
  8. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,021
    They probably used Unity so it would be easy to port it to new platforms. The original Doom (1993) was a DOS game. But yeah, it is sad/silly they did not build a remake that ran properly.
     
  9. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,977
    This is so true. I was talking with someone the other day about art and programming and making games in the earlier days vs. making them now, and there's one difference that stands out the most to me.

    In the old days the computers could do a lot less than we could dream up, so if we were able to do something really cool it felt amazing. There was a limit to what they could do, and our abilities/ideas often went way beyond that limit. Bending a computer to our will was so cool and so rewarding, because we were making it do what honestly appeared to be magic. It felt really good. "Hey, wow, look what we made it do!" We realized we did something great and exciting, and it made us push for even more.

    Nowadays, computers and game engines can do way more than a single person can dream of doing. The bar of ability is set much much higher. So as a developer, there's always this feeling that we could have done more, but time and talent only go so far. There's always the idea that it could be better. You could take the greatest artist or coder out there and give them all the time they need to make a game, and instead of everyone being in awe when it's done, there will be people pointing out flaws and how it could have been even better. Because the systems are so powerful these days that yeah, it could be. The developer might realize they did something cool, but they also realize it wasn't as good as it could be.

    So in the old days, we felt like wizards, and in modern days the computers are the wizards. I'm not a wizard anymore. I'm just trying to keep up.

    I probably haven't explained it very well since I just got up about 20 minutes ago and this thread was the first thing I read. Basically, I used to feel like I could make magic with a computer, and now I feel like the computer makes the magic. Subtle difference, but a crucial one. And that makes me a little bit sad.
     
    Last edited: Jul 29, 2019
    JamesArndt, derkoi, aer0ace and 13 others like this.
  10. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    I wouldn't say making games in general is easier than just to be.
    Sure, making same game as 20-30 years ago is much easier. But also there was different demand.
    It was required to know hardware in depth. Manipulating on registers etc.

    Now this days, difficulty is more less the same, only shifted with tools available to use.
    So instead of making simple pong in early 90s, I would go for 2.5D platformer with 3D effects, particles, pretty lights and shadders. Or maybe even go for 3D. Still challenging as hell. But I don't need focus anymore on hardware memory managements.

    If that makes sense.
     
  11. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    Records your ip, puts your email in their db (if email is required) ready to spam the hell out of you later for Bethesda offers and promos perhaps?
     
  12. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    They 100% did this to get around the fact that Doom has been GPL code forever, huh? Like, it wouldn't have been particularly challenging to drop in the login bits in the source, but this is absolutely because they can not use the source.

    Anyway, Bethesda incompetence on display once more, I guess.
     
    Aiursrage2k and Martin_H like this.
  13. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Could it be just running on an emulator in unity?
     
  14. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    No, if it were an emulator, we still wouldn't see weird manifestations of problems in things like the load times (which this is full of, my F***ing god), or anything like that. Hell, even capping at 30 fps is weird because one of Doom's big selling points when it was new was the fact that its FPS cap was 35.

    Hello, yes, I'm old enough to remember that.

    This is honestly a complete mess and the more I'm reading into it, the more baffling it gets. The only reason to do this would be to ensure that the porting process is easier, but the amount of work to get to that point is such that I can't honestly imagine this actually provided any real benefit.
     
    Ony likes this.
  15. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    There are tons of doom clones on the market. So anything happened here, is rather a big failure, with very little to no effort. I will rather see it doing more harm than good.
     
    Joe-Censored likes this.
  16. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,051
    https://www.theverge.com/2019/7/27/8933167/doom-login-requirement-being-removed-bethesdanet-drm

    If it does become popular, having basically all versions running in a nice modern fully-featured engine, adding IAP or DLC to it now becomes fairly trivial. I would suspect that doing it in Unity does making porting (and maintaining) easier, but also gives them a lot of flexibility in the future.
     
    Peter77, angrypenguin and Ony like this.
  17. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
  18. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    Honestly, see, I want to agree with this, I do, but honestly?

    It's Doom, ZG.

    Even I've ported Doom to things.

    I have a tub of peanut butter pretzels I also tossed some smarties into and I am pretty sure when I'm not looking somebody is playing Doom on it.

    This is like bringing a nuclear weapon to a thumb war.
     
  19. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    Shame they didn't do a doom with RTX like quake II
     
  20. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
  21. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    This already someone did before them
    https://store.steampowered.com/app/2280/Ultimate_Doom/
     
  22. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    So have they re-made the whole thing, or are they basically using Unity as an IO/rendering layer and still running the originals under the hood in some fashion? That would somewhat make sense, just thanks to the sheer number of platforms which Unity already supports. Why port to all of those yourself when you can port to one middleware platform which will do a huge amount of the rest for you?

    Hmm... would this be necessary? Surely they would own copies of the code from before its GPL licensing, and thus be able to re-license those however they want.
     
  23. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    Near I can tell, it's literally a port, and part of the loading issues come from how they're loading texture and map data, which just... it honestly makes no real sense to remake Doom like this. It's not just an IO/Rendering/Audio layer or anything. It's Doom, remade. They are just using Unity and, somehow, not even using it well.
     
  24. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,051
    I agree, but all those ports to printers, fridges and touchbars is really geeks doing what geeks do best, doing something for the sheer challenge. This is a product and a marketing tool. https://slayersclub.bethesda.net/en They ported it Unity to leverage it, not for geek cred or coolness. Some nerd sticking Doom on an ATM is badass... Bethesda releasing the original Doom on iOS is meh.
     
    Ony likes this.
  25. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    John Carmack already ported Doom to iOS in 2009.

    --Eric
     
    xVergilx, zombiegorilla and Ony like this.
  26. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    While the doom source is pretty bad, the platform abstraction is pretty descent
     
  27. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    This is just another nail in the coffin of Bethesda's reputation with the more hardcore community. How much does that matter? Who knows.

    Personally, I won't buy another Bethesda product again... unless Obsidian builds it for them.

    I really don't understand what's going on there. Are they hemorrhaging money and in dire straights? Their most recent stuff seems to just be in such bad faith.
     
    Martin_H and AndersMalmgren like this.
  28. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Plus they are owned by one of the most evil corps, Zenimax. Indie hating company, google Zenimax Prey for the gods
     
  29. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,153
    And based in a country that allows it. I would have loved to see Mojang challenge them concerning the whole "Scrolls" fiasco but I have to imagine that it was far easier to just "license" it. I wonder if and how much they paid for that.
     
    Martin_H and AndersMalmgren like this.
  30. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Yeah, US patent/trademark laws are fubar
     
    Martin_H and Ony like this.
  31. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194

    https://arowx.itch.io/doom-retro-remake-level-1

    I'm amazed they managed to get it to run slowly or load slowly even on the Switch. I've hand made the first level in Unity in 3D and it runs fine in WebGL (for me at least).

    I would guess that they generated the original levels files* into scenes, that could account for loading times maybe, if they then lit the scenes in Unity that could bloat the files sizes.

    *I didn't know about the DOOM level files system when I made the remake. And since then I've seen demos that let you fly around all the Doom levels in Unity with the levels loading dynamically so still amazed they managed to get it to run slowly.
     
    iamthwee likes this.
  32. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    You can never recreate the exact feel of a game in another engine. Heck I pretty sure if I throw out my code base and redid the game it would lose some feel even using same engine. And feel is everyrging in a classic fastpaced shooter like this
     
    ShilohGames, Ryiah and Joe-Censored like this.
  33. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    ...Yes you can. Like, I'm not even sure what this statement has grounding it in reality. You absolutely can do this, to the point where I've even recreated Quake 3's movement code and used it to navigate Q3 challenge maps using the exact same techniques. I've recreated the way old games handled their palettes in Unity with a single shader. Ultimately, all you really have to worry about its how input is handled, and a lot of the time that only doesn't really work perfectly because some older games used interrupts for input processing.

    Hell, a few Doom ports look and feel the exact same while using none of the original game's code.

    It's also the same in a lot of Sonic the Hedgehog fangames, where people meticulously recreate the game's physics to the point where you could drop the same levels in and not tell the difference.

    Most of it comes down to timing, which is not impossible at all to recreate. The only reason your game would feel different is if you made a specific effort to change it or if you didn't take notes.
     
    Ony likes this.
  34. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    Technically, this is true. Especially, if you're trying to create snowdrop engine using doom's original engine haha.

    Anyway aside from pedantics recreating a low tech game in a better engine, is possible.Like you said it just takes a fine eye for details, texturing, models and sound. Honestly as an indie, apart from learning purposes I don't see the point.
     
  35. Well, Dusk did a very good job in Unity.
     
    Aiursrage2k likes this.
  36. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    I meant the mechanics and the controls. It's hard to get it same, haven't tried this unity doom clone but I bet it does not feel like the orginal. I won the Swedish championship in doom 2 in 1995 so I probably would notice :p
     
    Rodolfo-Rubens likes this.
  37. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    No, all those are pretty well represented in the loads of ports out there and interrupt timing can be gotten around simply because it turns out you can kinda just brute force it in a bunch of ways.
     
  38. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    If it's a port you still have the original code base with all of its timings, mainloop etc
     
  39. Well, you can be John Carmack himself, if you haven't tried it, you wouldn't know if your statement is true or not.
     
  40. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    For the sake of brevity, near everyone calls them ports despite them being engine remakes, with sourceports being used to refer to things that are just moving the Doom code to another platform. Also, in your attempt to be really pedantic, you didn't actually address the other examples where people have recreated the exact functionality of other games as well.
     
  41. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Gosh thats nitpicking.

    You can not recreate, because before we used this.

    upload_2019-7-29_20-39-19.jpeg

    And now we use this


    And we will worry about few ms for single player game, with humongous hit boxes?
     
  42. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Actually back then we used keyboard only, even if the game did have mouse support.
     
    iamthwee likes this.
  43. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Doom ports are just compiles for a certain instruction set, and maybe change some libs to work on target platform.

    Recreating a game from scratch will not be the same game, like I said. I would probably not be able to recreate my own game from scratch and end up with what makes it such a loved and unique experience. There will be subtle differnces
     
  44. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    No wonder the movement is outta wack, dude you got your mouse upside down!
     
    Peter77 and Antypodish like this.
  45. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    I don't support Zenimax so can't buy the game and try :)
     
    iamthwee likes this.
  46. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    And, again, it comes down to knowing what the values are and what they're for. If somebody tells me that I can remap some values using "low_value_2 + (value - low_value_1) * (high_value_2 - low_value_2) / (high_value_1 - low_value_1)," I did not port their code from their engine which might contain this:

    Code (CSharp):
    1. float Remap(float currentValue, float low1, float high1, float low2, float high2)
    2. {
    3.     return low2 + (currentValue - low1)*(high2-high1)/(high1-low1);
    4. }
     
  47. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Unity is a high level engine, I bet you will not end up with the same thing.
     
  48. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    This is valid point.
    But you can have completely different response time and feeling, by selecting different input device.
    Some love long strokes on mechanical keyboards.
    I prefer flat short strokes for example.
    However, I don't even remember what PC keyboard I was playing on 20 years ago.
    Sure was mechanical, but that was most I can remember :)

    From back then, more to my mind stuck AMIGA input hardware than PC:)
     
  49. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    I think its say more about the team that ported it over. Thats pretty pathetic considering doom can run on a etch a sketch and an apple watch
     
  50. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,142
    Why not? What is Doom doing so close to the metal that makes this impossible?