程序聚合 软件案例 2d游戏测试-2d游戏测试

2d游戏测试-2d游戏测试

2026-03-07 22:59:30
行业:游戏/电竞
载体:游戏
技术:C++、CMake

业务和功能介绍

使用了SDL等库和CMake和C++语言和AI大模型辅助,从零开始写了一个小游戏雏形,用时大约4个月。
里面进入游戏后是一个GAME CLICK TO play 的场景,然后使用鼠标点击后进入主菜单场景,主菜单目前有两个场景堆叠成的一个画面,一个是背景和 play settings exit 按钮场景,一个是点击settings 后弹出来的独立的设置场景。点击play进入世界场景,里面是两个场景堆叠成的一个画面,一个是瓦片地图和玩家和粒子效果的场景,一个是UI场景,场景间任何事件可以被消费掉。
可玩性欠缺,目前仅仅测试引擎运行和效果等等,后续会陆续加入可玩性。

项目实现

实现了一个基本的2D游戏框架,内部有场景切换功能,模拟重力的物理,瓦片地图系统,角色帧动画,对象池粒子系统,基本UI系统,场景事件消费。使用了C++20和现代C++的特性,使用了对象池和启动时预加载的功能实现了运行时无内存分配开销,并且退出程序时使用了RAII特性进行了内存清理来防止内存泄露程序崩溃等等问题。

RAII:使用了现代C++的特性进行开发,使用智能指针std::unique_ptr进行启动时预加载对象分配,const T*观察指针和引用&进行运行时对象引用。清理时使用了模块化单例化设计,每一个模块单例管理自己的内存。

场景系统:场景系统SceneManager就是一个管理栈型数据结构的类封装,场景Scene是基本单位。并且Scene为顶级父类,Scene继承下来的类如 class WorldScene : public Scene 是世界场景等等。

事件消费:事件消费使用了场景系统SceneManager来实现。场景系统SceneManager就是一个管理栈型数据结构的类封装,场景Scene是基本单位,最后堆叠渲染成一个画面。把事件先传给最上层场景,如果场景有能力对事件做出反应,就把事件消费,如果没有能力消费事件,就传下去给下层场景。


UI:UI系统就是使用事件消费和基本AABB检查鼠标在不在框内实现的。比如点击UI场景的事件不会传给世界场景。当然也可以选择允许不消费,也就是UI不消费事件,把事件传给世界场景等等
。包含一个Widget基类和各种如 class ControlButton : public Widget 的继承类。
并且UI事件消费的事件处理对于高频使用的按钮是直接访问对象内存地址的方式进行信号发送,因为这是最快的。如果高频使用的按钮是使用EventBus进行信号发送,而不是直接写内存,会比较慢并且有堵塞风险。但是也有一个EventBus进行低频率的信号发送,比如菜单按钮,玩家相比移动按钮更少按下,就可以使用低频EventBus进行信号发送。

渲染:渲染器使用了SDL_Renderer进行基本2D渲染,并且也封装了底层SDL_gpu配合HLSL着色器语言和SDL_shadercross着色器跨平台编译器和SPIRV-Cross进行编写基本跨平台的2D渲染管线。但是目前发现了SDL_Renderer无法和SDL_gpu + 着色器语言配合使用,所以说只能取舍。方案是最后全部采用SDL_gpu进行跨平台GPU渲染。
SPIRV-Cross 配合 DXC 使用HLSL编写的着色器可以进行跨平台着色器编译。比如HLSL → DXIL支持DX12,HLSL → SPIR-V支持 Vulkan,HLSL → SPIR-V → MSL支持苹果的Metal,HLSL → SPIR-V → GLSL支持老OpenGL,等等。


示例图片视频


zhy
15天前活跃
方向: 游戏开发-游戏开发其他、后端-Python、
交付率:100.00%
相似推荐
校园综合服务小程序
立项背景和目标 当前高校学生校园信息分散,资讯、二手、失物、活动、外卖等需求分散在多个社交群,信息流转低效、无统一查询渠道。本项目目标搭建轻量化微信小程序,无需下载 APP,统一聚合校园全场景服务,降低师生信息获取成本,搭建校内安全交易、信息发布渠道。 软件核心功能模块 1. 用户登录模块:对接微信官方登录接口,自动获取用户 OpenID 完成注册、身份识别; 2. 校园资讯模块:分类展示校园新闻、通知、学习资料,支持搜索、点赞、收藏、详情预览; 3. 闲置二手模块:学生发布闲置商品、浏览商品列表、查看商品详情; 4. 失物招领模块:发布遗失 / 捡拾物品信息,检索公告; 5. 校园活动模块:展示校内文体、志愿活动,点击查看活动详情; 6. 快捷外卖服务:校内商家点餐、购物车、订单管理、收货地址管理; 7. 个人中心:用户信息、我的发布、我的收藏、订单记录、系统设置。 业务流程 用户打开小程序后自动触发微信授权登录,登录后进入首页,首页提供各功能入口;点击对应图标跳转资讯 / 二手 / 活动 / 外卖页面,列表页支持下拉刷新、上拉加载更多,点击条目跳转详情页,可完成点赞、收藏、发布、下单等操作;全部数据由后端接口统一提供存储与校验。
短剧出海项目
1、海外短剧市场处于高速增长期,TikTok/Reels 等内容消费习惯催生了用户对"短平快"剧集的需求。平台面向东南亚、北美、拉美等海外市场,通过 Facebook 广告投放获客,以 H5 网页形 式提供服务——无需下载 App,打开链接即看。 2、业务目标 内容变现 通过会员订阅 + 金币单集购买两种模式实现付费 广告归因 完整追踪从广告点击到付费的全链路转化数据 多支付商 支持 Stripe(信用卡)和 PayPal 两种主流支付方式 多站点 一套代码支持多个品牌站独立部署(通过 settings.yaml 配置) iOS 友好 通过服务端 CAPI 规避 iOS 14.5+ ATT 事件拦截 3、业务流程
华为云控制台-智果AgentArts智能体平台
华为云AI智能体应用管理平台,为企业提供智能体的创建、配置、监控及技能管理的一站式解决方案。本项目全程采用AI驱动开发模式,基于GLM-5.1+miniMax2.7完成从架构设计到代码实现的全流程,手写代码占比不足5%,交付效率较 传统模式提升3以上。
模型部署优化
为应对 DeepSeek-V4-Pro 模型在长上下文、高并发推理场景下的性能瓶颈,我们启动了 H20 集群推理服务优化项目。原单机部署方案在解码阶段依赖 DSpark 投机解码(num_speculative_tokens=3)进行加速,但在实际业务流量(高峰约 100 req/min)下,KV Cache 显存占用成为主要限制,导致请求承载能力仅约 10% 的流量比例,大量请求因资源不足被拒绝或排队,严重影响服务可用性和用户体验。 本次项目旨在通过架构升级,将部署规模从单机扩展至双 H20 集群,并引入 LMCache KVCache Pool 池化技术,实现 KV Cache 跨实例复用,显著降低长上下文场景下重复 Prefill 计算开销,最终目标是将业务承载能力提升至 25% 以上,保障高峰流量下的服务稳定性与低延迟响应。
鲜速达生鲜配送平台(FreshExpress)
鲜速达是一家面向社区的生鲜电商平台,用户可通过微信小程序和Web端下单购买果蔬、肉禽、海鲜等商品,平台提供智能分拣和30分钟极速达配送服务。该项目旨在重构原有单体系统,解决高并发下订单超时、库存不准确等问题。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服