好多次加班后坐的士回家,副驾驶座位后内嵌的显示屏正好在播放一个美食节目,内容就是一个着装怪异的厨子把各种食材分门别类地摆在你面前,然后用小小的锅碗瓢盆慢慢的做出很精致的够一个人吃的分量的各种美食,做好之后你再看着这个厨子一个人在那慢悠悠的吃,嗯...,神经质的感觉,这个节目叫做“一人食”,根据这个名字,结合我接下来想要做的事情,就把这套帖子叫做【JD的一人戏】吧——我一个人完成的一台戏。

  好多人喜欢玩游戏,但是未必知道一个游戏研发团队的组成结构,或者说一款游戏在研发中会有哪些人要去做哪些事,在国内一个标准游戏公司项目都会具备以下五个部门:

  策划、前端程序、后端程序、美术、测试,接下来我会一个人把这五个部门的事情都干了。

  翻看自己发帖记录,来博客园已有六年,最近不知怎得夜不能寐,其实我是属于躺下立马就着的那种,不是睡不着,而是不想睡,近段时间,每晚到了9点半给宝宝洗澡,然后坐床上给她读两本儿童书,等她睡着差不多正好10点,然后踮着脚来到书房开始做一些自己的事情。

  已经两岁的宝宝很喜欢一部粘土动画叫做《小羊肖恩》,该动画由阿德曼动画工作室和英国广播公司携手创作,除了电视剧版还有电影版。可以说是老少皆宜,我本人也非常喜欢,在和爱人结婚之前我就已经关注该动画了,记得第一次在电视上看到该剧应该是09年在老家过年,大年初几的早上,打开电视发现在播,正在忙着摆糖摆花生瓜子的老爸和我一起看了一会,边看边哈哈笑,到了2011年左右,已经发现市面上有游戏采用小羊肖恩里的人物作为游戏角色了,玩过之后不喜欢,不好玩。当时自己心想这么好的一个农场场景,这么些可爱的人物角色,不仅有小羊羊们,还有三只又坏又可爱的猪猪,管家狗狗,憨厚呆笨的农场主,大力士牛,吃货野羊,鸡鸡鸭鸭鸟鸟......, 如果我要制作一款游戏,能用上这些场景和角色,伴随着这些材料来思考程序如何编写,方案文档如何划分,美术资源如何制作,那么制作此游戏的过程应该是蛮好玩的一件事情。

  到这里读者朋友们知道我接下来要做的事情了:独自制作一款题材是《小羊肖恩》的游戏。很多很多次,上下班的地铁上、吃饭时、床上躺着时,在思考这个事儿。然而想法一直有,万事开头难。这个想法一直拖着没有行动。

    乘着这次祖国生日7天假期,感觉是时候启动自己的小羊项目了,剧中有一集是羊羊们把一颗大白菜当成足球来了场足球赛,狗狗是裁判,三只猪猪不停的捣蛋干扰比赛,嗯,那我就做一个小养踢足球题材的游戏。

  入行到现在一直做游戏前端开发, 并没有服务端开发的实际经验,不过可以做服务端开发的语言一直在使用,比如C++,java,php,和当前所在公司项目用来写编辑器解析的golang。对golang的学习和使用,补上了自己在服务端开发这块的欠缺。

  我希望小羊游戏可以通过点击一个链接就可以在浏览器上玩耍,所以前端采用html5技术,我也希望好朋友们能够和我一起玩,那么就得有后端支持,后端采用golang,前后端通信采用websocket协议,美术从网络现有资源里截取,部分找不到的资源自己画。

=======================================================================

游戏分三个界面:

如下三张图,依次为登陆界面,创建角色界面,游戏界面

  

 

对于之前没有写过后端逻辑的我来说,把上面所提到的逻辑写出来后觉得小有成就,我模拟多个玩家动作,开了多个浏览器页面来进行登陆、创建角色、下线操作,就可以看到别的页面新玩家上线、下线和准备提示。激动。

下一篇就来讲讲实现上面三个界面的代码部分。

