D语言游戏编程(1):工作环境

C++游戏编程入门:从环境搭建到实战游戏循环 C++作为高性能编程语言,其核心优势在于对计算机底层资源的直接掌控能力,如内存管理和CPU指令优化。这种底层控制能力是实现高性能应用,尤其是游戏开发中实时渲染、物理模拟和网络同步等技术的关键。在游戏开发领域,C++通过指针、对象池等机制,为开发者提供了无与伦比的性能优化空间和确定性行为控制,使其成为3A大作和核心游戏引擎的首选语言。学习C++游戏编程,不仅需要掌握语法基础,更要理解如何将数据结构、算法和设计模式应用于解决游戏特有的性能瓶颈和实时交互问题。例如,通过对象池技术管理游戏实体,可以避免频繁动态内存 阅读详情

前言

作为一个游戏程序员,D语言对我是很有吸引力的!我相信有不少的人和我有同感。我热爱编程,但是我不能说我热爱C++。坦白的讲,如果是我一个人独立编程,我很乐意使用C++,它的好处就不必多说了,但是在一个稍微大一点的团队中,我一直希望找到一种 “更高级”的语言。这些年一直被C++折磨着,即便团队中有一个新人,有少许几行代码,就足够让整个团队调试一整天。最近的一次,有位兄弟写了如下代码:

       在一个类中有这个成员变量:DWORD m_array[10];

for(int i=0; i<sizeof(m_array); i++)

       m_array[i] = 0;

错误是明显的,但是它并不会立即造成非法操作,它只是破坏了其它成员变量的内容。。。要知道,在一个20万行的程序中找到这个错误并不是那么容易啊。

       C#很不错,而且MS推它的力度很大,现在又有XNA,浮点运算效率一直被大家质疑,不知道现在改进了多少?还有一个不爽的事就是――需要带个百十来M的runtime lib。

       D语言的发展很值得关注,在TIOBE的调查(http://www.tiobe.com/?tiobe_index )中已经排到14位,而且上升速度紧跟Ruby之后,十分抢眼。对于游戏程序员,尤其适合。:)当然,D还在发展中,但是它值得关注。  D语言在经历了一百七十多个版本,五年的开发之后,终于推出了1.0版!现在是时候实践一下了。:)

为什么D语言如此令人激动,请看这篇文章:
英文原文:http://www.digitalmars.com/d/overview.html
中文翻译:http://blog.youkuaiyun.com/uframer/archive/2005/02/03/279661.aspx
我在这里就不赘述了。      

 

准备工作环境

       最基本的compiler和linker可以从Digital Mars官方网站下载:http://www.digitalmars.com/d/dcompiler.html。注意,要下载两个包dmd.zip是compiler,dmc.zip是linker。压缩包中还带了MS Windbg程序可以用来调试。为了方便调用,后需要把“dmd/bin/”添加到系统的PATH环境变量中。

       在“dmd/samples/d”有几个例子,可以先看看,对D有一个初步的印象。“dmd/html/d”有一些文档,应该好好看看。:)

       编辑工具现在后很多,简单起见,我现在使用Ultra Edit,关于如何配置UE,请参考:http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport/UltraEdit。

 

实战Hello World!

1、  创建一个新的文本文件,输入以下代码:
void main()
{
printf("Hello D!");
}

2、  键入命令行:dmd hello.d –g,此命令会生成hello.exe,其中-g参数是为了生成调试用的符号表;

3、  键入命令行:windbg hello.exe,可以启动windbg调试窗口,在windbg的Command窗口中键入“g _Dmain”,即可开始调试;

这几行代码是不是和C语言一下啊?!这是因为D和C在二进制上是兼容的,而且D引入了C Runtime lib,所以可以调用CRT的printf。下面这几行是调用D的标准库(Phobos)的代码:

    import std.stdio;

void main()
{
    writefln("Hello D!");
}

OK,基本的编辑、连接、调试就是这样了!下次将尝试创建一个Win32窗口,并初始化会OpenGL。

 
1、编程基础:如何制作电子游戏 本文详细介绍了使用 Flash 和 ActionScript 制作电子游戏的基础知识,涵盖编程环境搭建、图形设计、对象编程、决策逻辑、角色控制以及碰撞检测等内容。通过学习,读者可以掌握游戏开发的基本流程,并具备独立制作简单游戏的能力。 阅读详情

相关推荐

华为OD机试真题目录汇总(Java语言)2024 B+C+D+E卷 (560道)

本文是2023华为OD机试真题(Java 语言) B卷专栏的目录贴(定期更新2023华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用Java语言进行更新解答,包含真题,思路分析,代码参考,每个题目的思路分析都非常详细,超过百字欢迎大家订阅学习,代码可以直接运行使用,全网限时最低价,持续更新)华为OD是Outsourcing Dispacth模式,是华为和外企德科联合招聘的简称。目前华为大多数是OD招聘。OD模式也是华为提出的一种新的用工形式,每年都会从OD项目挑优秀员工转为正编。

KJ.JK 8万+

探索未来游戏开发:Godot-D —— D语言的Godot引擎绑定库

