零、废话

从小学二年级接触电脑,到现在20年有余。游戏玩来玩去还是老游戏更得我心。本人就玩点帝国时代、信长之野望、文明这类,带有经济、策略、战略的游戏。当然,还有例外就是剑侠情缘三,因为是画风优美的武侠题材游戏。而天下霸图是目前我已知的唯一一款武侠经营类游戏。他集合了经营、养成、战略、策略、还是武侠题材,所以比较合我胃口。

然而天下霸图非常老了,大概是读初中的时候出来的,这款游戏为光谱所出,不知道什么原因游戏bug特别多,ai智商低下,游戏有些地方设计不合理。即便如此也挡不住很多老玩家对此游戏的热爱,有不少玩家去破解了这个游戏,去做游戏的mod,尝试去反编译修复一些bug。作为一枚程序员都知道这是多么困难的事情。我想与其去做mod去反编译修复,还不如重新开发。

在我之前曾有一个玩家重写这个游戏,据说用的wpf完成度在80%左右,之后因个人原因放弃了。代码就烂在他手里了。

本人从小学五年级玩QB、初中玩VB、大学玩ASP.NET和JAVA、工作用C++写医疗软件。虽然已经从研发岗位转为了项目管理,3年没怎么正式撸代码了,但是一直以来对撸代码的兴趣不减。为了让这个游戏能符合自己的一些预期玩法,我计划用c++和QT重写这个2D游戏。边学边做完成人生中正儿八经的第一个游戏(小时候写的军旗游戏这些就不算数了)。

事后补充:2018年8月开始的项目,目前2019年12月30日。之前用的QT写的。中间相遇几个网友,强力推荐下,下了狠心改为了u3d版本。一边学一边撸,进度又推迟了。

一、目标

1.1.做到80%左右的相似度

1.2.美工部分尽量都从游戏里抓出来

1.3.在游戏经验部分的主体框架完成的差不多且相对稳定的时候,开放源码

此版本的源码在主体代码不会有更大改动的时候就可以开放源码了,否则可能因为本人游戏开发经验不足,以及代码写的太烂最终很难让玩家介入进来相互配合加快进度。

1.4.每个人心中都有一个属于自己的天下霸图

为了这个目标,除了开放源码,更重要的是开放mod制作的方式,如何让玩家能更好的参与到mod建设中来才是完成这一目标的关键。

1.5.拒绝此版本商业化

任何带着美好初衷的东西,商业化很容易变味儿,最终丧失了他原有设定的乐趣

1.6.完成时间3年

计划3年完成这个事情。平时自己工作上事情也很多,经常出差跑客户,搞招投标,又要管产品,还要经常给人擦屁股。回家还有不到2岁的女儿要带,所以时间不充裕。慢慢做,边做边学就是这样。目前已平均每天抽1-2小时断断续续做了些基础工作,唯有愚公移山了。

二、大致涵盖以下内容

2.1.需求整理、游戏调整需求收集(已整理部分,持续整理中)

2.2.大致的架构设计(已做大致的,没有细分)

2.3.几个大的工作量

2.3.1 地图

(1) 游戏地图坐标系转换(已完成)

使用矩阵,将窗体坐标转换为游戏地图中的栅格坐标、栅格坐标转换窗体渲染坐标

(2) 建立游戏地图规则(已完成)

地图存储、地图读取、地图栅格使用情况

(4) 地图渲染覆盖规则(已完成)

分层覆盖渲染,如何处理栅格和移动的人物关系

(5)建筑物导入画一批房子(已完成)

建立导入建筑物的规则、展现等琐碎

(6) 完成一个地图编辑器

导入画好的地图后,用鼠标选择要修的一些基础建筑花花草草,在地图上绘制建筑保存等

(7) 完成一个小地图,可在地图上切换城市(已完成)

小地图上布局n个城市,城市关联帮派、点击可进行城市切换

demo完成了,后续再优化

(8)地图渲染覆盖问题(已完成)

地图上建筑物相互遮盖的顺序,人物相互这个的渲染顺序

《2d游戏地图渲染图层顺序(1)》

《2d游戏地图渲染图层顺序(2)》

2.3.2 城市

