42个编程实例,打通游戏开发中的任督二脉(获奖名单已公布 )
获得技术图书《游戏开发的数学和物理》的会员有:CUTianrui007
seesea2517
rover12421
chenxing2
请以上获奖者在2015年9月11日前将姓名,公司,职务,行业,电话,邮箱,QQ,地址,站内短信发送给王楠w_n以便及时给您快递奖品。
发不了站短的请加群203848540,然后联系群主CU客服。
注:因特殊原因,每次活动的获奖者我都会通知各位,如果大家在截止日期之前还未联系到管理员,那么本次活动的得奖资格将被取消,所以请大家及时的与管理员取得联系,谢谢合作!
话题背景:
现在很多年轻人沉迷于游戏不能自拔,虚拟世界精美的画面,精妙的关卡设计,游戏有成就感让他们忘记了现实世界。
现在开发一款游戏是一项大型工程,从软件方面来说,算法设计可以说是游戏设计中一个重点难点,现在的好多外挂软件
就是以游戏算法为切入点,实现各种变态的功能。那么,你在玩游戏时,是否考虑过各种各样的算法是如何实现的?
它的物理和数学基础是什么?比如,关卡如何设计,按键如何响应等,希望大家脑洞大开,讨论以下问题:
话题讨论:
1:你常见的游戏中都有哪些设计?比如关卡,还有其它吗?
2:游戏中进度保存是如何实现的?
3:游戏中如何检测到人物碰撞在一起了?
4:游戏如何防止多开?
讨论时间
2015年07月20日--2015年08月15日
活动奖励
活动结束后将选取4名讨论精彩的童鞋,每人赠送图书《游戏开发的数学和物理》一本作为奖励
奖品简介
原书名:実例で学ぶゲーム開発に使える数学? 物理学入門
作者: ( 日) 加藤洁著
译者: 徐谦
丛书名: C/C++技术丛书
出版社:人民邮电出版社出版发行
出版日期:2015 年1 月
开本:16开
ISBN:978-7-115-37581-0
内容简介
《游戏开发的数学和物理》严格选取了游戏开发中最常用的数学和物理学知识,通过游戏开发实例,配上丰富的插图,以从易到难的顺序进行讲解。第1章到第5 章分别讲解了物体的运动、卷动、碰撞检测、光线的制作、画面切换的细分处理。这五章将2D游戏必需的知识一网打尽,同时还严格挑选了少量3D游戏编程的基础内容以供参考。第6章系统梳理了游戏开发的数学和物理学理论,帮助读者更好地理解前五章的内容。
《游戏开发的数学和物理》适合网络和手机游戏开发者阅读。
样章试读
年轻人比较适合读的书,现在已经一把老骨头了,早就废掉了 从软件方面来说,算法设计可以说是游戏设计中一个重点难点、按键如何响应
-> 现在的游戏基本上都用上了游戏引擎吧,引擎实现了物理系统、图形渲染、输入输出以及其它的音效、场景等模块,用上游戏引擎的话基本不需要考虑这些底层的东西了,只要专注于游戏制作就可以了。看了附件的试读说的是碰撞检测,图文并茂的数学原理解释及程序实现说明,非常好的内容,对于需要理解游戏底层实现原理的同学来说很合适,以及开发游戏引擎的话用得上。
1:你常见的游戏中都有哪些设计?比如关卡,还有其它吗?
-> 看游戏类型啦,有的需要关卡设计,有的需要战斗系统设计,有的有任务系统设计,有的有副本系统设计,排名系统设计,好友系统设计,装备打造系统设计,商城系统设计,交易系统设计,对话系统设计等。RPG游戏最主要的是剧情设计,做为一个贯穿整个游戏主线的线索牢牢抓往玩家的心,其间以任务系统的方式展现给玩家,以战斗系统和对话系统的方式由玩家进展下去,期间搭配副本系统和装备打造系统及商城、交易等系统提供玩家和NPC及玩家与玩家之间的互动。棋牌类还要考虑洗牌、出牌规则等等。休闲类的游戏主要就是创意,关卡设计及排名系统的设计。
2:游戏中进度保存是如何实现的?
-> 单机游戏可以用本地文件系统、本地数据库系统等,现在也有单机游戏做成网络存储的。网络游戏基本上都由服务端保存到服务端的数据库系统中。保存的格式有见到有 xml 格式、数据库分表存放及 json 格式或类 json 格式等存储的。
3:游戏中如何检测到人物碰撞在一起了?
-> 有见到一种方式是人物图像做一个 mask,检测 mask 的重叠。其实现在大多 2d rpg 游戏不需要检测碰撞,人物允许重叠在一起,省去一些麻烦了。
4:游戏如何防止多开?
-> 单机游戏的话就检测游戏进程的数量喽,网络游戏除此外还可以在服务端通过统计IP(网吧什么的情况有可能误报)、MAC等特征来检测。 回复 3# seesea2517
看海兄很专业的说,赞一个~{:yxh40:}
1:你常见的游戏中都有哪些设计?比如关卡,还有其它吗?
游戏分很多种的的,不同的游戏关注的点就不一样.
(1)RPG= Role-playing Game:角色扮演游戏
由玩家扮演游戏中的一个或数个角色,有完整的故事情节的游戏。玩家可能会与冒险类游戏混淆,其实区分很简单,RPG游戏更强调的是剧情发展和个人体验。采用回合制或半即时制战斗,背景设计,开放的地图和剧情的设计比较关键.
(2)ACT= Action Game:动作游戏
玩家控制游戏人物用各种方式消灭敌人或保存自己以过关的游戏.
ACT游戏讲究打击的爽快感和流畅的游戏感觉,逼真的形体动作、火爆的打斗效果、良好的操作手感及复杂的攻击组合就是设计的关键.
(3)AVG= Adventure Game:冒险游戏
由玩家控制游戏人物进行虚拟冒险的游戏。
AVG的特色是故事情节往往是以完成一个任务或解开某些迷题的形式来展开的,而且在游戏过程中着意强调谜题的重要性。AVG也可再细分为动作类和解迷类两种,解迷类AVG则纯粹依靠解谜拉动剧情的发展,难度系数较大。
(4) FPS=First Personal Shooting Game:第一人称视角射击游戏
给予玩家及其强烈的代入感,随着3D技术的不断发展,FPS游戏完全为表现3D技术而诞生的游戏类型.
(5)TPS=Third Personal Shooting Game:第三人称射击类游戏
第三人称射击类游戏指游戏者可以通过游戏画面观察到自己操作的人物,进行射击对战的游戏。
第三人称游戏比第一人称游戏增加了更多的动作元素,比如翻滚、攀爬、疾跑、格斗等,在使用各种技能的同时,玩家还能观察到自己角色流畅的动作,增加了游戏整体的流畅感与爽快感。
(6)FTG= Fighting Game:格斗游戏
由玩家操纵各种角色与电脑或另一玩家所控制的角色进行格斗的游戏, 场景布置、人物造型、操控方式等也比较单一,但操作难度较大,对技巧要求很高,主要依靠玩家迅速的判断和微操作取胜。
(7)SPT= Sports Game:体育类游戏
在电脑上模拟各类竞技体育运动的游戏,花样繁多,模拟度高
(8)RAC= Racing Game:竞速游戏[也有称作为RCG的]
在电脑上模拟各类赛车运动的游戏,通常是在比赛场景下进行,非常讲究图像音效技术,往往是代表电脑游戏的尖端技术。
(9)RTS = Real-Time Strategy Game:即时战略游戏
RTS一般包含采集、建造、发展等战略元素,同时其战斗以及各种战略元素的进行都采用即时制。
(10)STG= SHOTING GAME:射击类游戏
指纯粹的飞机射击,或者在敌方的枪林弹雨中生存下来,一般由玩家控制各种飞行物(主要是飞机)完成任务或过关的游戏。
(11)SLG=Simulation Game:策略游戏
指玩家运用策略与电脑或其它玩家较量,以取得各种形式胜利的游戏,或统一全国,或开拓外星殖民地。SLG的4E准则为:探索、扩张、开发和消灭(Explore、Expand、Exploit、Exterminate)。SLG可分为回合制和即时制两种
(12)MSC=Music Game:音乐游戏
培养玩家音乐敏感性,增强音乐感知的游戏。伴随美妙的音乐,有的要求玩家翩翩起舞,有的要求玩家手指体操,例如大家都熟悉的跳舞机
(13)CAG=Card Game:卡片游戏
等等还有很多,不同类型的游戏,大家关注的点不同,设计的重点也就不一样.
2:游戏中进度保存是如何实现的?
主要是把游戏中关键的属性值记下来,拿一个RPG的游戏做例子,角色的属性(健康,法术等)的值,重要NPC的属性(包括是死是活),游戏情节的触发情况,游戏中重要物品任务的位置等,都要记下来,保存成游戏进度的数据,载入进度时,才能游戏数据还原出来.
3:游戏中如何检测到人物碰撞在一起了?
二维的话,地图场景应该是一个小方块一个小方块,根据人物的坐标算出人物在地图数组的哪行哪列,就可以检测到,3D的会更复杂吧.
4:游戏如何防止多开?
根据机器码识别,根据硬件生成特定的机器码,反馈到服务器,多开的时候,在登录服务器的时候,系统根据机器码确定你是否多开. 回复 4# yestreenstars
感谢谬赞……片面的一些意见啦。 :hug::hug:都是猛人 支持楼主,支持活动... 游戏很少玩,也看不懂,不明觉厉:sleepy: 1:你常见的游戏中都有哪些设计?比如关卡,还有其它吗?
各种升级系统:人物等级,宠物等级,装备等级,宝石等级,技能等级
各种附属系统(这个已经很普遍了):什么经脉啊啥的,其他的不记得了,融合了很多武侠元素
各种副本,任务系统,任务还分每日任务,主线任务,支线任务,副本任务,帮派任务,晕了.
bios,有定时bios,副本bios.科举考试,节日活动,每日活力,交友系统,交易系统,帮派系统,各种各样的排行榜,头衔啥的一大堆,已经到了目不暇接的地步了.
最最重要的一个怎么给忘了,现在的大头是充值系统,充值系统里又演化出多种货币(两种,3种的最常见),各种充(圈)值(钱)活动.
2:游戏中进度保存是如何实现的?
网游的话,没啥好说了,都是服务器数据库保存的.单击的话,看设计者,一般以单文件为主.文件格式有内存数据dump的,有数值转换后保存的.dump的在早起比较常见,简单容实现,版本兼容性不好.数字化后再保存,一般会有自定义的一个结构,或直接使用json,xml,ini等常见的保存,但是保存后会加密.兼容性好,保存恢复较内存dump的开销大写.
3:游戏中如何检测到人物碰撞在一起了?
以前做过2.5D的手机网游,回合制的,没有人,人碰撞,但有人,物的碰撞,也就是不可达区域,当时用的是用物品坐标加物体属性判断的.每个物体都有一个是否可达的属性,判断的是下一个坐标的重叠和可达性.现在应该也差不多把,就是坐标体系可能有变化,怎么判断下一个坐标重叠算法会不一样,但大致方向应该是一样的
4:游戏如何防止多开?
常见的有互斥量,进程名判断,固定进程pid文件判断,端口占用判断,父子进程判断(用来防止多开器的),虚拟机判断(防止用虚拟机多开).还有就是同账号的多开,这个主要是在服务端判断.只允许同一账号同一时间唯一在线.
页:
[1]
2