我想创建一个有平台的游戏,有不同的楼层。每个楼层都有一些可以与之交互的建筑物和对象,并且可以通过某种方式到达其上方和/或下方的楼层。
我需要:对象(模型)加载/渲染、输入、碰撞检测和拾取。我也想坚持使用 .NET 语言
我查找了许多引擎(包括 .NET 本地引擎或带有包装器的引擎),其中许多引擎具有我需要的这些功能,而且往往是我不想要也不需要的额外功能。
我已经将图形 API 视为 DirectX/OpenGL 和其他基于这些的图形 API,但是我需要自己编写碰撞检测和拾取函数,或者绑定到诸如 Newton Physics 或 PhysX 之类的东西。
编辑:我也看过 XNA,但我看过/读过关于它的设计的混合评论。
我还考虑过编写自己的函数或使用 3rd Party Libraires 来加载/渲染以及我自己编写的进一步的碰撞检测和选择。
从纯理论的角度来看,我想把这个项目作为一个教育项目来完成,但不是那么深入或费力,我最终把头发拉了出来,穿过了许多电脑屏幕。
我的编程知识是通过 VB -> C# 和一些 C 自学的。我可以做基本的面向对象的工作(属性、继承、多态),但对构造函数、访问器和解构以及我可能没有提到的其他特性一无所知。我拥有向量和碰撞检测所需的 A 级(英语系统/高级高级(苏格兰系统)数学知识和 GCSE(英语)/高级(苏格兰)物理知识。
所以我的问题是 - 什么是最快、最具教育意义的方式,同时仍然有趣且不费力地完成这个项目 - 使用引擎并通过自定义碰撞检测学习它们的功能/图形 API 或从头开始编写所有内容和/或使用第三个图书馆来帮助我?或者我什至是以错误的心态/方法来解决这个问题,我可以指出正确的方向吗?