Hellgate | 前期准备

学习 Play framework 一年有余,官方文档基本翻遍,百无聊赖之下,想要做一个文字页游。

其灵感源于学生时代的一款游戏,那时智能机才刚刚兴起,每天乐不思蜀地玩着,非常有意思。

前期准备

  • 预期目标
  • 环境搭建

一、预期目标

内容不可能完全一致,但游戏的基本玩法和世界观应该坚持,可以适度做一些优化,短期内应该定位于架构体系和灵活扩展,以便未来能够基于此做得更好,至少可以从其他游戏借鉴更丰富的元素。

  • 1.0 版本完全模仿
    • 限制为 100 级(未转生满级 800 级,转生满级 900 级)
    • 基础内容完整(道具、怪物、职业、任务、等级、副本、商城、货币、爆率……)
  • 1.1 版本优化界面
    • 限制为 200 级(开始参与更深层次的体验)
    • 提供 APP 版本(主要是 Android,通过 Restful API 玩耍)
  • 1.2 版本优化玩法
    • 限制为 700 级(需要解除封印才能到 800 级)
    • 职业技能平衡(实施自己对游戏的理解)
  • 1.3 -- 2.0 版本待定

二、环境搭建

  • 云服务器(可选)
  • 生产环境(可选)
  • Git 仓库
  • 开发环境

2.1 云服务器

云服务器一般不是刚需,所以单机的话,可以跳过 这部分内容。

为了节省篇幅,这一步已转移到:Web 开发 | 云服务器

2.2 生产环境

如果没有 云服务器,这一步 可以跳过

部分软件不推荐直接以 root 用户运行,所以应该创建一个普通用户。

提示:如果你已经有了 普通用户,可以不用再创建,切换过去即可。

建立一个名为 mrzhqiang 的用户:

useradd mrzhqiang

passwd mrzhqiang

提示,你应该将上面的 mrzhqiang 替换为你喜欢的 用户名

为了能执行更多操作,按照 /etc/sudoers 中的指引:

/etc/sudoers.d 目录下创建 mrzhqiang 文件:

cd /etc/sudoer.d/

touch mrzhqiang

visudo mrzhqiang

mrzhqiang 文件,增加以下内容:

mrzhqiang  ALL=(ALL)  ALL

SSH

SSH 用来远程访问云服务器,一般来说,CentOS 7.4 内置并启动了 SSH Server,现在 Windows 10 又自带 OpenSSH Client,符合情况的话可以 跳过 这一节。

其他情况,请参考:Linux 在 Windows 下 通过 SSH 访问

OracleJDK

OracleJDK 提供给 Play 编译首次访问接口时的相关代码,另外 CassandraElasticsearch 也都依赖 JDK 环境。

为了节省篇幅,这一节已转移到:Linux | Oracle JDK

Git

Git 作为代码版本管理工具,可以让线上环境保持稳定代码,一旦出错立马回退版本。

为了节省篇幅,这一节已转移到:Linux | Git

Nginx

服务器一般安装多个 Web 应用,在占用多个端口的情况下,使用 Nginx 来保证不同子域名映射到各个应用。

为了节省篇幅,这一节已转移到:Linux | Nginx

Redis

不仅仅用于缓存和全局变量,Redis 其实非常强大,推荐入手《Redis 实战》这本书。

为了节省篇幅,这一节已转移到:Linux | Redis

MySQL 或 Cassandra

MySQL 对于中小型应用来说,足够成为第一梯队选择,但它很难保证数据量上来的同时,查询速度保持稳定,特别是设计关系纠缠不清的状态下,查询明显是一件难以保证性能的事情。

为了节省篇幅,MySQL 的安装已转移到:Linux | MySQL

使用 Cassandra 的话,你不用关心数据之间的关系,即使再大的数据量,也不会导致查询缓慢,并且具有良好的扩展性,利用集群你可以建立多个数据中心,假设有一天你的某一个数据中心失火,服务器宕机,也不至于你的网站崩溃,甚至不可访问。

为了节省篇幅,Cassandra 的安装已转移到:Linux | Cassandra

但实际上,MySQL 还是强大得多,Cassandra 的使用者还是太少。

2.3 Git 仓库

GitHub

