首页
学习
活动
专区
工具
TVP
发布

韩伟的专栏

专栏作者
129
文章
327466
阅读量
163
订阅数
用 PyGame 入门专业游戏开发(四)
根据游戏逻辑,麻将被选中后,是可以再点击桌面上的空位,进行移动的。要实现麻将的移动,需要有以下几点功能需要实现:
韩伟
2023-12-12
1710
用 PyGame 入门专业游戏开发(三)
根据游戏规则,两张相同图案的麻将,如果互相之间没有其他麻将牌被直线阻隔(中间的距离可以无限),可以通过先后点击选择这两张麻将,消除这两张牌。
韩伟
2023-12-12
1320
用 PyGame 入门专业游戏开发(二)
上一篇介绍了一个游戏运行的最基本结构,本篇开始根据一个具体的游戏,做一个游戏关卡。下面要做的是一个叫“推麻将”的桌面玩法。现在介绍一下这个玩法的具体内容:
韩伟
2023-12-04
1570
用 PyGame 入门专业游戏开发(一)
一般来说学习编程都会先写 hello world,然而游戏的 hello world 应该是怎样的呢?这就需要先搞清楚游戏和普通的 hello world 程序有什么不同。
韩伟
2023-11-29
2080
软件模块的几种复用形式研究
这是最“古老”的,也是最常见的软件复用形式。代表软件有 Nginx,Apache 这类,通过修改他们的配置文件,可以让软件的行为有很多的不同。譬如在 Apache 上,通过对 cgi-bin 的配置,可以指定一个自定义的程序,通过 unix 的 stdin、stdout 接口组合出非常复杂的功能。
韩伟
2023-01-04
5620
从 C++ 到 Go
模块管理 可执行程序都声明为 "package main",而不是像 C++ 那样找 main() 函数所在源码 声明为其他 "package xxx" 的代码,会自动编译成  xxx.a,自动打包成静态库比较方便 这是针对 C++ 复杂的 3L(Load, Link, Library) 机制的一个重大修正。在实际开发中,我也比较喜欢把所有的依赖模块都先打包成静态库,然后最终静态链接成一个“几乎没有任何依赖的”可执行文件。而不喜欢通过动态链接依赖操作系统中安装的各种库,因为环境变化太多很容易出问题。 语法差
韩伟
2022-08-26
7910
大世界·生存·建造游戏的体验研究
体验游戏列表: 塞尔达荒野之息 辐射4/辐射76 饥荒 缺氧 Strand Deep Forest Raft HOBO: tough life Grounded 英灵神殿 明日之后 主玩法在游戏中的地位 主玩法一般不局限。在上面各款游戏中,有 fps、3D 动作、2D 动作、回合制,甚至完全没有战斗玩法(《缺氧》)的。因为所有的探索和经营积累,基本都在战斗效果中体现其数值价值,所以主玩法本身没有太多受限的地方。甚至可以说不需要在主玩法的深度上进行特别的加强,只要能配合探索和经营,就能较好的完成其功能定
韩伟
2022-05-31
7790
常见设计模式介绍
由于没有反射,采用模板类进行静态绑定,收到数据之后,根据命令本身的类型参数,进行类型转换
韩伟
2021-12-05
5590
SWIG 官方文档第二部分 - 机翻中文人肉修正
本章简要概述了 C++11 标准的 SWIG 实现。SWIG 的这一部分仍在进行中。
韩伟
2021-09-03
2.1K0
SWIG 官方文档第三部分 - 机翻中文人肉修正
很有可能,您正在阅读本章是出于以下两个原因之一;您要么想自定义 SWIG 的行为,要么无意中听到有人嘟囔着一些关于“typemaps”的难以理解的胡言乱语,然后问自己“typemaps,那些是什么?” 也就是说,让我们先做一个简短的免责声明,即“Typemaps”是一种高级自定义功能,可以直接访问 SWIG 的低级代码生成器。不仅如此,它们还是 SWIG C++ 类型系统(它自己的一个重要主题)的组成部分。typemaps 通常不是使用 SWIG 的必需部分。因此,如果您已经找到了进入本章的方法,并且对 SWIG 默认情况下已经做了什么只有一个模糊的概念,那么您可能需要重新阅读前面的章节。
韩伟
2021-09-03
3.4K0
SWIG 官方文档第四部分 - 机翻中文人肉修正
包装 C 库时出现的一个常见问题是保持可靠性和检查错误。事实是,许多 C 程序因不提供错误检查而臭名昭著。不仅如此,当您将应用程序的内部结构公开为库时,通常可以通过提供错误的输入或以非预期的方式使用它而使其崩溃。
韩伟
2021-09-03
5.1K0
SVN 和 GIT/Perforce 的核心区别
• 不同人修改不同文件,不会有任何提示,对于工作以文件划分职责的人表示很 OK,也是策划配表文件要求写一个“合并”工具的源头。
韩伟
2021-08-05
2.2K0
我的编程格言
任何程序员都能写出机器能理解的代码,但只有好的程序员才能写出人能理解的代码。 改善性能是写程序里面最幸福的部分,在糟糕的代码结构里面修改功能则是最痛苦的经历。程序员不能仅仅把最幸福的部分认为是技术,而因为厌恶痛苦的经历而认为解决这一类问题不算技术。 落后的软件开发效率,和无穷的需求变化之间的矛盾,是软件开发中的核心矛盾;改进软件开发效率的技术,是技术的最高体现。 敏捷开发的价值,在于不断通过开发原型代码,把需求明确的描述出来,是一种开发者和需求方之间的沟通方式 单元测试,以及自动化测试用例,是使用代
韩伟
2021-08-05
4040
关系型数据库在游戏应用中的问题
这些原因,在 CAP 理论上有清晰的定义。由于关系型数据库选择了强一致性和高可用性,就必然在分布式特性无法满足。而互联网应用的特点,就是对于分布式特性的强需求。这种设计上的需求分歧,是导致各种问题的总原因。
韩伟
2021-05-10
1.6K0
使用 Visual Studio Code 开发 LINUX 上 C++ 应用
以前开发 Linux 服务器的程序,会有通过 samba 进行文件保存,或者先在 windows 上编译测试,然后传到 Linux 服务器重新编译测试。这些都不太直接,而且调试起来比较困难。现在很多 IDE 都支持直接编写 LINUX 上的程序了,本文介绍 VSCode 如何完成这个工作。
韩伟
2021-04-01
3.5K0
游戏服务器中常见的数据一致性问题分析
在游戏服务器的开发中,我们经常会碰到所谓“一致性”问题,以及碰到各种为了解决这种问题所做的“方案”,那么,什么是一致性问题呢?其实非常简单,就是有两个客户端进程,都需要修改同一个数据,造成的问题。
韩伟
2021-03-15
1.4K0
游戏分析法(三):核心产品决策
如果要分析一款游戏的基本设定,一般来说,最基本的元素就是“题材”和“玩法”两个部分。这两个方面对于游戏来说互为表里的一体。任何一种玩法,都需要题材的包装,因为大多数玩家不会去玩那些只有一堆色块的组成的游戏,当然,俄罗斯方块是一个特例。而玩法则是一款游戏的核心,因为游戏区别于电影、文学、音乐、积木等等事物之处,正在于可以操作,而且这种操作是有输、赢结果的区分。因为有了操作,玩家才会更加投入,并且从操作中获得一种特别的乐趣。当然现在有大量的游戏的提倡“轻操作”,但这绝不是“无操作”,而是把很多需要频繁的体力操作,换成更多的需要“脑力”运作来做的操作。
韩伟
2019-05-23
1.6K0
游戏分析法(二):感受资料和内在联系
很多时候我们在研究一款游戏的时候,会停留在之前的“表象资料”阶段:我们搜集了很多这个游戏的数据,也写了评测报告,甚至拆解了游戏的美术资源和关卡数据。但是这些还未够,因为所有的这些内容,最后都会形成玩家的“感受”,我们是有必要连同这些感受一起记录下来,并且分析这些感受是如何形成的。
韩伟
2019-05-17
5830
游戏分析法(一):起因和第一层次
有人说中国游戏开发山寨横行,换皮之作遍地都是。作为游戏开发者,有一边骂一边做的,也有埋头做的,但是如果问谁完全没一点“山寨”过,恐怕都不敢拍胸口应承。中国游戏的开发历史,对比日本和美国来说,确实还是比较短的,由于盗版的问题,在出现网游之前,国内的游戏几乎都是亏本经营的状态,从业人员也很少。而在最近10年,国内游戏市场如同核裂变一般的急速扩大,导致游戏开发的人才和知识显得极度缺乏,也是很自然的事情。
韩伟
2019-05-13
1.1K0
教你从头写游戏服务器框架(3)
使用异步非阻塞编程,确实能获得很好的性能。但是在代码上,确非常不直观。因为任何一个可能阻塞的操作,都必须要要通过“回调”函数来链接。比如一个玩家登录,你需要先读数据库,然后读一个远程缓冲服务器(如 redis),然后返回登录结果:用户名、等级……在这个过程里,有两个可能阻塞的操作,你就必须把这个登录的程序,分成三个函数来编写:一个是收到客户端数据包的回调,第二个是读取数据库后的回调,第三个是读取缓冲服务器后的回调。
韩伟
2019-05-08
2.7K3
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档