分类 游戏开发 中的文章

[自制开源] 轻量级图形库 PixelLib

  • 图像:64种不同的像素格式,色彩空间变换,多种图形图像变换。
  • 质量:支持3种级别抗锯齿效果,高质量几何图形绘制。
  • 实现:轻量级纯软件实现,100% C代码(仅700KB代码)。
  • 优化:SSE2/MMX优化 地址:https://github.com/skywind3000/pixellib

1. 图像变换:

支持仿射变换和透视变换,提供大量图像变换操作接口。

2. 抗锯齿:

所有图形绘制支持3级不同程度的抗锯齿效果。

3. 图像绘制:

图像任意拉伸,旋转,3D旋转,并且同时进行色彩空间变换。全部采用浮点数坐标,图像移动更为平滑。

4. 几何作图:

全面的抗锯齿几何作图效果。

5. 图像扭曲:

在源图像上布置若干关键点,然后改变这些关键点在屏幕上的对于位置即可实现图像扭曲。

**使用 Pixellib 来渲染 iOS 风格的图标 **

……

阅读全文

影子跟随算法(2007年老文一篇)

算法简述

动作类游戏如何在高延迟下实现同步?不同的客户端网络情况,如何实现延迟补偿?十年前开始关注该问题,转眼十年已过,看到大家还在问这类问题,旧文一篇,略作补充(关于游戏同步相关问题还可以见我写于2005年的另外两篇文章,帧锁定算法网游同步法则):

影子跟随算法由普通DR(dead reckoning)算法发展而来,我将其称为“影子跟随”意再表示算法同步策略的主要思想:

1. 屏幕上现实的实体(entity)只是不停的追逐它的“影子”(shadow)。

2. 服务器向各客户端发送各个影子的状态改变(坐标,方向,速度,时间)。

3. 各个客户端收到以后按照当前重新插值修正影子状态。

4. 影子状态是跳变的,但实体追赶影子是连续的,故整个过程是平滑的。

clip_image002

图 1 算法演示

……

阅读全文

帧锁定同步算法

帧锁定算法解决游戏同步

早期 RTS,XBOX360 LIVE游戏常用同步策略是什么?格斗游戏多人联机如何保证流畅性和一致性?如何才能像单机游戏一样编写网游?敬请观看《帧锁定同步算法》 《帧锁定同步算法》转载请注明出处:

http://www.skywind.me/blog/archives/131

算法概念

该算法普遍要求网速RTT要在100ms以内,一般人数不超过8人,在这样的情况下,可以像单机游戏一样编写网络游戏。所有客户端任意时刻逻辑都是统一的,缺点是一个人卡机,所有人等待。

  1. 客户端定时(比如每五帧)上传控制信息。
  2. 服务器收到所有控制信息后广播给所有客户。
  3. 客户端用服务器发来的更新消息中的控制信息进行游戏。
  4. 如果客户端进行到下一个关键帧(5帧后)时没有收到服务器的更新消息则等待。
  5. 如果客户端进行到下一个关键帧时已经接收到了服务器的更新消息,则将上面的数据用于游戏,并采集当前鼠标键盘输入发送给服务器,同时继续进行下去。
  6. 服务端采集到所有数据后再次发送下一个关键帧更新消息。

这个等待关键帧更新数据的过程称为“帧锁定” 应用案例:大部分RTS游戏,街霸II(xbox360),Callus模拟器。

……

阅读全文

学习游戏编程的八大误区

误区一:很多作品只能叫做 “程序” 而不能称为 “游戏”
误区二:执着于各种技巧而忽视了基本素质的培养

误区三:执着于流行的API,认为:
会写游戏 = 掌握一两套API

误区四:执着于大而全,系统就像一只吞噬了各种化学品的魔兽
误区五:执着于引擎创作爱重复劳动:
最失败的引擎 = 拿来主义 + 函数改名

误区六:不消于使用脚本语言,喜欢CPP至上论
误区七:缺少科学的测试方法,写出来的程序BUG不断
误区八:作品缺乏游戏性,程序设计缺乏美感

……

阅读全文

推荐业余作品 - Hurricane2

clip_image002

Hurricane2

给大家介绍这款充满速度感,爽快感,连续性强的动作游戏。游戏里主角需要杀死各类敌人,获得高分,除使用不同招数和连续技外,还能利用各种致命武器,屠杀敌人。

基本操作:

用WSAD移动,双击移动键可以快速闪,鼠标左健搏斗,右键打开瞄准器,这时按下左健就可以射击,必杀技和武器希望您在游戏中探索,不过如果您能杀满350人,基本上就没秘密可言了:

……

阅读全文

未来三五年游戏研发问题预测

下面根据以往经验对未来三五年游戏开发问题做一个预测,所论述问题,缺乏严格证明。大家全当看故事,茶余饭后消遣娱乐一下:

1. 研发瓶颈从技巧演变成为规模,解决复杂度问题将成为国内一流开发者的主要矛盾,而未能进军一流水平的二流开发者将会进一步沦落成软件工厂和外包工作室。

2. 对于开发游戏,多人视频,新的输入设备,可看不可玩,三年内国内由于该方向知识薄弱,即便国外有大的成就,国内一时也难以效仿。

3. 日下国内过于注重技巧的世风,在面对突入其来的规模问题,以及国外先进开发工具的双重夹击,会导致诸多游戏项目连续不断的失败,国内将再一次引发游戏开发方法的大讨论,各种为游戏行业量身订制的软件工程及开发理念纷纷出现,目不暇接。

4. 微软两年内会推出崭新开发平台,为改良DirectX和传统VisualIDE逐渐力不从心的被动,新平台将结合Vista系统优势,也是对1990年MS平台开发战略的再 一次体现,当时英国记者评论“只有不断降低开发门槛,使未来全世界的开发者都习惯傻瓜编程了,才能有力的压制一切可能形成威胁的力量”这次统一Win/XBOX的编程接口自然不在话下,结合长期捆绑和专利等方面的蚕食,对OpenSource和其他轻量级开发工具实施致命打击。

5. 数月前微软宣布放弃几年前启动的GAPI的发布转而变出DX10,紧接着又宣布 VS.Net2005 Express的永久免费,现在已暴露出自己越来越大的野心了。三年后,高校合作工程开花结果,等第二,三批微软专家们成为国内研发主力的同时,结合Vista的下一代游戏开发工具的主流化,国内使用DX11/12的从业者必将遭遇类似DOS >Win的门槛面临失业和转变的选择,MS教徒们在2008年末必定会乘虚而入,钻入行业主力研发队伍。

6. Shockwave等等其他游戏开发工具由于迫于主流平台压力,会进一步在WEB方面发挥自己的优势,WEB平台游戏开发将会再次引起人们重视。

7. 第一二批开发者离开一线开发阵营,开始反思,一批优秀文化作品将会面世,各种关于游戏开发的故事,程序员文化引发二次回归,成为游戏文化的一个主流。

……

阅读全文