阅读更多
Id Software在GPLv3许可证下公布了其旗下知名游戏Doom 3(毁灭战士3)的源代码,项目托管在Github上。



Id Software是一家软件公司,主要从事电脑游戏以及游戏引擎方面的开发。该公司开发的知名游戏包括德军总部系列(Wolfenstein)、毁灭战士(Doom)系列、雷神之锤系列(Quake)等,特别是在1993年推出的毁灭战士(DOOM)彻底改变了电脑游戏产业,在当时具有里程碑意义,被公认为第一人称射击游戏的鼻祖。知名的FPS大作《半条命》(Half-LIfe)和《反恐精英》(Counter-Strike,简称CS)就是利用Quake(雷神之锤)的引擎制作的。

此次开放源码的Doom 3(毁灭战士 3)在2004年的E3游戏大展上获得了巨大成功,包揽了5项大奖。

此前,由于专利问题,Id Software创始人、引擎师卡马克(John Carmack)推迟了源代码发布时间,为了避免专利侵犯指控,他正在重写Reverse算法,目前发布的源代码没有包含Reverse算法,由于此原因,源码中也不包含通过depth fail方法开启模板缓存渲染的功能。

Doom 3采用的是id Tech 4引擎,之前的id Tech 2和id Tech 3都已开源。使用id Tech 4引擎的游戏除了Doom 3外,还有Quake 4、Prey、Brink等。《使命召唤:现代战争》系列基于的还是旧的id Tech 3。

DOOM 3源代码在GNU/Linux平台下的编译基于ScOns,Mac OS X平台可以使用xCode。

相信在不久的将来可以在很多社区游戏中看到DOOM 3引擎的改进版本。

对游戏开发感兴趣的开发者可以通过Github获得源代码:https://github.com/TTimo/doom3.gpl

  • 大小: 22 KB