探索未来游戏开发:Godot-D —— D语言的Godot引擎绑定库 godot-dD language bindings for the Godot Engine's GDNative API项目地址:https://gitcode.com/gh_mirrors/go/godot-d 项目介绍 Godot-D是针对广受欢迎的开源游戏引擎Godot的一个创新项目,它提供了一套D语言的GDNati...

gitblog_00013的博客 712

Unity 2.5D飞机大战游戏源文件全面解析

Unity是一款流行的跨平台游戏开发引擎,它支持2D、3D、虚拟现实(VR)和增强现实(AR)等多种类型的游戏开发。Unity以其易用性、强大的功能集合以及良好的跨平台特性,在独立游戏开发者和大型游戏公司中均获得了广泛的应用。

weixin_30674431的博客 944

D语言开发环境搭建-opensuse

1、安装DMD:               从digitalmars 公司主页下载编译器:http://digitalmars.com/d/download.html,并安装。这里选择dmd-2.062-0.openSUSE.x86_64.rpm 2、安装eclipse               这里选择eclipse4.0 3、安装DDT插件            DDT是ecli

templarzq的专栏 1562

VC++淘金者小游戏:编程实践与游戏开发初探

VC++(Visual C++)是微软推出的一款功能强大的C++集成开发环境(IDE),它是Visual Studio软件开发套件的一部分,经历了从1993年首个版本的发布到现在不断的发展与完善。VC++为开发人员提供了包括代码编辑、调试、性能分析、项目管理等在内的全面功能,是Windows平台上开发应用程序,特别是游戏和系统软件的重要工具。1.1.1 VC++的发展历程和版本介绍。

weixin_35045970的博客 637

Scratch少儿编程实战——放烟花游戏设计与实现

颜色不仅是美学选择,更是情感语言。研究显示,暖色调(红、橙、黄)常关联兴奋、热烈;冷色调(蓝、紫、绿)则倾向宁静、神秘。在节日语境中,合理搭配可引导用户心理预期。例如:红+金:传统节庆,象征富贵吉祥;蓝+银:科技感未来风,适合科幻主题;粉+紫:梦幻浪漫,吸引年轻女性用户;彩虹全谱:极致狂欢,常用于高潮时刻。在PS中可通过“色相/饱和度”调整图层快速测试配色方案,无需重复绘制。

weixin_35006125的博客 1329

看图配置D语言集成开发环境(IDE),使用Poseidon

D语言是个具有很多高级特性的编译型的语言,这篇文章教大家配置一个集成编程环境。write by DKink|棼紫进这个站点http://www.digitalmars.com/找到DownLoads下的Download Digital Mars D compiler点击进入 看到Download latest version of dmd.zip (D compiler) for

dkink的专栏 1万+

DiscordEngine:用 D 语言编写的开源游戏引擎

Discord 游戏引擎 用 D 编程语言编写的开源游戏引擎。 Discord 游戏引擎使用基于组件的系统和事件系统。 该发动机目前处于开发和设计的最早阶段。

探秘Dash:打造未来游戏的高效引擎

探秘Dash:打造未来游戏的高效引擎 在当今快速发展的游戏界,一款强大的游戏开发引擎是创意变为现实的关键。今天,让我们一同探索Dash——一个由Circular Studios精心打造,旨在简化游戏开发过程的开源神器。 项目介绍 Dash是一个基于D语言和YAML配置的强大游戏开发引擎,它将现代编程的灵活性与简洁的游戏配置结合在一起。无论你是热衷于创新的独立开发者,还是渴望贡献代码的引擎专家,Da...

gitblog_00622的博客 451

dagon:D的3D游戏引擎

达贡 该项目的目标是为D语言创建一个现代的,易于使用的,可扩展的3D游戏引擎。 Dagon基于OpenGL 4.0核心配置文件。 它适用于32位和64位Windows和Linux。 它不支持macOS,因为Apple不再支持OpenGL。 Dagon仍在开发中,缺少许多重要功能。 由于API不稳定,目前不建议在生产中使用Dagon。 在上关注Dagon开发,以查看优先任务。 如果您喜欢Dagon,请支持其在或上的开发。 您也可以通过一次性捐款。 感谢您的支持。 提前致谢! 屏幕截图 产品特点 静态和动画网格,OBJ和格式支持 PNG,JPG,TGA,BMP,HDR格式的纹理 Blender导出器的自有资产格式 用于不透明材料的延迟管线,用于透明材料和带有自定义着色器的材料的前向管线 基于物理的渲染(PBR) 使用Reinhard,Hable / Uncharted,ACES和Filmic色调映射运算符进行HDR渲染 HDRI环境图 具有级联阴影映射和体积散射的定向光 球形和管状区域灯 射灯 正常/视差映射,视差遮挡映射 具有法线贴图和PBR材料属性的延期贴花 动态天穹,带太阳和昼

学习D语言的tango:第三章 D的面向对象特性

NULL 博文链接:https://yntcsb.iteye.com/blog/411902

探索DlangIDE:跨平台的D语言集成开发环境

