首页 / 知识
关于 opengl:使用并行处理在 C 中制作游戏
2023-04-15 23:32:00

Making a game in C++ using parallel processing我想用 C 语言"模拟"流行的 Flash 游戏 Chrontron,需要一些帮助才能开始。 (注:不是为了释放,只是为自己练习)
所以,这可以解释游戏的运作方式。你应该玩一下 我在想一个解决这个问题的好方法是使用链表来存储每个状态, 实际问题: 现在我有了一些粗略的规范,我需要一些帮助来决定使用哪些数据结构,以及为什么。另外,我想知道我应该使用什么图形 API/图层来执行此操作:SDL、OpenGL 或 DirectX(我目前的选择是 SDL)。我将如何实现并行状态?使用并行线程? 编辑(澄清更多): 未回答问题:SDL:OpenGL:Direct X
附加问题,我以前主要使用过 C#、PHP 和 Java,所以我不会将自己描述为能手程序员。哪些 C 特定知识可以帮助我更轻松地完成这个项目? (即向量?) n n 我以前玩过这个游戏。我不一定认为并行处理是要走的路。您在游戏中共享了需要在进程之间共享的对象(杠杆、盒子、电梯等),可能与每个增量共享,从而降低了并行性的有效性。 我个人会保留一个动作列表,然后为每个后续迭代开始将它们交错在一起。例如,如果列表的格式为 [iteration.action],则第三次通过将执行动作 1.1、2.1、3.1、1.2、2.2、3.3 等。 除非您迫切希望将 C 用于自己的教育,否则您绝对应该将 XNA 用于您的游戏 并行处理不是答案。您应该简单地"记录"玩家的动作,然后为"之前的动作"回放它们 因此,您创建了一个包含动作的向量(单链表)。只需存储执行该操作的帧号(或增量),然后在该特定实例中代表玩家的"虚拟机器人"上完成该操作。您只需遍历状态并一个接一个地触发它们。 当状态悖论仅仅因为下一个动作失败而发生时,你会得到很容易"破坏"游戏的副作用。 一个非常有趣的游戏创意。我认为你是对的,并行计算将有利于这种设计,但不比任何其他高资源程序。 这个问题有点模棱两可。我看到你打算用 C 来写这个,但是你在为什么操作系统编写代码呢?您是否打算让它成为跨平台的,您想要什么样的图形,即 3D、2D、高端、基于 Web。 所以基本上我们需要更多的信息。 在简要地掩盖了描述之后,我认为您的想法是正确的,我将拥有一个保存状态数据的状态对象,并将其放入链表中……我认为您不需要并行线程。 .. 至于图形API,我只用过opengl,可以说它很强大,有很好的C/C API,opengl也可以跨平台,你可以使用*Nix上的messa库电脑。 |
最新内容
相关内容
linux命令行设置语言?
linux命令行设置语言?,系统,管理,环境,国家,工具,电脑,软件,文化,底部,语言,linux命令行下怎样改变语言1、将内容改为:LANG=zh_CN.UTF-8LANGUAGlinux使用命令改语言?
linux使用命令改语言?,系统,工作,管理,电脑,设备,字符集,中文,命令,语言,虚拟机,请问linux虚拟机装好以后怎么把英文改成中文?1、vmware设置中linux释放地址命令?
linux释放地址命令?,地址,系统,工作,信息,网络,命令,目录,基础,工具,管理,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux变量释放命令?
linux变量释放命令?,系统,环境,名称,工具,官网,简介,变量,环境变量,命令,内存,如何手动释放Linux内存?1、也就是说可以通过修改/proc中的文件,c语言写linux命令?
c语言写linux命令?,系统,工具,代码,智能,工作,环境,情况,位置,命令,文件,如何在C语言编程中调用linux系统终端下的命令1、C语言有一个system函linux汇编语言命令?
linux汇编语言命令?,系统,地址,代码,数据,网络,平台,平均,位置,灵活,工作,汇编语言指令的基本格式是什么1、有以下几种基本格式:标号,又称为指令linux汇编语言命令?
linux汇编语言命令?,系统,地址,代码,数据,网络,平台,平均,位置,灵活,工作,汇编语言指令的基本格式是什么1、有以下几种基本格式:标号,又称为指令linux模拟请求命令?
linux模拟请求命令?,地址,工作,系统,工具,信息,标准,命令,目录,发行,数据,linux怎么加端口url请求在/etc/services中添加端口以及对应进程名及linux释放文件命令?
linux释放文件命令?,数据,系统,管理,地址,命令,文件,位置,通信,标准,设备,如何手动释放Linux内存的方法1、重启服务器:重启服务器是释放内存最linux命令是什么语言?
linux命令是什么语言?,系统,环境,代码,传播,管理,语言,操作系统,源码,自由,部分,dos和linux的命令行里面用的是什么语言?1、DOS/Windows/Linuxlinux释放权限的命令?
linux释放权限的命令?,系统,档案,代码,地址,密码,命令,管理,工具,工作,简介,Linux用户以及权限相关常用命令总结1、sudo和su类似,有一些附加的linux改语言命令行?
linux改语言命令行?,系统,环境,工具,密码,概念,地方,软件,通信,管理,国际,linux命令行下怎样改变语言将内容改为:LANG=zh_CN.UTF-8LANGUAGE=zh_