19 skywind

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

博客永久迁移

本人博客永久迁移到http://www.skywind.me

2016-02-19 17:53:05

二十年前是怎样开发游戏的?

知乎上有人问:“贴吧都是十五六岁就用引擎写游戏的天才,大家怎么看?”,感觉现在做游戏真实一件幸福的事情呀,不尽想起当年开发游戏的各种艰辛。现在做游戏很简单,大把代码给你参考,大把框架给你使用,Windows帮你作完了大部分事情。我们那个年纪写游戏时,家里还没有Internet,什么资料都查不到,什么开源引擎都没有,95年左右你要写一个游戏,你起码面临:同显卡打交道,显卡著名的Mo

2015-04-21 22:52:27

如何解决FPS/RTS/赛车类游戏的同步问题

算法简述 动作类游戏如何在高延迟下实现同步?不同的客户端网络情况,如何实现延迟补偿?十年前开始关注该问题,转眼十年已过,看到大家还在问这类问题,旧文一篇,略作补充(关于游戏同步相关问题还可以见我写于2005年的另外两篇文章,帧锁定算法 和 网游同步法则):影子跟随算法由普通DR(deadreckoning)算法发展而来,我将其称为“影子跟随”意再表示算法同步策略的主要思想

2015-04-07 17:10:14

体育竞技游戏的团队AI

很多人问游戏AI该怎么做?随着游戏类型的多元化,非MMO或者卡牌的游戏越来越多,对AI的需求也越来越强了。而市面上关于AI的书,网上找得到的文章,也都流于一些只言片语的认识,理论化的套路,和一些简单的DEMO,离真正的项目差距甚远,无法前后衔接成一条线,更无法真正落地到编码。国内真正做过游戏AI的少之又少,东拉西扯的人很多,真正做过项目的人很少,因为国内主要以MMO为主,RTS比较少

2015-04-07 17:05:29

程序高手的境界

程序员也有三六九等:初等程序员靠知识来挣钱,会别人会的东西,喜欢折腾架构和框架,以掌握更多新潮东西而沾沾自喜,以模仿各种奇技淫巧重新实现一遍而四处炫耀,常见台词:“为啥还在用png存图片?为啥不用webp这种高压缩比的格式?”,“我们使用Erlang的高并发特性来实现同时支持5万人的效果”,“我们使用RTMFP来降低流量成本,又使用H265来给用户提供更高品质的视频画质”,这些人能够迅速的学

2015-04-07 17:02:51

移动设备通用手势识别算法

移动设备多用手势进行输入,用户通过手指在屏幕上画出一个特定符号,计算机识别出来后给予相应的反应,要比让用户点击繁琐的按钮为直接和有趣,而如果为每种手势编写一段识别代码的话是件得不偿失的事情。如何设计一种通用的手势识别算法来完成上面的事情呢?我们可以模仿笔记识别方法,实现一个简单的笔画识别模块,流程如下:第一步:手势归一化1.手指按下时开始记录轨迹点,每划过一个新的点就记录到手

2013-04-19 22:18:56

如何实现字体沟边与发光特效?

