我们要用SDK做个游戏!!!
woyya
2006-11-23
这里是我们老师给的游戏要求,请大家指教下用什么好:
《最初幻想》项目任务书 一)游戏概述 游戏中的主画面是一张迷宫地图,玩家控制hero在地图中上下左右移动,在地图中散落着大量的金币,hero移动过程中拾取金币,每次拾取金币会使其金钱数上升。 在地图中有物品商店。商店里的不同物品有着不同的功用和售价,Hero可以用其金钱购买对应商店里的物品,。如买到血瓶可增加hero的生命值,买到子弹可实现对游戏中怪物的攻击。 地图中,有若干怪物,和一个怪物的老巢。怪物由电脑进行控制。根据怪物运动方式的不同和攻击了的不同分为几种不同的怪物。同时每隔几秒,从老巢中会跑出一个新的怪物。这些怪物可以碰撞hero或发射毒液射击hero, hero也可以通过子弹对其进行攻击。Hero每杀死一个怪物,其经验值就会增加,当增加到一定层次,hero就会升级,如其攻击力、防御力增加。 最后,如果hero杀死了地图中所有的怪物,并摧毁了老巢,就表示游戏胜利,如果hero被怪物杀死,则游戏失败。 信息 短讯 邮箱 好友 搜索 引用 回复 No.2 ________________________________________ Re:《最初幻想》项目任务书 二)功能说明 本系统从功能上划分,共有如下功能系统 一、 地图系统 二、 角色系统 三、 商店系统及物品系统 地图系统 地图系统是提供了一个游戏的主画面,是为各种角色运动的场合 1、地图为平面矩形,大小20行30列。 2、需提供墙壁,道路,河流,森林、金币,物品商店6种图形元素,每种元素对应的字符描述,见下表。 3、角色在地图中的道路上运动,墙壁、道路、河流会阻挡角色的运动 4、地图中的数据从地图文件中读取。 值 元属 字符表达 意义 0 道路 “ ” 角色可在地图中运动的路线 1 墙壁 “■” 地图的四周墙壁,角色不可通过 2 河流 “≈” 地图中的河流,可挡住角色的去路,hero在买到游泳圈后方可通过 3 森林 “Ψ” 地图中的河流,可挡住角色的去路,hero在买到指南针后方可通过 4 金币 “⊙” 5 物品商店 “Ю” 英雄在商店里购买其所需要的商品 角色系统 在本游戏中有两种角色,一种是英雄我们称之为“hero”,是由玩家控制的,还有一种怪物,由电脑控制。 Hero角色 1. 游戏中拥有一个英雄人物 2. 由玩家操作,使其在地图中向左、向右、向上、向下运动 3. 任务是摧毁怪物得老巢和杀死所有的怪物 4. 英雄不能穿墙而过 5. 英雄在没有买到游泳圈之前不能通过河流 6. 英雄在没有买到指南针之间不能通过森林 7. 必需在地图中捡到足够的金钱,到物品商店中去购买其所需要的物品 8. 有一定的生命值,每次遭到怪物的攻击,生命值就会相应消减,如果生命值为0,则就死亡 9. 有一定的攻击力,攻击力越大,其发射子弹的威力就越大。会更大得消耗怪物的生命值 10. 英雄发射子弹时,子弹的运动方向,根据英雄的运动方向来决定 11. 有一定的防御力,防御力可以在一定范围来减少怪物对你的伤害 12. 杀死一个怪物,可以增加一定的经验值,当经验值增加的一定程度,英雄人物可以升级,即攻击力和防御力得到提升。 13. 英雄的有关信息,如生命值、攻击力、防御力、所用的的物品均提供正确清晰的提示,并反映这些值的变化情况 怪物 1. 游戏中根据难度可以拥有多个怪物,每隔一定时间,就会从老巢里跑出新的怪物,老巢有一定的防御力,英雄需要多次攻击才可摧毁。 2. 由电脑控制,使其在地图中随即得向左、向右、向上、向下运动 3. 任务保护老巢,杀伤英雄。 4. 怪物根据运动方式和攻击能力分为三种等级。 第一种、运动方式为朝一个方向直线运动,遇到障碍会重新选择一个运动方向,其靠撞击来攻击英雄。 第二种,运动方向随机,没有明显的运动趋势,也靠撞击来攻击英雄 第三种,运动方向随机,没有明显的运动趋势,但通过发射毒液攻击英雄。 毒液无限,每隔几秒发射一次。其发射方向同怪物运动方向一致。 5. 怪物只有生命值,没有防御力,即受到攻击就会失血。 6. 怪物的生命值和攻击力根据种类不同而不同。 7. 怪物不能穿墙,不能游泳,但可以穿过森林 8. 都会被怪物可以被英雄的子弹射死。如果怪物生命值减到0,怪物死亡。 9. 对游戏中的怪物数量,老巢的防御力进行提示报告 角色被攻击后其生命值消减的计算公式: 生命值 = 原有生命值 - ( 对方攻击力 - 防御力 ) 防御力 = 原防御力 - 1 如果 对方攻击力 - 防御力 小于等于零,则生命值不消减。 商店系统 商店是一个新的场景,英雄在地图中运动到标记商店的地方,即切换到该场景,在商店中,有如下物品可供英雄购买 物品 作用 外形 价格 小草药 补血效果10 || 中草药 补血效果20 |||| 大草药 补血效果30 ||||| 游泳圈 可使英雄游泳过河 @ 指南针 可使英雄穿过森林 <> 子 弹 攻击怪物 × 所有这些商品,以列表的形式提供给用户选择,列表的内容包括:商品名称、商品外貌,商品作用,商品价格等。每种商品都有一定的价格。当英雄完成交易后离开商店后回复地图场景。为方便起见,商店里的物品数量可以是不限的。 子弹 子弹直线飞行,可以穿越河流、森林。但不能穿过墙壁,碰到墙壁会消失。子弹只能杀伤对方角色,如英雄的子弹可以怪物,怪物的子弹可以杀伤英雄但不会误伤其他怪物。 子弹碰到要杀伤的角色,会根据子弹的杀伤力消耗掉角色的生命值,同时子弹消失。子弹的杀伤力与发射者的杀伤力相同 |
|
bigpanda
2006-11-23
游戏看起来挺大的,得做一阵子吧。
这个游戏用GDI编就行了,在VC里选择Win32窗口application,用的就是Win23API,GDI(Graphical Device Interface)。对这些概念不了解可以去wikipedia看看,写的清楚 http://en.wikipedia.org/wiki/Wikimedia_Foundation. 如果你从来没有用C编Windows程序的背景,从这本书开始看:Programming Windows, Fifth Edition,by Charles Petzold,这本书用C调用Win32 API,是本经典书。不要我以前提的那本MFC的书了。没有必要把MFC这个框架引进来。 先得学会如何创建窗口,控制鼠标,在窗口里画图,然后才能谈到如何设计这个游戏。 为了深入了解Win32编程,推荐每天阅读一小时Programming Applications for Microsoft Windows, by Jeffery Richter,很涨功力。 这两本书都有电子版,用emule找找肯定能找到。 Win32函数,总共2037个,也不是很多,有一些还是deprecated。可以去这里看看http://msdn2.microsoft.com/en-us/library/default.aspx. 点左边的/MSDN Libary/Win32 and COM Development/Development Guides/Windows API/Windows API Reference. 规定是要用VC在Windows上编GUI程序吧,别来句用flash也可以,那我全白写了。 |
|
woyya
2006-11-24
哈哈,大熊哥谢谢了,不是的我们说了用玛亚也可以,呵呵,开玩笑的
是在VC WINDOWS上做的,呵呵,太感谢你了 |
|
woyya
2006-11-24
如果用SDK做这个游戏需要大概多长时间?我可以加班,一天工作20个小时
|
|
jack
2006-11-24
如果你用GDI做,嘿嘿。问题一大堆呢。就算能够做出来,最后的运行速度一定非常的慢。
如果你愿意,最好还是用DX或者SDL之类的做,实在没得选择也要用GDIplus。 而且听你的意思,你好像初学,那么有些问题不是加班能够解决的,一天工作20个小时。。。,做开发,连续写上4个小时以上的代码,就已经累的动不了了。 初学的话,好多都是技术问题,不是做不好,是根本就搞不清楚怎么回事。但愿有高手在带你们,而且那个高手会教人 |
|
qiezi
2006-11-24
GDI也不一定就慢,梦幻西游就是GDI画的,可以去云风的邮件列表中问。
你这个项目我不知道给了你多长时间,有多少人来做,如果只有一个人,项目没要求用C,而且你对C也不是特别熟练的话,用其它语言可能会好一些,C是比较难以调试的。你可以考虑python之类的动态语言,wxPython包含丰富的界面处理库,包括透明位图,可以省去很多麻烦,效率上应该是完全可以满足这样的小型游戏,SDL也有python封装的。 |
|
jack
2006-11-24
qiezi 写道 GDI也不一定就慢,梦幻西游就是GDI画的,可以去云风的邮件列表中问。
呵呵,西游这样的游戏cpu多占用点无所谓的,不过我平时接触到的都是要求cpu占用越低越好的那种,GDI方面只能做少量的动画,多了就不行了。 |
|
moniker
2006-11-25
你不是想完全从头做吧?这样工作量太大了。如果不是有特别的要求,你去看看LUA吧,原来专门用来做游戏的。
|
|
jack
2006-11-25
moniker 写道 你不是想完全从头做吧?这样工作量太大了。如果不是有特别的要求,你去看看LUA吧,原来专门用来做游戏的。
lua只是用来编写游戏脚本,但是界面部分还得自己写。难道lua可以完全处理界面? |
|
wzgme
2006-11-25
jack 写道 moniker 写道 你不是想完全从头做吧?这样工作量太大了。如果不是有特别的要求,你去看看LUA吧,原来专门用来做游戏的。
lua只是用来编写游戏脚本,但是界面部分还得自己写。难道lua可以完全处理界面? 有个wxWidgets的包装wxLua,不过这东西还是主要写脚本. 这个游戏,不知道楼主的基础到底是到什么地方...你们是在学游戏开发吗?? 基本的显示框架,碰撞系统,场景编辑,脚本流程...从零开始的话,有的写了. |
相关讨论
相关资源推荐
- 车辆管理系统(struts+hibernate+spring+oracle).rar
- Hibernate、oracle分页、order by问题
- hibernate.dialect oracle,Hibernate Dialect for Oracle 19
- oracle char java,Oracle Char类型和Hibernate
- Postgres和Oracle与Hibernate的兼容性
- oracle clob hibernate,java:hibernate + oracle之坑爹的clob
- hibernate oracle 迁移 mysql_oracle转mysql数据库 (hibernate+spring)
- ssh oracle id native,hibernate解决oracle的id自增?
- Spring Boot&JPA&Hibernate&Oracle
- hibernate对oracle并发,如何使Hibernate @Lock注释对Oracle DB有效?