Memfis Posted October 14, 2018 As someone who understands little to nothing when it comes to the technical side of our source ports and other tools, I'm curious to know: what are the most impressive things people have done? Is it crazy that people in 1994 developed editors without seeing the source code? Did GZDoom's 3D floors require a lot of innovative techniques? What about the recent BSP optimizations? 5 Share this post Link to post
ketmar Posted October 15, 2018 boring, boring, boring. it is all boring. only my yet-to-be-done new rendering backend in k8VaVoom will be SUPERB. everything other is boring. now for serious: it is quite hard to answer your question. first OpenGL port was impressive for that time, now it looks like original "tron" movie comparing to "avatar". from user PoV, it will end up with a list of features that user likes. from programmer PoV, it will end up with a list of features that programmer considering "hard". there is no definite criteria to compare such things, alas. i think that reverse-engineering DooM data structures (without source code) back then was The Impressive Thing. it requires alot of time and dedication. dehacked was a great thing too. but it is hard to point at something in post-source-code-release era, 'cause people did alot of amazing things with the engine. 5 Share this post Link to post
Doomkid Posted October 15, 2018 I know you're asking about what was the most impressive from a programming perspective but even some relatively simple things have gone a really long way towards keeping Doom ticking. I have a bias obviously but for me the most important thing was the development of a client/server architecture for multiplayer since we wouldn't have seen the last 20 solid years of multiplayer fun in classic Doom without it. Second to that, all the raised limitations: No more worrying about sprite limits, visplanes, etc. I see so many primarily 'vanilla limit removing/boom' mappers committing absolute murder and I'm so glad they can, I think the number of frustrating limits present in old Doom would have resulted in reduced numbers of mappers even setting aside the wealth of new mapping features engines like Boom and ZDoom introduced. 4 Share this post Link to post
Memfis Posted October 15, 2018 (edited) 3 hours ago, ketmar said: from programmer PoV, it will end up with a list of features that programmer considering "hard" That's what I'm primarily interested in. Everyone praises mappers, musicians, speedrunners, and graphic artists for their skills, but it's so rare to hear about the awesomeness of people like Graf Zahl, for example. 3 Share this post Link to post
ReaperAA Posted October 15, 2018 BOOM was the beginning of modern era mapping imho and thus a big achievement (even if it was simple limit raising) 3 Share this post Link to post
Gez Posted October 15, 2018 Reverse-engineering Strife and so integrating it firmly as part of the Doom engine family, so you can play it in GZDoom or in Choco. Reverse-engineering Doom 64. Terminal Doom. Now you can finally get good gameplay in Doom 3! :p Modern polyobjects, as implemented in Eternity and GZDoom. That took a lot of work to get them right. SRB2's 3D polyobjects. Even better than the Eternity/GZDoom ones. ZScript. The ability to basically rewrite nearly every function of game behavior is incredible. It goes far beyond merely rewriting an actor's states, as is the case with DECORATE and equivalent. And the ongoing effort to port some flavor of Doom to every single computing platform imaginable. Including on a printer! 7 Share this post Link to post
ketmar Posted October 15, 2018 14 minutes ago, Gez said: ZScript something VaVoom had around 2010, fully working, and done better. yay. sorry, nothing personal, but that zscript-hype really annoys me. don't get me wrong -- it is not 'cause i am k8VaVoom developer. actually, quite the contrary: i am k8VaVoom developer now partially due to that hype. now i am glad that there is no "dislike" button on this site. ;-) 0 Share this post Link to post
ETTiNGRiNDER Posted October 15, 2018 18 minutes ago, ketmar said: something VaVoom had around 2010, fully working, and done better. yay. Too bad Vavoom was also a buggy piece of crap that crashed all the time. 2 Share this post Link to post
Gez Posted October 15, 2018 31 minutes ago, ketmar said: something VaVoom had around 2010 Wasn't it derived from QuakeC? 0 Share this post Link to post
ketmar Posted October 15, 2018 Just now, Gez said: Wasn't it derived from QuakeC? absolutely not, even virtual machine is completely different. it looks like Janis took some inspiration from UnrealScript, and final result looks more like C# (it has "real" pointers, "ref" args, structs; and dynamic arrays of any type, including dynarrays of user-defined structs -- something zscript doesn't have, 'cause all possible dynarray types are hardcoded there). also, VaVoom has all game logic written in VaVoom C (including linedef specials converting, thing spawning, and such). basically, C++ side only does binary/UDMF data parsing, LOS/coldet checks, rendering, and some hashtables for faster searching of tagged linedefs and such. everything else (including game UI) is done on VaVoom C side. network is modelled after Unreal too, with "replication" sections in scripts and RPC calls. it is not finished (it defines network roles, for example, but didn't fully implemented 'em), yet it is fully functional client/server model. 2 Share this post Link to post
ketmar Posted October 15, 2018 (edited) 56 minutes ago, ETTiNGRiNDER said: Too bad Vavoom was also a buggy piece of crap that crashed all the time. this description looks suspiciously like GZDoom. ;-) tbh, i never had such problems with VaVoom, even in 2013 (by that time VaVoom developement was already hibernated). but i can imagine that other people weren't so lucky -- there were some hilarious bugs in the code, mostly of "how could it work at all?!" department. but i think that we're going offtopic here. p.s.: for some reason, i cannot add a quote to my previous post, and C-C/C-V doesn't work too. sorry for doubleposting. 0 Share this post Link to post
david_a Posted October 15, 2018 I think DeHackEd and the various creative usages of it should count (it's still "programming" in a way). Batman Doom especially was an incredible accomplishment for the time. All the insane effort to reverse engineer bugs in the original code to maintain demo compatibility is pretty crazy too. Not very glamorous, but persistence like that for purely voluntary projects is pretty crazy. 4 Share this post Link to post
Linguica Posted October 15, 2018 I vaguely considered trying to research a list of "retroactive Codeawards" but that sounds like a lot of work. So I will just do this off the top of my head: 1994 - Raphaël Quinet for DEU 1995 - Greg Lewis for DeHackEd 1996 - Bob Huntley and Kee Kimbrell for DWANGO 1997 - Chi Hoang for DOSDoom 1998 - TeamTNT for Boom 1999 - Lee Killough for MBF 2000 - Sergey Makovkin for csDoom 2001 - randi for ZDoom 1.23 2002 - Florian Proff for PrBoom 2003 - Pascal vd Heiden for Doom Builder 2004 - tk 2005 - Christoph Oelckers for GZDoom 2006 - Simon Judd for SLADE 2007 - tk 2008 - tk 2009 - Pascal vd Heiden for Doom Builder 2 2010 - tk 2011 - tk 2012 - tk 2013 - tk 2014 - tk 2015 - tk 2016 - tk 15 Share this post Link to post
Gez Posted October 15, 2018 2 hours ago, ketmar said: absolutely not, even virtual machine is completely different. it looks like Janis took some inspiration from UnrealScript, and final result looks more like C# Thanks, that's interesting. 2 Share this post Link to post
ketmar Posted October 15, 2018 7 minutes ago, Gez said: Thanks, that's interesting. here is some brief VC documentation i started some time ago. it is far from finished, though, and reader is expected to at least look into "progs/" to know how VC code looks like. 2 Share this post Link to post
Phade102 Posted October 15, 2018 I personally think zdoom was one of the greatest accomplishments, but boom is also fantastic. I personally got back into doom with zdoom, so it hold a dear place in my heart. 1 Share this post Link to post
Gaia74 Posted October 15, 2018 and I can not believe that nobody names this beauty 3 Share this post Link to post
Linguica Posted October 15, 2018 OBLIGE is literally the one programming thing that has been honored on Doomworld already. 8 Share this post Link to post
kb1 Posted October 16, 2018 (edited) As a programmer, I do feel that a "CodeAward" is sorely missed. Having released very little so far, I do *not* expect myself to be on there, but it would be nice to recognize the efforts of the giants of Doom programming. In general, most programmers feel the love when people get use out of their wares, and have fun with their engines. As far as recognizing specific advancements, I feel that every enhancement is an advancement. Programmers can infinitely build off of the work of those before them, moreso than mappers or artists, I think. I suppose the best way to know of the advancements is to go play vanilla Doom in 320x200, and work from there. Doom programming touches upon a vast array of other disciplines: There's map editors, wad editors, texture editors, map editors. There's local and network launchers. There's programs that run statistics on maps and WADs, node/blockmap/reject builders. Programs that render levels, WAD databases, demo editors, EXE editors and disassemblers. Game script language compilers, demo analyzers, WAD cleaners/optimizers, control enhancement drivers. And the ports. Doom has probably been ported to more systems than any other software. And, the cool thing is, it's being worked on to this day! All of this work was built on top of previous work, with no sign of stopping. I find it fascinating. Edited October 16, 2018 by kb1 4 Share this post Link to post
jval Posted October 20, 2018 Dehacked & DEU were amazing achievements considering that were build before Doom source code released. From source ports svStrife & Chocolate Strife and Doom64 EX. 1 Share this post Link to post
ketmar Posted October 20, 2018 only D64EX is not a source port, because Kaizer had no source for original DooM 64. so it is even more impressive achievement. (the same for strife) 0 Share this post Link to post
jval Posted October 20, 2018 52 minutes ago, ketmar said: only D64EX is not a source port, because Kaizer had no source for original DooM 64. so it is even more impressive achievement. (the same for strife) Ooops, sorry, binary ports then! :) :) 1 Share this post Link to post
Lollie Posted October 21, 2018 (edited) No mention of Linguortals? For shame. Programming, hacking, basically the same thing. 1 Share this post Link to post