(1)初始化城市(已完成)

城市的地图背景渲染、基础属性、帮派关联等

(2)城市基础属性json化改造

目前占时写死到程序里的,后面从json导入,这样方便mod玩家定制

2.3.3 帮派

(1)初始化帮派(已完成)

帮派的基础属性

(2)帮派基础属性json化改造

目前占时写死到程序里的,后面从json导入,这样方便mod玩家定制

2.3.4 人物

(1)人物动画研究(已完成)

逐帧动画播放

(2)人物基础属性(完成部分)

人物基础属性、行程、修炼武功等等

(2)人物在栅格地图上移动(已完成)

小人可以原地播放动画走路后,需要在地图上完成移动,涉及到小人移动路径与窗体渲染位置的转换计算

(3)路径规划算法(已完成)

采用A*算法做人物移动时的路径选择算法

(4)人物行程安排(完成部分)

计时器去定时处理人物的当前行程计划,包括人物移动、相应的动画变化、相应的声音变化、相应的数值变化、行程安排面板等

(5)人物招聘(完成部分)

改变如下图:

包含人物招聘界面,以及交互。

动态生成被招聘小人儿

2.3.5 保存与读取

(1)保存与读取游戏进度(已完成)

包含帮派情况、城市数据、人物数据。初步考虑直接写文件,如果为了方便可以考虑用MongoDB之类的直接存。

2.3.6 武学体系

(1)武学结构

考虑武学之间的关联性、玩家外部修改的易用性(有可能到时候提供一个UI编辑武学,直接撸json对mod玩家来说也很烦)、武学特效与人物武学动作匹配、武学的威力、武学的消耗、武学的特殊效果等

(2)武学文件存储读取

采用json存储复杂的武学结构

(3)武学体系的可视化编辑(占定)

编辑武学时可直选择小人的动作和武功特效做出绑定关系

2.3.7 物品体系

(1)物品属性

包括图片、名称、是否为某些特殊部位使用、使用效果、生产成本

2.3.8 建筑物体系

(1)建筑物属性(完成部分)

建筑物有什么功效、图片、名称、占位多少、价格多少、人物进来需要匹配哪种造型的动作

(2)建筑物生成(完成部分)

上图是第一个版本,第二个版本如下图:

2.3.9 交易系统

(1)物品交易

基于装备和生产资料的交易,交易单为随机生成

2.3.10 战斗系统

(1)战斗地图

(2)战斗规则

(3)战斗AI

2.3.11 经营AI

(1)修建筑

(2)经营策略

生产计划、围绕习武的配套计划、发展策略

(3)养成AI

重点培养几个高手、武学修炼方向、日常活动计划

2.3.12 战略AI

(1)进攻策略的选择

(2)防守策略的选择

(3)战略要地的识别

(4)结盟关系处理

(5)出兵策略

