幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6937|回复: 17

[讨论]最近尝试用SDL+OpenGL写一个3D引擎

[复制链接]

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-3-22 18:02:19 | 显示全部楼层 |阅读模式
我现在想到的是结构是这样的
  1. main——数据管理——io(打包文件,地图格式等的读取)
  2.      |                 |
  3.      |                    ——读存档
  4.      |
  5.        ——游戏规则——地图事件
  6.      |                  |
  7.      |                  ——NPC处理
  8.      |                 |
  9.      |                   ——玩家操作处理
  10.      |                  |
  11.      |                   ——UI
  12.      |
  13.        ——图形渲染
  14.      |
  15.        ——声音播放
复制代码
其实这就是一个很蹩足的状态机。
目标是定在高层的游戏制作类库,能够利用已有的规则模块的不同组合,以及扩展现有规则,就可以方便的写出游戏。
我从来没有真正写过这么大的软件。(超过500行的都没有[s:6] )
心理没底,动手之前,先问问大家的看法。
え~え~お!!!
回复

使用道具 举报

19

主题

842

帖子

1万

积分

⑧专业

絕望青年,一起增高吧

积分
13676
发表于 2007-3-22 18:17:23 | 显示全部楼层
看似簡單其實有很大的地方可補充
制作文字AVG/2D RPG程度已經足夠
但是全3D類需要更強大的物件跟texture管理架構
只有上述的結構最多只可以到。。單機RO的地步
要作完整的3D操作還要考慮到Mouse和Screen還有Camera的配合
(好的。。。某C承認這的而且確有點兒過火了)
所以某C一直只是幻想3D Engine的架構,自身水平不足所以未有動手

為著彼岸,便要與之妥協 但為著彼岸,更不能與之妥協

回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2007-3-22 19:00:41 | 显示全部楼层
谢谢你的关注和补充。

物件载入管理,texture,bsp地图的载入之类的,我认为可以扩充到数据管理里面。这些都可以算是io及其延伸的一部分吧。
mouse的拾取,像机的移动,碰撞,物理,光源等等,可以放在规则下面。毕竟这些东西全部都是逻辑运算来着。
不知这样行不行。

我是想先把大的框架给敲定,然后再慢慢实现。
在opengl完蛋之前,估计能写出来吧。 [s:2]
え~え~お!!!
回复 支持 反对

使用道具 举报

18

主题

428

帖子

5260

积分

⑦老手

在美工荒中挣扎的全能

积分
5260
QQ
发表于 2007-3-22 19:59:41 | 显示全部楼层
通用的其实比专用的难写啊……

我个人目前的想法是在开源工具包(或者中层商业工具包)的基础上,为每个游戏类型提供一定的功能,然后利用这些功能组织模块的……
回复 支持 反对

使用道具 举报

50

主题

742

帖子

402

积分

版主

自定义头衔

Rank: 7Rank: 7Rank: 7

积分
402
发表于 2007-3-22 20:56:16 | 显示全部楼层
米有什么想补充的,正好偶的朋友没事写了一个,有兴趣不妨可以看看她的BLOG~

http://www.tracklogger.com/yuki/default.asp

[s:7]
Style-C
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2007-3-22 20:58:05 | 显示全部楼层
本来我也是想用别人的东西。
可是,那些东西毕竟不是自己写的。
在实现一个游戏的时候,具体的思路上,总是感觉不能合拍。

另外就是,版本间说变就变。
release版的,出了什么问题,还得自己去翻源码找bug。
这就要求对别人写的代码很了解。
无疑,这是一件很麻烦的事情。

就像irrlicht吧,全面是全面,但不想用的东西也是一堆一堆的。
tga,pcx,md2,obj....哪用得了这么多?
这次你自己定制一下中文输入,2D动画......
等发现这版本有问题,自己解决不了,不得不升版本时,又要重新定制。
而我想用的东西,风格化渲染,还没实现出来.....
能把这样的东西用得顺手,所要花掉的功夫,
不如重写一个简单的,但足够自己用的算了。
反正就是抄别人demo中的代码嘛。
能因此多学点底层上的东西,也算是值了。hoho~

“每个游戏类型提供一定的功能”,这样的做法应该很灵活方便吧。
我先记下了。THX
え~え~お!!!
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2007-3-22 21:09:09 | 显示全部楼层
引用第4楼lw2007-03-22 20:56发表的:
米有什么想补充的,正好偶的朋友没事写了一个,有兴趣不妨可以看看她的BLOG~

http://www.tracklogger.com/yuki/default.asp

[s:7]
Y2GE就是你上次用的那个吧。我记得看过它的结构的,和hge很像。
她的计划好庞大。我的估计只有其1/3吧。
[s:8]
え~え~お!!!
回复 支持 反对

使用道具 举报

好人卡的 该用户已被删除
发表于 2007-3-23 01:07:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

9

主题

1512

帖子

9136

积分

荣誉群

Cod3r

积分
9136

终身成就奖

发表于 2007-3-23 01:19:32 | 显示全部楼层
引用第3楼Miliardo2007-03-22 19:59发表的:
通用的其实比专用的难写啊……

我个人目前的想法是在开源工具包(或者中层商业工具包)的基础上,为每个游戏类型提供一定的功能,然后利用这些功能组织模块的……

Torque有很多人用這種方法...不過要想保留跨平台特性,就不太適合這樣搞了,3D我實在沒功夫去看,不過想看硬件加速2D的話,弄一套Torque Game Builder的源碼看看,绝對值回票價,不過TGB的好處之一就是幾乎不用編譯自己的版本,標準版幾乎就有所有功能。
(\\__/) (O.o ) (> < ) This is Bunny.
回复 支持 反对

使用道具 举报

67

主题

383

帖子

4489

积分

⑥精研

御姐御用提款机

积分
4489
发表于 2007-3-24 08:39:09 | 显示全部楼层
咳,从造福苍生的角度,还是写个SLG的引擎吧,2D的就行,AVG+SLG的更好。。。 [s:6]
其实。。。 YY是种奢侈品。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-19 14:43 , Processed in 0.031915 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表