一般我们将项目丢在 GitHub 上,可它有两个不稳定的地方:其一,服务器在国外,偶尔会访问失败;其二,最近被微软收购了,可能无法再保持中立。如果你不觉得这是缺点,那么你可以申请一个账号,然后创建 Git 仓库,这也需要你在本地机器上安装 Git 环境,才能正常开发。

申请账号页面:

输入用户名,邮箱,密码,即可创建。可能还需要邮箱验证一下,而这个用户名将是你的 GitHub 社交名字。

登陆成功页面:

在页面左侧看到上图中的按钮,点击即可进入创建仓库页面:

  • Repository name
    仓库名字,一般来说是全小写,并且不能与 自己账号内的其他仓库名字 发生冲突。

  • Description
    仓库简介,这是可选的操作。

  • Public or Private
    公开状态/私有状态,一般来说是公开状态,私有需要付费使用,所以需要慎重考虑是否使用 GitHub

  • Initialize this repository with a README
    初始化仓库的 README.md 文件,将作为整体介绍展示出来。

  • Add .gitignore
    忽略策略,表示忽略项目中的其他文件,将不会加入到 Git 仓库,选择 PlayFramework 就好。

  • Add a license
    授权许可,表示此项目的许可范围,一般是 Apache License 2.0 许可,这基本是开源项目的默认方式。

这就完成了一个 Git 仓库的创建:

码云

码云 是国内的开源社区,相对 GitHub 来说,它弥补了访问速度的问题,但中立性有待时间考验,如果 码云 坚持为开发者服务,那么它将是最好的选择,因为不仅可以创建公开项目,还可以创建私有项目。

注册页面:

相对 GitHub 来说,它有明显的亲切感:

并且可以设置私有项目,这是比较吸引我的地方,但它也有国人的明显风格:

如果不是滥用 Git 仓库,纯源代码很难达到 5 个 G 的总容量限制,而私人也不可能拥有超过 1000 个项目,其他限制与 GitHub 无二,所以追求速度的话,推荐选择 码云

提示:也可以用 GitLab 自己搭建私有的 Git 云,但它需要至少 4 Gb 的内存,请知悉。

2.4 开发环境

Git

Windows 系统安装 Git 非常简单,下载下来双击即可。

附带的 Git Bash Here 还可以作为 SSH Client 使用:

为了方便上传代码到 GitHub,需要生成一下 ssh KEY,为了节省篇幅,具体操作不再撰述,请参考 GitHub 官方教程

Oricle JDK

这里同样选择 JDK 1.8.0_171 版本,在 Windows 上就是双击安装,注意看是不是 64 位版本。

IntelliJ IDEA

这里参考 【Play framework 学习笔记】、新手入门 的【萌新入门体验】部分,IDEA 是必备的神器。

便捷工具

Web 开发需要一些便捷工具,用来验证各个接口。

特别是作为一个文字页游,必须要在手机上有特别好的表现,那么 Opera 是最好的选择。

而提供给 APP 端的接口,可以用 Postman 来处理,这是一个非常强大的 HTTP 工具。

最后可能还需要在 Chrome 中安装一个 Json Handler 插件。

以上前两个都是下载安装就能玩耍的,不必靡费口舌,而对于 Chrome 插件来说,需要自备梯子,然后搜索安装即可。

总结

现在,前期的 准备工作 已经完成,接下来进入 计划工作 时期,它将包括两个方面:

其一,针对开发细节的考虑,需要明确的一下 架构体系

其二,安排开发进度的周期,至少每周都要推进一点,开发计划 不能只是一个计划。

2019-08-27 更新:学习了 AngularJS 之后,需要将前后端分离一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,014评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,647评论 18 139
  • 这里附下简介:本小白属于古风控,犹爱古风歌曲,又钦羡浪漫主义大诗人李白,所以取河图的歌曲《长安李白》作为昵称,并无...
    長安李白阅读 724评论 21 7
  • 透过玻璃,看窗外的雨景 静静聆听,这细腻的雨声 落雨声,竟如此动听 迷住我的魂魄,拨乱我的心弦 奏出一曲,名曰思雨...
    清诚和弃子阅读 657评论 0 0
  • 本文原创首发于公众号“二更食堂”。 我妈有时候跟我爸斗嘴,模式常常是这样的: 人家谁谁谁,回家不仅做家务,脾气还特...
    明月说阅读 1,025评论 0 3