老程序员,92 年(小学)开始写代码,快速可靠传输协议 KCP 作者,知乎 25 万关注技术答主(id 韦易笑),游戏开发话题,编程话题优秀答主,娱乐化编程,Vim 用户+插件作者,怀旧游戏玩家。
我的开源项目:
emake – 面向中小项目和跨平台开发的 C/C++ 构建工具,使用定义式构建,像 IDE 一样简单,定义源文件,条件编译参数即可使用。
PyStand – Python 独立部署环境,打包成独立可执行,适合 Windows 下的独立命令行/Gui 程序,PyQt 程序等。
KanaQuiz – 命令行下学习日语的平假名和片假名。
rogue-clone – 移植 Debian/Ubuntu 下 bsdgames-nonfree
内的 rogue 游戏到 Windows,并修正了一系列 BUG。
kcp – 快速可靠传输协议,纯算法实现,下层可以对接 UDP 等任意不可靠协议,提供可靠传输,多用于游戏等需要快速响应的场景。
z.lua – 命令行下快速切换路径的工具,一个会学习你实用习惯的新的 cd 命令。
LIBLR – 基于 LR1/LALR 的 Parser Generator,给定文法和处理函数,就能生成一个新的 Parser,通过 C11 文法测试。
googauth – 命令行版本的 Google Authenticator 实现,设置 token 就能生成三十秒生命周期的验证码,可用于 google/github 二次验证。
RenderHelp – 单个 C++ 头文件 RenderHelp.h
实现一个简单的软件渲染器,支持顶点着色器和像素着色器。
mini3d – 只用 700 行 C 代码实现的软件渲染器,采用固定管线。
markpress – 用于创建和更新基于 markdown 的 wordpress 文章的命令行工具,支持图表,数学公式等。
translator – 命令行聚合翻译器,支持多个后端翻译 API。
gobang – 五子棋人机对战,传统 AI(minmax,博弈树与剪枝),支持三个难度。
Intel2GAS – 将 MSVC 风格的内嵌汇编转换成 GCC 风格的内嵌汇编代码。
avlmini – 和 Linux 的 rbtree 性能有的一拼的 avl 实现,以及比 std::unordered_map
快一倍的 avl-hash 容器。
VmBasic – 一款类似 QuickBasic 的编程语言,内置虚拟机,可用于开发简单游戏,被步步高拿去移植成 BBKBasic 给他们电子词典做扩展。
BasicBitmap – 跨平台像素位图库,覆盖 GdiPlus
的多种像素格式,比 DirectDraw
的 FastBlt
快 40% 比 GDI
的 AlphaBlend
快 34%。
pixellib – 高质量 2D 矢量图形库,曲线绘制,抗锯齿。
memslab – slab 内存分配器的应用层实现,包括一个中心内存池和多线程 cache,同时增加了一个叫做 slab-tree 的机制,以减少内存浪费。
pyp2p – Python 版 P2P 实现,内置一个 Python 版的可靠传输协议。
asmpure – 可以在运行时将汇编代码翻译成机器码,支持 x86 指令集,可用于实现 JIT 系统。
context – 协程上下文切换实现,支持 x86/x64,可以在 Windows / Linux 下运行。
lzw – 两种压缩算法 LZW
和 LZO
的实现。
uboost – Go 语言做的 UDP 传输加速和混淆工具。
欢迎关注:
知乎:https://www.zhihu.com/people/skywind3000
你好,我是一个游戏程序员,经常写游戏AI,看到你的blog,希望能加一下好友,以方便日后交流,如果同意,可以把你的QQ号发到我留言的邮箱!
@phporz
已回你邮件
很喜欢你的博客,看到你一篇“体育竞技游戏的团队AI”的文章,感觉很cool,现在我也在开发一款足球类游戏,AI方面的实现和你的文章提到的4个状态很相似,但是“团队状态机”可能实现的较一般,很多复杂的ai没有实现到。最近在赛事回放中越到不少问题,请问可以跟你交流一下关于回放不准确的问题和ai优化的问题吗?
@skywind
我和他有相同的想法,最近在服务器的框架设计方面遇到了一些问题,看了您的文章很受启发。希望可以加下好友,方便交流,非常感谢。
@hello
欢迎加群:【游戏服务端架构交流群】 QQ群号:457576286
我是一名在校计算机大一学生,其实也算大二了。在学习的过程中,看过许多非常优秀的技术博客,像您的这样。自己的目标是不浪费大学四年,希望毕业能进入谷歌或者微软实习。
前辈!
我在用行为树实践怪物AI的过程中, 遇到一些困惑不能解, 请前辈指点!
请前辈留个邮箱, 我写邮给您!谢谢!
ybxfy@163.com
是韦老师的博客吗?
@ishamo
是我的博客呀。
学长,你是04年进网易那位大仙么?我没猜错的话,加我QQ吧,我之前的QQ掉了,没你联系方式了。发我邮箱就行。
我们之前还讨论过python呢:)
内容很好,学习,欢迎来我的博客互相讨论学习
您好 下载了您的3d引擎研究 读入自定义的数据(顶点 uv 等)画出线框后 读取一张图 贴在模型上后感觉有一部分是正确的 一部分是错位的 但是我把数据读到另一个之前的程序正常 应该排除数据问题 百思不得其解 希望再您不忙的时候得到您的指点 万分感激 真的对我很重要
@blackflash
什么模型?什么纹理?如何错位法?之前的程序又是什么?
@skywind
md2模型 读到程序中后 获取了顶点信息和贴图信息 用您的程序画三角线将模型展示正确 然后将纹理信息也赋予了vertex_t p1, p2, p3; 读取了256*256的bmp做贴图 贴的时候显示不正确 我是将md2里面的(float)stPtr[i].s / (float)Texture->width;信息作为u stPtr[i].t / (float)Texture->height;信息作为v放置到p1 p2 p3的 如果可以请给我个邮箱我将代码发送 耽误您的宝贵时间了 不胜感激 再次感谢 注:之前的是一个读取md2模型的程序 我将我抽取的数据读入这个显示正确
@skywind
找到问题了 自己大意了 谢谢您
你好,游戏程序员一枚,希望能多交流,那个服务器群加不进了,能告知联系方式吗?谢谢
通通 你好,我看到你开源的skywind3000项目,看到里边要用到时间轮的写法,我有些不明白的地方,想加你的QQ想向你请教, 能告知联系方式吗?谢谢
457576286 这个群已经满了,还有其他的群吗?
hi,牛逼的同学,你博客干货非常多,很实在。我也是做游戏的,做了好多年,有不少问题都没考虑的这么深。能加Q么?有问题的话好直接请教。如果行的话可以发我邮箱。
韦老师,可否方便加个qq,就是邮箱对应的qq,有技术问题想咨询下您
对此话题很感兴趣,如果是职业足球俱乐部的AI在设计上是否应该有更多维度的考量,比如“情感状态”“气候因子”“队员之间默契度”?
你好,我是一名游戏音频制作员,经常看一些游戏开发的相关问题,看到你一篇“体育竞技游戏的团队AI”的文章感觉写的很好,希望能加下,在一些游戏开发领域希望你能带我了解一下,我的微信:18789898665 QQ:1097552562,你这边不方便的话,可以把你的联系方式发到我留言的邮箱!
你好,我看了你写的关于游戏帧同步的算法中的乐观锁的实现,我有些问题想请教下你,想加你的QQ想向你请教, 能告知联系方式吗?谢谢
过来膜一下大佬, 可惜我并没有好好学Erlang, 深感愧疚…Orz
完了,有点喜欢你。
之前在CSDN下載過您發表的cscope 15.8b的win32執行檔,2018年又有15.9版,但遲遲等不到有善心人士分享,衹好回頭來找你幫忙編譯了,或者您可否教導我如何自行編譯呢?謝謝:)
@cs86661
你好,我没有时间编译新的 cscope,我现在用 gtags 代替 cscope 了。
林总,今天跟朋友聊到枫之舞的时候想起你当年的作品,费了点劲搜到这里来,发现居然现在还在保持笔耕不辍,佩服佩服!草草翻看了几篇近期的post,很多已经逐渐模糊的当年工作室的点滴又开始重新浮现在眼前,跟你的ID和印象中的样貌重新重叠起来。小弟毕业后一直忝居腐国,啥时候莅临英伦指导工作的时候联系我,请你吃高级黑暗料理哈! XD
@MMX
MMX 啊,别来无恙啊,前两年刚来英国玩了几周,风景不错,映像很好,适合居住,好像治安也比欧洲其他难民国家好点?就是车太难开了,城里面很考验技巧,城郊很多乡村道路晚上直接没有路灯。早知道你还在就提前联系一下,看到加我微信嘛,skywind3000。
就是想给你点个赞?
这么牛逼的大神,留言版居然这么少,可怜我刚开始学习vim,看了神的文章,瞬间醍醐灌顶,飘飘欲仙。
一九九二年就开始写代码了,神啊。
此人是真大佬… 👍👍👍 z.lua 和 kcp 都不错。
你和云风啥关系?
看了你的kcp 慕名而来 赞一下
您好,想使用您开发的vim-quickui,请问https://github.com/skywind3000/vim-quickui/blob/master/test/menu_example.vim要如何配置才能生效呢?我将其放置在~/.vim/autoload文件夹下,未生效。在.vimrc中使用source xx.vim,提示错误,多谢
唉。有点自卑。留个言,在知乎,github看了一圈,感觉自己太菜了。。
留个言吧,表示敬意。
Hi Skywind3000/Lin Wei,
Sending you a note to say thank you for creating the gutentags_plus plugin for Vim. Together with gutentags and tagbar it’s really improved the way I use Vim: it makes every day a little bit easier and is an important part of my workflow almost every hour! People who create Open Source don’t get the appreciation and thanks they deserve – so wanted to thank you for creating it and maintaining it!
As I was looking for your contact details I realised I also another plugin you wrote vim-quickgui. I use it for visual and context menus for plugins and Vim actions where I forget the commands. Another brilliant addition to my Vim experience, that I use every day and makes everything a little easier, faster and smoother!
Best wishes,
Futurile/Steve
Skywind,我想向你请教一下KCP的问题,请问方便邮件吗?谢谢
膜一下大佬
学习 CS 的路上从您的回答和博客学到了很多,非常感激。虽然现在还很菜,希望以后能变得像你一样厉害。
@skywind
大佬,这个群号没了,有新群号么
大佬们还有还有群吗?刚入行一个人闭门造车太难了
「1992年(小学)开始写代码,至今乐此不彼」
林哥,发现一个 typo 乐此不疲
已改。