如果你正在使用Flash,那么实现下面一个字体效果是一件十分简单的事情:textfield.filters=[newGlowFilter(0,1,2,2,10)];这样就可以了,接着把字体设置成宋体12号,颜色是0xffff99,就成了。如果要实现上面类似QQ面板的发光效果,也只需要一行:textfield.filters=[newGlowFil

2013-04-19 02:28:43

快速可靠协议 - KCP

快速可靠协议URL: https://code.google.com/p/ikcp/ KCP是一个快速可靠协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,并以callback的方式提供给KCP。连时钟都需要外部传递进来,内部

2013-04-15 17:31:21

FlashPython - 在 Flash里面跑 Python代码!!

编译了一个FlashPython,可以在Flash里面跑Python代码,性能测试得分23703.7pystones/second,比js版本python解释器快多了,从此以后可以用Python来写Flash项目了,演示地址:http://t.cn/zlHTzWv

2012-11-14 16:44:12

百行内实现五子棋人机对战

国庆没事,想看看最少多少行可以写一个人机对战起来游戏,于是有了这个Python版五子棋人机对战,仅仅几百行。#!/usr/bin/envpython#-*-coding:utf-8-*-importsys,time#----------------------------------------------------------------------

2012-11-09 03:51:57

【原创】快速除以255的方法

经过若干次试验修改,研究出下面这个快速/255的宏,可以在X属于[0,65536]的范围内误差为零:#definediv_255_fast(x)(((x)+(((x)+257)>>8))>>8)传统来说,人们习惯于将/255改为>>

2011-09-07 02:14:13

参考ZeroMQ改进服务器

今天参考ZeroMQ的观点为我们的网络模块增加了一个“订阅模式”,及客户端包头用四字节表示,低24位为长度,高八位为“消息分类”。后端连接网络层的若干“频道”可以根据自己的喜好订阅“分类消息”,那么客户端发送该分类消息到网络层的时候,将会被抄送到订阅过该分类的频道。每个频道还可以订阅若干系统消息,比如连接开始、断开、时钟等等。我们的服务器自2004年底到现在,一直是网络和逻辑分离在不同的进程

2011-06-25 17:29:00

[原创] PowerPC 汇编入门与优化

PowerPCFigure–PPC入门与优化BySkywind(2007)http://www.joynb.net/blog/背景介绍PowerPC于1991年IBM/MOTO/APPLE研制,大量应用于服务器(AIX/AS400系列及苹果系列服务器),家用游戏机(PS3,Wii,XBOX,GameCube),以及嵌入式(仅次于Arm/x86排第三)。PowerPC核心在于开放系统软件标准,其应用范围仅次于x86,是除去x86外最值得开发者了解的体系。不需要写出非常高

2011-04-24 00:46:00

[原创] CGDC2009讲稿 - 游戏地图自动生成

2009年参加上海CGDC的演讲讲义。

2011-04-23 23:27:00

游戏客户端入门十二小时

本文代码见:http://blog.csdn.net/skywind/archive/2005/04/18/352045.aspx 

2011-04-23 13:25:00

LiveWriter 写CSDN很方便呀。

可以方便的插入代码:#includeintmain(intargc,char*argv[]){printf("Hello,world/n");return0;}.csharpcode,.csharpcodepre{ font-size:small; color:black; font-family:consolas,"CourierNew",courier,monospace; background-

2011-04-14 14:12:00

内存拷贝优化(1)-小内存拷贝优化

<br/>相信大家代码里有很多地方用到memcpy这个函数,相信这个函数的占用是不小的,有时优化了memcpy,能使整个项目的运行效率提升。通过适当的编码技巧,让我们的内存拷贝速度超过memcpy两倍,是可以实现的。<br/> <br/>有人说memcpy还能优化么?不就是repmovsd么?CPU和内存之间的带宽是固定的,怎么可能优化呢?其实是普通的内存拷贝并没有发挥全部的带宽,很多被浪费掉了,比如要等到数据完全读取成功后再去写入,然后要写入成功后再去读取新的。而优化本身就是使这两者尽量的并行。发

2011-03-14 21:42:00

业余土制:轻量级图形库 PixelLib

简述:2D抗锯齿,矢量制图,快速图形图像变换,64种不同的像素格式,色彩空间变换,SSE2/MMX优化,纯软件实现,纯C代码。地址:http://code.google.com/p/pixellib/1.图像变换:支持仿射变换和透视变换,提供大量图像变换操作接口。2.抗锯齿:所有图形绘制支持3级不同程度的抗锯齿效果。3.图像绘制:图像任意拉伸,旋转,3D旋转,并且同时进行色彩空间变换。全部采用浮点数坐标,图像移动更为平滑。4.几何作图:全面的抗锯齿几何作图效果。

2011-03-11 19:33:00

GFP-Tree 内存分配器

我也来介绍一些内存管理方面的优化算法:怎样才能根除内存碎片?有且只有如下办法:1.只分配不释放,2.只分配固定大小内存,3.不分配内存,虽然,仍不妨碍我们再一次回顾各种常用的分配策略,以发掘一些新的思路:前提:下面提及的分配技巧并不能说是“最快的”,也不能说是“最小碎片的”,但是可以保证,不管系统运行多长时间,不管分配多大内存,碎片比例趋于恒定,同时分配时间为常数(unitinterval):最后将讨论一些更进一步的优化技巧(如果愿意大量增加代码行数的话),看看在分配内存方面,哪些我们值得努

2011-02-11 20:50:00

帧锁定同步算法

帧锁定同步算法算法概念该算法普遍要求网速RTT要在100ms以内,一般人数不超过8人,在这样的情况下,可以像单机游戏一样编写网络游戏。所有客户端任意时刻逻辑都是统一的,缺点是一个人卡机,所有人等待。1.客户端定时(比如每五帧)上传控制信息。2.服务器收到所有控制信息后广播给所有客户。3.客户端用服务器发来的更新消息中的控制信息进行游戏。4.如果客户端进行到下一个关键帧(5帧后)时没有收到服务器的更新消息则等待。5.如果客户端进行到下一个关键帧时已经接收到了服务器的更新消息,则将上面的

2011-02-11 17:53:00

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!