Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Rathori

Porting Doom to C++ livestream today (by Jason Turner)

Recommended Posts

Posted (edited)

Just found it in my inbox, thought I'd share. Jason Turner (one of the modern C++ & best practices guys to follow if you're a C++ programmer) is gonna attempt to port Doom to C++ (specifically, Crispy Doom) in about 8-9 hours, promises to not stop until it compiles.

 

Spoiler

 

 

Edited by Rathori : I accidentally a letter

Share this post


Link to post
Posted (edited)

This should be interesting to see - thanks for sharing! CppCast (which Jason also hosts) is one of my favorite podcasts and a great source of news & information for all C++ devs - fun to see him have a go at converting DOOM.

 

I dealt with a lot of this stuff myself when working on Phoenix Doom, which was converted to C++. Certainly makes you appreciate more the differences and incompatibilities between the two languages, especially crusty old ‘C89’.

Edited by intacowetrust

Share this post


Link to post

Welp, I may be only able to just watch what few parts of the entire stream after it's done airing, but it's still awesome! Hope he gets a good result.

Share this post


Link to post

I guess BFG Edition (and my port in that matter) doesn't count here ?

Share this post


Link to post
1 hour ago, MadGuy said:

I guess BFG Edition (and my port in that matter) doesn't count here ?

Says it's gonna Crispy Doom in the description, but I bet there'll be enough stuff that can apply to any source port (or any C++ code for that matter).

Share this post


Link to post
24 minutes ago, Rathori said:

Says it's gonna Crispy Doom in the description, but I bet there'll be enough stuff that can apply to any source port (or any C++ code for that matter).

Well let's hope it show a better way to use vectors for memory management, and if it use them that he knows how to properly handle them (try to put visplanes in a vector with no care and google chrome will look quite memory optimized than your port)

Share this post


Link to post

And after 12 hours of connection the stream ended (did the guy pulled the plug with his foot?) and he didn't manage to compile it, there's nothing pushed to his repo. What this guy was doing is renaming the .c files to. cpp changing the extension and then try to compile it as C++. But Doom is a HUGE project, porting the code to C++ to me means a major re-structuring where you need a design phase to plan which classes you're going to use and how they interact as it's an object oriented language. Of course that only would make sense if you're going to expand upon that later not for the sake of it, ZDoom did that long ago (almost at the beginning of its history).

Share this post


Link to post

I think he mentioned (on Twitter?) that the archive of the live-stream got cutoff. He stopped to go to bed with just a handful of linker errors left. He did push his changes to github (just not to the master branch of his fork): https://github.com/lefticus/cpp-doom/tree/cpp-doom-stream-temp

1 hour ago, drfrag said:

What this guy was doing is renaming the .c files to. cpp changing the extension and then try to compile it as C++. But Doom is a HUGE project, porting the code to C++ to me means a major re-structuring where you need a design phase to plan which classes you're going to use and how they interact as it's an object oriented language.

His plan for the live-stream was just to get a compiled executable from the code (I won't say running because it would probably immediately segfault). Obviously a real port to C++ would require a huge amount of work on re-structuring and he mentioned having future plans to do some of that work. I'm also sure there are a number of people who would be interested in doing that work if they didn't have to worry about all the initial crap work of just getting it to compile as C++.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×