来自: Solidot
7
0
评论 共 2 条 请登录后发表评论
2 楼 itaxi 2011-11-24 11:32
这家伙现在去搞火箭了
1 楼 beeke 2011-11-24 09:33
卡马克,大神啊

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Doom3 源代码 毁灭战士

    《毁灭战士3》(Doom 3)由id Software开发,计算机版于2004年8月3日由Activision发行,是一款杂恐怖与科幻于一身的第一人称射击游戏。游戏故事除了英文名称外,并未有完全跟随《毁灭战士》的发展,并采用了全新的...

  • 从DOOM到CE3 20年3D游戏引擎发展史漫谈

    代表游戏:毁灭公爵3D(Duke Nukem 3D)、猎鹿人(Redneck Deer Hunting)、血祭 (Blood)代表游戏:上古卷轴:战斗尖顶(The Elder Scrolls:Battlespire)上古卷轴:匕首雨(Daggerfall)、终结者系列...

  • 最擅长玩《毁灭战士》的AI开源了 | 来自CMU的论文&代码

    李林 发自 凹非寺量子位 出品 | 公众号 QbitAI最擅长玩《毁灭战士(DOOM)》的那个AI,最近开源了。它叫Arnold,来自卡耐基梅隆大学“终结者队(Terminator)”,在2017年的VizDoom竞赛中以275杀220死0自杀的成绩,...

  • 揭秘John Carmack第一款游戏Shadowforge

    Shadowforge Jaterus小镇被一个叫Greymere Shadowsender的邪恶法师所威胁。Greymere新获得的...是的,这就是传奇游戏程序员John Carmack的第一个游戏Shadowforge。 除了命名之外,游戏没有人物创建。...

  • 万字长文带你回顾电子游戏的七十多年历史(完整版)

    之前有很多人在后台说《从电子游戏历史看IC发展的助推剂》《80年代电子游戏及电脑游戏的发展历史》这两篇文章看的不是“太懂”,今天就把所有相关的资料都放出来,这样大家至少能把文章内容弄清楚,...

  • 游戏引擎列表

    游戏引擎是指一些已编写好的可编辑游戏系统或者一些互交式实时图像应用程序的核心组件。以下引擎按字母(或拼音)顺序排列。 目录 [隐藏] 1 免费和开源引擎 2 商业引擎 2.1 手机游戏引擎 ...

  • 关于doom的研究

    转自 http://bbs.game798.com/showtopic-21382.html<br />  关于doom的研究 脱去Doom3的美丽外衣 Doom3游戏引擎解析  Doom3,一个如雷贯耳的名字,在这个名字之下,隐藏了游戏引擎设计大师...

  • 游戏引擎列表(维基百科)

    链接地址:http://zh.wikipedia.org/w/index.php?title=%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E%E5%88%97%E8%A1%A8&variant=zh-cn 游戏引擎是指一些已编写好的可编辑游戏系统或者一些互交式实时图像应用程序的核心...

  • 3D引擎

    1. 对3维场景的数据管理  这里的数据管理是一个比较广泛的定义,不同的3D引擎也许会拥有其中一个或多个功能。这些功能包括:场景管理,对象系统,序列化,数据与外部工具的交互,底层3维数据的组织和表示。 ...

  • “3D游戏之父”手游考古,网友:求支持智能手机!

    月石一 发自 凹非寺量子位 报道 | 公众号 QbitAI还记得它们吗?对00后们来说,也许有些陌生,但是80后、90后的游戏玩家们,应该再熟悉不过了~《毁灭战士RPG》、《兽人与侏儒》1...

  • 游戏引擎大全

    转自:http://blog.csdn.net/luyuncsd123/article/details/9975525免费引擎Agar- 一个高级图形应用程序框架,用于2D和3D游戏。Allegro library- 基于 C/C++ 的游戏引擎,支持图形,声音,输入,游戏时钟,浮点,压缩...

  • 3d引擎列表

    免费引擎 Agar - 一个高级图形应用程序框架,用于2D和3D游戏。Allegro library - 基于 C/C++ 的游戏引擎,支持图形,声音,输入,游戏时钟,浮点,压缩文件以及...Boom - Doom代码的一部分。由TeamTNT开发Bu

  • “3D游戏之父”考古“诺基亚时代”手游,网友:求支持智能手机!

    月石一 发自 凹非寺量子位 报道 | 公众号 QbitAI还记得它们吗?对00后们来说,也许有些陌生,但是80后、90后的游戏玩家们,应该再熟悉不过了~《毁灭战士RPG》、《兽人与侏儒》1...

  • 约翰·卡马克(John Carmack的全名是John D. Carmack II)

    约翰·卡马克(John Carmack的全名是John D. Carmack II) ,他生于1970年8月20日),是享誉世界的著名程序员,在电视游戏领域被尊为偶像。... 约翰·卡马克(“第一人称射击游戏之父”) 成长环境  小名约迪。

  • 基于FPGA的四相八拍步进电机控制系统设计:集成交付、正反转、加速减速及调速功能

    内容概要:本文详细介绍了基于FPGA的四相八拍步进电机控制系统的开发过程。主要内容包括:1. 使用VHDL和Verilog编写LED显示屏驱动代码,用于显示角度、学号和姓名等信息;2. 实现步进电机的正反转控制,通过状态机管理相序变化;3. 开发加速减速控制模块,确保电机启动和停止时的平稳性;4. 设计调速功能,通过调节脉冲频率实现速度控制。此外,文中还讨论了调试过程中遇到的问题及其解决方案。 适合人群:对FPGA开发和步进电机控制感兴趣的电子工程师、嵌入式系统开发者以及相关专业的学生。 使用场景及目标:适用于需要高精度运动控制的应用场合,如工业自动化、机器人技术和精密仪器等领域。目标是帮助读者掌握FPGA控制步进电机的基本原理和技术细节。 其他说明:文中提供了详细的代码片段和调试经验分享,有助于读者更好地理解和应用所学知识。同时,作者还提到了一些实用技巧,如通过PWM调节实现多级变速,以及如何避免步进电机的共振问题。

  • Android开发:基于SQLite的日历备忘录记事本项目详解与实现

    内容概要:本文详细介绍了基于Android Studio开发的日历备忘录记事本项目,涵盖日历查看、添加备忘录、闹钟提醒和删除备忘录等功能。项目使用SQLite数据库进行数据存储,通过CalendarView、EditText、Button等控件实现用户交互,并利用AlarmManager和PendingIntent实现闹钟提醒功能。此外,项目还包括数据库的设计与管理,如创建DatabaseHelper类来管理数据库操作,确保数据的安全性和完整性。文章还探讨了一些常见的开发技巧和注意事项,如时间戳的使用、手势监听的实现等。 适用人群:适用于初学者和有一定经验的Android开发者,尤其是希望深入了解Android开发基础知识和技术细节的人群。 使用场景及目标:该项目旨在帮助开发者掌握Android开发的基本技能,包括UI设计、数据库操作、闹钟提醒机制等。通过实际项目练习,开发者能够更好地理解和应用这些技术,提升自己的开发能力。 其他说明:文中提到一些进阶任务,如用Room替换SQLite、增加分类标签、实现云端同步等,鼓励开发者进一步扩展和优化项目。同时,项目源码公开,便于学习和参考。

  • Matlab实现基于SVM-Adaboost支持向量机结合Adaboost集成学习时间序列预测的详细项目实例(含完整的程序,GUI设计和代码详解)

    内容概要:本文档详细介绍了一个基于SVM(支持向量机)和Adaboost集成学习的时间序列预测项目。该项目旨在通过结合这两种强大算法,提升时间序列预测的准确性和稳定性。文档涵盖了项目的背景、目标、挑战及其解决方案,重点介绍了模型架构、数据预处理、特征选择、SVM训练、Adaboost集成、预测与误差修正等环节。此外,文档还探讨了模型在金融市场、气象、能源需求、交通流量和医疗健康等多个领域的应用潜力,并提出了未来改进的方向,如引入深度学习、多任务学习、联邦学习等先进技术。 适合人群:具备一定机器学习基础的研究人员和工程师,特别是那些从事时间序列预测工作的专业人士。 使用场景及目标:①用于金融市场、气象、能源需求、交通流量和医疗健康等领域的复杂时间序列数据预测;②通过结合SVM和Adaboost,提升预测模型的准确性和稳定性;③处理噪声数据,降低计算复杂度,提高模型的泛化能力和实时预测能力。 其他说明:文档不仅提供了详细的理论解释,还附有完整的Matlab代码示例和GUI设计指导,帮助读者理解和实践。此外,文档还讨论了模型的部署与应用,包括系统架构设计、实时数据流处理、可视化界面、GPU加速推理等方面的技术细节。

  • #游戏之追逐奶酪123

    #游戏之追逐奶酪123

  • 威纶通触摸屏配方管理系统解析:宏程序、数据结构与UI设计

    内容概要:本文详细介绍了威纶通触摸屏配方管理系统的实现方法及其应用场景。首先,文章讲解了配方管理的基本概念和技术背景,强调了配方管理在工业自动化中的重要性。接着,通过具体的宏程序代码示例,展示了如何实现配方的保存、加载以及安全校验等功能。文中还提到配方数据结构的设计,如使用寄存器地址偏移来确保数据不冲突,并通过CSV文件格式方便地管理和维护配方数据。此外,文章深入探讨了UI设计方面的内容,包括动态图层技术和按钮交互效果的应用,使得用户界面更加友好和直观。最后,作者分享了一些实际项目中的经验和技巧,如文件操作的异常处理和宏指令调试方法。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对触摸屏配方管理系统感兴趣的读者。 使用场景及目标:适用于需要频繁切换设备参数的生产环境,如食品加工、注塑成型等行业。通过使用威纶通触摸屏配方管理系统,可以提高工作效率,减少人为错误,同时简化设备调试和维护流程。 其他说明:附带的工具包提供了完整的宏指令注释版、图库资源和调试工具,帮助用户更好地理解和应用该系统。

Global site tag (gtag.js) - Google Analytics