探索DlangIDE:跨平台的D语言集成开发环境 项目介绍 DlangIDE是一款基于D语言开发的跨平台集成开发环境(IDE),它利用DlangUI库构建,为用户提供了一个直观且功能丰富的开发界面。DlangIDE支持多种主题,包括默认主题和暗黑主题,以及在Windows控制台中的控制台模式运行,满足不同用户的视觉偏好和使用场景。 项目技术分析 DlangIDE的核心技术栈包括D语言、DUB(D语...

gitblog_00941的博客 589

voxelman:用D语言编写的基于插件的客户端-服务器体素游戏引擎

voxelman:用D语言编写的基于插件的客户端-服务器体素游戏引擎

D 语言是否可作为入门级的编程语言?

由于 D 语言是他们接触的第一种类型语言,所以首先我必须解释类型是什么,以及为什么类型很重要。

优快云资讯 2684

军械库:具有Blender集成的3D引擎

军械库 -- 开发中! Armory是具有完整Blender集成的开源3D游戏引擎。 该引擎目前以的形式提供。

一分钟学会MATLAB-数据清洗(含完整代码)

数据清洗是数据分析过程中的一个重要步骤,目的是提高数据的质量,以便进行更有效的分析。% 删除超出阈值的行。% 用线性插值填充缺失值。% 删除包含缺失值的行。% 找到缺失值的位置。% 可视化数据,识别异常值。缺失值是数据清洗中常见的问题。通过以上步骤,你可以有效地清洗数据,使其准备好进行后续的分析和建模。

2402_87132195的博客 3316

D语言学习笔记

  D语言学习笔记我在sina的博客上已经写了本文,不过这里关注的人更多,因此转贴)1,配置环境(2008-7-15)需要如下的软件(只是基于我的学习路线,其他的还没有空闲时间研究):D语言编译器下载http://ftp.digitalmars.com/dmd.2.014.zipD语言连接器及工具下载http://ftp.digitalmars.com/dmc.zipD语言

qlrhoo的专栏 1418

实测338MB/s!FPGA与CYUSB3014的Slave FIFO模式实战避坑(附完整固件与源码)

本文详细介绍了FPGA与CYUSB3014在Slave FIFO模式下实现338MB/s高速数据传输的实战经验。通过优化硬件设计、固件配置和GPIF II接口设置,解决了USB3.0双向通信中的关键性能瓶颈,并提供了完整的固件与源码参考。

weixin_30570101的博客 458

NewBie-image-Exp0.1游戏开发案例:NPC形象批量生成部署教程

本文介绍了如何在星图GPU平台上自动化部署NewBie-image-Exp0.1镜像,高效实现游戏开发中NPC动漫形象的批量生成。通过结构化XML提示词,开发者可精准控制发型、服饰、种族等属性,5分钟内完成24个风格统一的NPC立绘产出,显著提升游戏资产制作效率。

weixin_29050829的博客 965

Linux系统杀毒软件深度评测:8款主流工具对比(2025最新版)

本文针对Linux服务器/桌面环境,实测8款杀毒软件,涵盖开源免费、企业级防护、轻量级工具等类型,附保姆级安装教程和避坑指南,新手也能5分钟选对工具!

awei0916的专栏 1万+

NVIDIA NCCL 安装和测试实战教程

ibrary)是用于深度学习应用的高性能通信库,可加速多GPU通信和同步。它能够在多个GPU之间进行高效的数据传输和集体操作,显著提高了分布式GPU系统上深度学习训练和推理的性能。NVIDIA NCCL是加速多GPU系统上深度学习应用的必不可少的工具。其高效的通信原语和集体操作显著提高了分布式训练和推理的性能,使其成为现代深度学习基础架构的关键组成部分。

weixin_39818775的博客 4428

如何让Linux键盘发出钢琴声?打造个性化音效工作环境

你是否厌倦了键盘敲击时单调的"嗒嗒"声?是否想过让每一次按键都变成音乐创作?今天,我要向你介绍一个能让Linux键盘奏响音乐的神奇工具——Keysound键盘音效软件。 > 想象一下,敲击A键时听到钢琴的C音,按回车键时响起打字机的清脆声,让枯燥的编程工作变成一场听觉盛宴。 ## 为什么你需要键盘音效? **问题一:工作环境过于单调** 每天面对电脑工作数小时,键盘声音单调乏味,缺乏工作乐趣

gitblog_00282的博客 704

AI 生成测试报告:从 2 小时到 10 分钟

本文分享了AI在汽车电子测试报告生成中的应用案例。作者以某车企ECU测试项目为例,对比传统报告方式(每天2小时)与AI辅助方式(每天20分钟),效率提升83%。文章详细介绍了测试报告的核心要素(测试概况、结果、问题分析、发布建议)和不同类型报告(日报、周报、总结报告)的特点,并提供了从CANoe导出测试数据的Python解析脚本示例。通过AI自动化处理,大幅减少了测试工程师在报告整理上的时间投入,为汽车电子测试工作提供了实用效率提升方案。

小明的博客 444
上一篇: 新年好!2007
下一篇: D语言游戏编程(2):D语言基础之Declarations,Types,Properties
yanonsoftware
博客等级 码龄21年 104粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值