Fallacies of Doom Lessons learned from porting Doom 3 to Java Mahmoud Abdelghany
926 views · Published 9 November 2017 · 51:42 · Indexed 23 October 2026
Channel: Devoxx · 2017 · Science & Technology
While Java has grown enormously over the years, the fundamentals have stagnated. The motivation for this talk and underlying project, was the following question: why is Java, with it’s 20 years of age, and (at least)6 billion running JVM’s not a major player in the video-game development universe? TL;DR; So everybody knows the Doom games, right? Every new installment brought brand new ideas, and groundbreaking graphics. But more importantly, they brought the source code of the prior installment to the public eye. Naturally people have played and hacked the code to oblivion, as much as they played the games themselves. And I have the honor to be one of those people. I (naively) endeavored to port the Doom 3 C++ code to our fantabulous Java. In doing so, I hoped to learn, among other things, more about 3D graphics. ...what I didn't expect though, was for djoom3(cool name huh!) to teach me more about Java!? Aside from the basic game development intro, this talk focuses on the following: - Some areas where Java should learn from it's nemesis, C++ - Other areas where the student(Java) becomes the master(C++) - And some promises that were made, but never kept. # Mahmoud Abdelghany The speaker has been your ordinary consultant for over a decade now. He had/has the privilege of working for numerous industries ranging from airlines to the financial sector. In the rest of his waking hours, he tinkers around with games and emulators. Most recently, he spent about 3 years on the djoom3 project, and reaffirms that he's learned more in those 3 years than his whole career.
More from this channel
-
32:13
Writing Groovy AST Transformations: Getting Practical in an hour! by Baruch Sadogursky
-
25:58
TweetWallFX - Behind the Scenes by Sven Reimers
-
29:44
Second generation "workflow managers" for big data by Alex Van Boxel
-
29:13
Secrets are secrets. Please maintain them as secrets by Alex Soto
-
2:13:40
JavaScript build pipelines with Gulp.js by Stefan Baumgartner
-
2:04:09
Powerful Metaprogramming Techniques With Groovy by Jeff Brown
-
2:38:32
Distributed Machine Learning 101 using Apache Spark from a Browser by Xavier Tordoir/Andy Petrella
-
2:36:21
Caching 101: Caching on the JVM (and beyond) by Alex Snaps/Louis Jacomet