网络编程学习笔记-1

国庆期间,我在B站游戏开发区知名UP主Voidmatrix的指导下对如何制作联机游戏进行了初步的学习,学习了服务器程序是如何与客户程序进行沟通,初步使用了SDL_net的TCP协议,此篇文章对学习、探索过程的按照时间顺序进行回顾。

阅读更多

卡牌肉鸽开发日志01-游戏的核心玩法及预期设计

大家好啊,在暑期开始之前,一直有在群里讲过自己的计划————开发一款卡牌肉鸽游戏,在经历了漫长期末周后,现在终于正式开工了!

核心玩法

卡牌肉鸽这个门类中有许多优秀的前辈,例如杀戮尖塔、Balatro等等,其中有许多优秀的设计,例如杀戮尖塔费用、抽牌、卡牌攻防之间的关系,Balatro中小丑牌调整摆放顺序影响触发顺序,这些设计让它们具有风格各异的乐趣,提供了重复游玩的价值,我会在设计游戏时参考这些内容。
当然,一昧的模仿优秀的前辈并不能做出一款有意思的游戏,我制作的卡牌肉鸽区别于优秀前辈在于抽牌机制的设计,杀戮尖塔大概有以下几种抽牌的方式————卡牌效果、每回合开始抽牌、药水抽牌,Balatro则是有一个固定的卡牌上限每当出、弃牌时,都会抽牌直到达到上限,我的卡牌肉鸽手牌类似一条履带,有固定的卡牌上限,每此出最左处的牌时都会进行抽牌,举个例子,我出了2、3序号的牌时,不会抽牌,此时若出了序号为1的牌,便会一次性抽3张牌,基于这样的抽牌规则,卡牌效果的设计可以非常灵活,例如可以设计某张牌效果为下一次抽牌时根据抽牌数量造成高额伤害,这样便鼓励玩家做出保留大量空位的出牌策略。(灵感来源于计算机网络的滑动窗口协议)

预期设计

使用单例模式去管理游戏的内容,设计事件类,所有会改变游戏内容的玩家操作发送给事件管理器,由事件管理器进行事件的创建、更新、回收,设计对象池避免反复的创建、回收导致的性能浪费,用数据来描述逻辑,游戏内各种数值的设定通过json文件进行配置,通过随机数生成地图。

游戏评测-Balatro小丑牌

概述

Balatro是一款牌组构筑式类rogue游戏,玩家可以依照德州扑克的出牌规则,通过出牌弃牌两个简单的行为积累分数,当分数高于当前盲注要求的分数时便通过该盲注,每次通过盲注时会进入商店,商店中售卖小丑牌、不同卡包,玩家可以通过购买小丑牌、卡包完成卡组的构筑。

阅读更多

游戏设计知识分享笔记-依赖性

飞鱼丸的个人博客建成啦,欢迎大家参观!点击传送原文

前言

在构思一个新游戏时常常会有许多想法,诸如不同的挑战、系统以及界面,完整的游戏常常会包含上百种机制及子系统,在已经构思好许多子系统后,紧接着我们要开始游戏的开发,现在我们有以下的选择

  • 最简单的模块
  • 最擅长的模块
  • 最具特色的模块
  • 常常能听到的核心玩法

绝大多数游戏开发者都会建议从核心玩法开始开发,但是为什么要这样做呢?

阅读更多

Git使用方法学习

这篇文章既是记录Git的学习过程,同时也是markdown的练习,操作系统为Win11,文章末尾有自我介绍。

Git的安装和初始化配置

  1. 安装Git,Git下载连接,根据自己的操作系统进行选择,下载后运行exe文件,我下载选项暂时全部都选择默认

  2. 检查是否成功安装Git,下载完成后,打开控制面板(win+R 输入cmd),查看Git版本信息

阅读更多