致曾经的老游戏天下霸图1——重写天下霸图计划相关推荐

  1. 让画面更逼真!这个强化超分辨率GAN让老游戏迎来第二春 | 代码+论文+游戏MOD...

    乾明 发自 凹非寺 量子位 出品 | 公众号 QbitAI 能推动AI落地的,不只有利益,也有兴趣和情怀. 近期就有一群资深游戏玩家,用增强型超分辨率生成对抗网络(ESRGAN)做出了经典游戏的高清化 ...

  2. 俄罗斯自研8核CPU性能实测:能玩几十年前老游戏,下一代「高性能」芯片无人代工...

    Pine 发自 凹非寺 量子位 | 公众号 QbitAI 俄罗斯的自研芯片的性能具体怎么样?最新测评: 采用自研架构的CPU处理器都能运行起几十年前的老游戏了. 这次测试是油管博主Elbrus PC ...

  3. 天下3最新服务器列表,天下3_网络游戏专区_腾讯游戏频道

    <天下3>游戏内置语音系统是天下3联合网易CC开发团队献给玩家的又一大礼.其优势在于一键启动,不用下载安装,安全快捷.同时内置语音使用网易CC专有服务器,不会对游戏造成影响,保证游戏的稳定 ...

  4. 一个十几年前做的老游戏--隋唐演义

    春节前,给小侄儿买了一个可以模拟运行任天堂游戏的mp4,好像叫什么PMP,呵呵,小侄儿很喜欢. 不过,光有游戏机,没有游戏不行啊,我就在网上一通翻找,找了一大堆任天堂的nes格式模拟游戏,给他灌进去. ...

  5. 疫情期间自我修炼, 搞一搞老游戏资源解包

    疫情期间自我修炼, 准备搞一搞老游戏资源解包, 修旧利废,聊以自慰.首先对不住的是大雨资讯的<大富翁>系列,挑了几个感兴趣的解包完毕: 1-3是DOS版,没什么好看. 4太难看,决定从5开 ...

  6. 老游戏的新生:探究二十年前的经典游戏为何再次风靡

    随着科技的不断进步和游戏产业的飞速发展,我们每年都能玩到各种新的.惊奇的游戏.但是,在这个繁华快速的行业中,却时常有一些老游戏顽强地生存下来,并且在很多人心中再次引起了巨大的追捧和热情.这些经典游戏往 ...

  7. 30005 rust_Steam三连冠老游戏《腐蚀(RUST)》为什么突然火起来了?

    Steam新一周(1月18日-1月24日)销量榜公开,<赛博朋克2077>跌落至第五,<荒野大镖客2>前进到第六,而第一人称僵尸生存网络游戏<Rust>已经三连冠了 ...

  8. 在 Ubuntu 中安装 DOSBox 玩老游戏

    了解如何在 Ubuntu 中安装 DOSBox,并配置它来玩旧式 DOS 游戏. DOSBox 是一个自由开源的操作系统模拟器,可以在现代 Linux 系统中运行.它有几个组件可以模仿旧的硬件,以运行 ...

  9. 五子棋游戏Java代码简单实现(含活动图和类图设计)

    五子棋游戏Java代码简单实现(含活动图和类图设计) 文章目录 五子棋游戏Java代码简单实现(含活动图和类图设计) 活动图设计 类图设计 代码实现 总结 OOA和OOD设计 代码设计 可改进部分 活 ...

最新文章

  1. Tensorflow【实战Google深度学习框架】用卷积神经网络打造图片识别应用
  2. sql索引从入门到精通(十亿行数据测试报告)
  3. Java servlet一个最简单的例子
  4. iview select选中值取值_iView的Select选择框
  5. 实时计算pv/uv Demo
  6. 低代码发展专访系列之四:低代码平台会带动企业的组织变革吗?
  7. (33)FPGA面试技能提升篇(MIPI接口)
  8. Unity Shaders and Effects Cookbook (3-4) 使用高光贴图
  9. IDEA2019安装及PJ
  10. 实现微信扫描小程序码携带参数和路径跳转页面
  11. java开源即时通讯软件服务端openfire源码构建
  12. 电脑桌面快捷方式更换图片
  13. 通用数据保护条例GDPR今日起正式生效,不会影响机器学习
  14. drill apache_大数据SQL:Apache Drill查询执行功能概述–白板演练
  15. 【Python】Scrapy完成电影信息爬取并存入数据库
  16. 计算机网络课程见习报告
  17. SONiC-P4实验搭建及研究SONiC管理的交换机
  18. macOS 常驻桌面便利贴应用
  19. 狭义相对论最基础的知识
  20. 如何关闭苹果笔记本win8系统下的触摸板

热门文章

  1. 人工智能有多吃香?人工智能岗位薪资水平曝光(附赠37G学习资料大礼包)
  2. 临沂中考计算机试题,临沂市中考信息技术操作题指导
  3. python字典的遍历方法_python字典遍历的方法有哪些?
  4. MQ系列传感器怎么用,mq2传感器引脚怎么接
  5. 算法设计与分析_算法导论(CLRS)骨灰级笔记分享:目录
  6. android 纵向抽屉,Android导航抽屉垂直边框
  7. 分辨mqtt在线与离线_最全视频下载方案,100%下载所有在线视频!
  8. 修改taro-ui的样式,在自定义组件中使用taro-ui,修改ui框架样式
  9. AIT,AIM进口FC协议仿真卡,国产替换效率高
  10. 模拟LED屏幕文字滚动开发和悬浮