【JD的一人戏】之"小羊踢足球"第一篇的更多相关文章

  1. 微信小程序教程(第一篇)

    目录 第一篇小程序概述 第二篇如何注册接入小程序及搭建开发环境 第三篇小程序的架构及实现机制,信道服务及会话管理 第四篇小程序开发基本框架及其限制与优化 第五篇小程序开发项目实例,测试及发布 .... ...

  2. 小BUG大原理 | 第一篇:重写WebMvcConfigurationSupport后SpringBoot自动配置失效

    一.背景 公司的项目前段时间发版上线后,测试反馈用户的批量删除功能报错.正常情况下看起来应该是个小BUG,可怪就怪在上个版本正常,且此次发版未涉及用户功能的改动.因为这个看似小BUG我了解到不少未知的 ...

  3. Javascript 母羊生小羊问题,递归

    农场买了一只小羊,这种羊在第一年是小羊,第二年的年底会生一只小羊,第三年不生小羊,第四年的年底还会再生下一只小羊,第五年就死掉了. 要计算N年时农场里有几只羊. [凡是碰到“一生二.二生三.三生万物” ...

  4. JAVA课程设计——“小羊吃蓝莓”小游戏

    JAVA课程设计--"小羊吃蓝莓"小游戏 1. 团队课程设计博客链接 http://www.cnblogs.com/HXY071/p/7061216.html 2. 个人负责模块或 ...

  5. Bugku - CTF加密篇之聪明的小羊(一只小羊翻过了2个栅栏)

    聪明的小羊 一只小羊翻过了2个栅栏 KYsd3js2E{a2jda}  

  6. Bugku练习题---Crypto---聪明的小羊

    Bugku练习题---Crypto---聪明的小羊 flag:flag{6fde4163df05d900} 解题步骤: 1.观察题目,下载附件 2.根据题目描述,判断是栅栏密码,位移2位,白给题,上网 ...

  7. Bugku CTF练习题---加密---聪明的小羊

    Bugku CTF练习题---加密---聪明的小羊 flag:KEY{sad23jjdsa2} 解题步骤: 1.观察题目,发现其中的信息 2.经过题目判断,得知该题属于栅栏密码的一种,并且介绍中表明了 ...

  8. 当会打王者荣耀的AI学会踢足球,一不小心拿下世界冠军!

    难得的元旦小假期,没有什么比得上在慵懒的冬日艳阳下放松自己,拿起手机,叫上了许久未一起作战的小伙伴,到王者荣耀中激战了一番,仿佛又回到了当年那个年轻的自己. 厉害不,毕竟当年DD也是王者五十星的水平, ...

  9. 《微信小程序七日谈》- 第一天:人生若只如初见

    <微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 微信小 ...

随机推荐

  1. 解决Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    0 Problem 电脑重启后用python的MySQLdb连接数据库报错 Can't connect to local MySQL server through socket '/tmp/mysql ...

  2. LeetCode: Next Greater Element I

    stack和map用好就行 public class Solution { public int[] nextGreaterElement(int[] findNums, int[] nums) { ...

  3. Nginx 301与302配置

    说明 1.首先看一个完整代码示例,关于nginx 301 302跳转的. 301跳转设置: server { listen 80; server_name 123.com; rewrite ^/(.* ...

  4. System.load 和 System.loadLibrary详解

    System.load 和 System.loadLibrary详解 1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件.在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI ...

  5. 查看linuxCPU信息

    linux 下查看机器是cpu是几核的 几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核(假设cpu ...

  6. select 下拉框 设置值

    function setSelectOption(objSelect, targetValue){ if(objSelect){ var options = objSelect.options; if ...

  7. JQuery -- Validate, Jquery 表单校验

    1. Jquery 表单验证需要插件 jQuery validation 1.7  ---验证插件需要:jQuery 1.3.2 或 1.4.2版本 http://jquery.bassistance ...

  8. 编写第一个springboot应用

    1.1.1.   设置spring boot的parent <parent> <groupId>org.springframework.boot</groupId> ...

  9. 为什么font-size推荐使用具体数值?

    1.font-size的单位 font-size通常用的单位是px/em/rem,px就不说了,em/rem 主要用在移动端,原因的根据根元素大小进行适配,简而言之,em相对于父级定义基础字号,rem ...

  10. C++(十五) — sizeof 运算符

    1.基本数据类型 sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小. sizeof 运算符可用于获取类.结构.共用体和其他用户自定义数据类型的大小. 使用 sizeo ...