游戏开发之路
描述了一个完整游戏从0-1的开发过程
奋斗ing
最喜欢的一句话:
what's your dream!You got a dream, you gotta protect it!
展开
-
cocos2dx游戏开发系列 目录
整个系列会告诉你从0到1的游戏开发所需要的所有细节,因为本人是在边开发,边发文,虽然不会贴出逻辑内容源码,但是框架内容,与开发思路都会分享出来.有任何问题或者建议,都可以直接评论,我会尽快回复.一. 服务器环境搭建二. 客户端环境搭建三. 客户端MVC框架四. 客户端lua端调用c++五. IO操作模块(配置表读取)六. 待定......原创 2020-05-02 01:23:21 · 751 阅读 · 2 评论 -
游戏开发(十六) 之 性能优化 实例项目优化过程
目前这个塔防游戏没有做任何性能方面的优化,包括游戏内的合图,和子弹一类的缓存池都没有加,所以本篇以实战项目为例,进行逐步优化的工作.每一个步骤都会有详细的说明和帧率、dc的变化,基础的事情就不在叙述,很容易查到.先来说说性能优化,后面说说内存优化.先来张效果图.真机跑,基本上满屏幕炮塔和怪物的时候,最低帧率有10帧,可以说目前是根本无法进行游戏的程度.先看下设备情况:cpu是麒麟659,目前市场价1500,基本属于中端偏下机型.看看目前的情况能优化到什么程度当前:draw_c原创 2020-06-14 20:15:22 · 686 阅读 · 0 评论 -
游戏开发(十五) 之 任务系统 成就系统
结合目前的塔防项目,介绍一下游戏开发中的 任务系统先简单介绍下要讲的任务系统,因为游戏内容不多,所以目前的任务都比较简单,与其说是任务系统,不如叫成就系统.但是就算复杂的MMORPG游戏的任务系统,也可以按照此思路来做.这次我只实现了两大类任务(成就任务、每日任务)先看下任务系统的配置表任务ID 描述 父类型 子类型 目标值 前置任务 奖励ID 奖励数量 ID Txt P_Type S_Type Value Pre_原创 2020-06-10 20:20:08 · 4073 阅读 · 3 评论 -
游戏开发(十四) 之 塔防项目完结篇
第一个项目算是基本完成.基础玩法确定,玩法功能实现,服务端接口联通,记录下过程,后面会说具体功能点:除去前期框架搭建时间,整个项目玩法功能0-1的实现基本用了半个月时间,都是业余时间搞的,总时长没有记录.速度自己还算满意,代码都是从头写的,项目难度也不大,cocos-lua这块也基本捡起来了整体功能如下:客户端1.主场景 2.炮塔 3.子弹 4.怪物 5.其他 炮台摆放 A*寻路 战斗控制 UI 更新 自动.原创 2020-06-06 04:07:28 · 891 阅读 · 0 评论 -
游戏开发(十三) 之 塔防 炮塔技能设计思路
继续上一篇内容,这次说塔防类型游戏的炮塔设计思路图片压缩gif的时候有问题..但是可以将就看.这里我一共实现了5种炮塔的攻击:单体暴击 范围群攻 毒液 减速 整排攻击先说下我之前见过的这类游戏的源码,然后再说下我的做法.看过的几个源码,基本上实现的思路就是:炮塔选中目标 炮塔发射子弹 炮塔控制子弹 子弹打中目标 炮塔根据自身攻击计算损失血量,或者怪物收到炮塔攻击事件,计算血量这种做法看起来还是蛮流畅的,但实际上拓展性不是很好.设计上来讲,这种做法把炮塔与子弹.原创 2020-05-28 01:28:06 · 1734 阅读 · 0 评论 -
游戏开发(十一) 之 前面mvc框架的补充 子view与子model 的管理
补充一下我之前写的关于mvc的东西,之前是边做边写,还没涉及到战斗的逻辑,所以还有一些纰漏1.子 view之前框架内只提供了场景view的讲解,这里说下子view,适用于各类战斗中小单位的使用. 其实代码是没有修改的,这里只说下管理的问题,mvc的核心其实就是解耦,之前的东西将 mvc 3块全部解耦,各做个的事情,在做战斗逻辑的时候,里面的小兵,炮塔,子弹.这类单位,也是使用之前的XXView,但是这个view的管理者我给归为上层view,就是场景view, view只管view ,不会跟其他.原创 2020-05-24 17:54:18 · 301 阅读 · 0 评论 -
游戏开发(十二) 之 塔防 程序设计思路
最近工作较忙,没有大块时间弄,东拼西凑出来点时间,昨天把基础游戏流程做完了,大概说下其中的开发重点.1.数据驱动显示.这点一定记得,很重要.之前看过很多人写塔防的战斗逻辑,几乎都是用moveto,moveby去做,单纯跑起来好像没什么问题,但是这类的实现方式,后期可拓展性太差.打几个比方:策划说,战斗太精彩了,想做个回放功能,你一想没啥难度,做完发现 回放内容跟战斗的时候效果不一样. 老板说,战斗太精彩了,咱们做个联机对战功能吧. *******第一个情况倒是有解决方案,就是去源码修原创 2020-05-24 17:54:27 · 3527 阅读 · 0 评论 -
游戏开发(十) 之 lua 150行代码 实现A*寻路
因为游戏初步定为塔防类型,所以这里需要个简单的寻路算法,玩法对寻路效率要求并不高,所以就实现了个最简单的寻路算法1.只能上下左右走2.未做任何优化,可优化空间较大3.初步测试, 15*15格子 什么都不摆 耗时 2 毫秒 (a*算法在没有障碍物的情况下基本上要遍历所有的路径,所以在这种情况下是最耗时的)(蓝:start 绿:end 红:障碍 黄:路径)代码如下,注释较多,有问题可以留言,代码文件可以直接拿到自己工程里使用XXAStar = {}local function原创 2020-05-17 06:57:23 · 1099 阅读 · 0 评论 -
游戏开发(九) 之 纯 lua 版 热更新 方案
大概看了cocos和quick的更新方案,也挺不错的,但是感觉不太适合自己使用,所以就自己写一套最早做的时候,我使用的是在c++端完全控制,把需要下载的资源以及lua文件下载完成后再调用engine->executeScriptFile("src/main.lua") lua端完全不用处理任何事情然后这次因为重新开发,索性选了纯lua的热更方案,与c++不同的是,你要考虑到代码引用的问题,在更新之前,加载最基础的lua更新文件,然后进行更新,更新结束后再继续走lua的逻辑流程.为了方便平时使用原创 2020-05-11 01:29:40 · 1230 阅读 · 0 评论 -
游戏开发(八) 之 cocos2dx终极屏幕适配方案(实战讲解)
简单说下之前我使用的适配方案,也让大家了解下发展史,后面会贴出具体的操作设置,以及lua代码2013年左右那基本属于很早期cocos了,那个时候我经历过3种关于适配的方法纯代码写界面,刚入行的时候,算是纯苦力输出了 使用cocosbuild,布局ui,虽然少打了不少UI代码,但还是需要手动调整ui 使用cocosstudio,同一个场景,导出3份配置文件,根据不同宽高比,代码调用不...原创 2020-05-06 02:10:59 · 3365 阅读 · 0 评论 -
游戏开发(七) 之 quick-cocos2dx-lua 封装 network.createHTTPRequest
结合我之前的写的cocos2dx中protobuf的使用(游戏开发六),加上这篇文章,可以完美的解决和服务器在http通讯上的所有问题.这里直接封装 quick 提供的network.createHTTPRequest先看代码XXHttp = {}--状态枚举XXHttp.Failed = "Failed" --链接失败XXHttp.Error = "Error" -...原创 2020-05-04 04:25:04 · 789 阅读 · 0 评论 -
游戏开发(六) 之 quick-cocos2dx-lua使用Protobuf
继续开发基础功能:此博客之后的cocos2dx 统一改成Quick-Cocos2dx-Community, 官方网址这两天一直在搞 protobuf 的lua使用, 集成了很多次不同版本的,但是在android-build那块 不知道为什么一直不过,后来看了下 quick-lua 里面已经集成了protobuf,浪费了太多时间了,索性就换成 quick 吧这里我整理了套protobu...原创 2020-05-03 18:05:55 · 779 阅读 · 0 评论 -
游戏开发(五) 之 cocos2dx lua 读取CSV配置表
这一篇说下读取配置表 这一般习惯使用的是csv配置,游戏中会有各种各样的配置,所以这里就需要一个读取配置表的类.直接上源码:local XXIO = {}XXIO.allData = {} --数据数组XXIO.csvPath = "config/" --csv 存储路径XXIO.Init = function() --初始化 读取所有配置表 local readF...原创 2020-05-02 01:14:01 · 592 阅读 · 0 评论 -
游戏开发(四) 之 tolua 实现 lua与c++ 互调 以及详细使用
mvc框架弄完了,接下来开始做lua与原生的调用.看了下博客,发现大部分人写tolua的内容,都是按照官方的教程走了一遍tolua,没有涉及到这个地方的作用,以及具体实现,我这篇文章会将binding的过程简化,详细解释使用方法,主要告诉大家我现在搭框架的时候,为什么会把这个东西列出来,先实现好.本来想直接使用cocos本身自带的 lua调用oc lua调用java,我用了一下,发现接口...原创 2020-05-01 23:57:10 · 649 阅读 · 0 评论 -
游戏开发(三) 之 cocos2dx-lua 的简易 mvc 框架
客户端环境搭建完成,现在开始做开发前关于客户端的准备,我觉得这也是一个项目主程需要解决的事情:一套mvc框架,用于规范流程,快速开发 UI适配 ios android 原生互调 网络通讯(http + protobuf) IO操作 lua热更策略 想不起来了,反正后面我都会一一去实现,到时候在补齐MVC今天主要讲下这个mvc,如果想先看实现,请点击<<传送门>...原创 2020-04-28 02:27:48 · 1260 阅读 · 0 评论 -
游戏开发(一) 之 c#服务端搭建
功能模块:.net core工程创建 (c# ,你可能比较费解为什么选用.net开发,因为开发的是弱联网游戏,而且目前的语言环境来说,只要不是爆款,性能上都够用,.net给我的感觉就是简单,高效) 数据库管理类 (数据库操作) IO类(文件IO操作.资源,配置表等) 公共类(公共通用方法) 简易的Model,Controller开发概念,做主要的逻辑 网络通讯类(目前只做...原创 2020-04-25 23:50:33 · 1982 阅读 · 0 评论 -
游戏开发(二) 之 cocos2dx环境搭建
0.搭建cocos2dx环境这里不做详细说明,其他coder分享经验足够使用了,其实只有几个东西下载cocos2dx 框架 下载JDK 下载NDK 下载AndroidStudio 在AS内下载SDK然后按照官方的步骤进行安装即可PS.如果你遇到问题,也可以留言,我尽量解答1.第一步先跑起来引擎的cpptest工程,这里面涵盖了几乎95%以上的API,不懂的可以从这...原创 2020-04-26 02:06:11 · 437 阅读 · 0 评论