结对和团队项目建议 - 黄金点游戏
2016-10-18 13:27
281 查看
背景
作业
这个游戏可以变成一个持续发展的团队项目:1)在课堂上玩,用Excel 纪录成绩。做成简单的单机版游戏,锻炼基本编程
2)两人合作,做成简单的 client/server App,用户从网页/手机上输入数字,并算出获胜者。 技术讨论的议题有:
前面写的模块有多少是可以重用的? 为何不能重用?
研讨 client/server 的API 应该怎么设计,如何认证用户?
如何开发client App
为了保证游戏按时完成,如何在服务器/客户端做时钟同步?
如果获得第一名的多个用户的数字相同,如何排定次序?(提示:可以考虑提交时间,历史成绩)
3)如何设计测试用例, 保证server 的正确性, 效率, 压力测试 (如何模拟上千个客户端,从不同的端口,提交不同的数字?)
4)原来我们是让用户从客户端输入数字, 看到结果之后,再玩下一轮。用户玩这个游戏是有一定的策略的, 我们如何能把这个策略变成程序,成为人工智能呢? 能否利用 AI 算法提交数据?
client 程序能访问所有以前的历史记录, 它再推测下一个数字是多少, 然后提交。
这里面也有很多问题要克服,例如,如果数字很小 0.00000000000000000001, 下溢了, 怎么办?
应该提交的是 double, float, 还是 string 类型?
5) 全班同学每人写一个程序, 玩一万轮, 服务器要能快速处理。
挑战:
如何在服务器和客户端都做到高效, 能多少秒钟就比完一轮, 并把数据传给所有客户端? 客户端是通过什么接口来接受比赛数据,或者从某个公共来源去读取数据?
6) 修改规则, 每个用户每次可以提交两个数字, 其他规则一样,再玩一万轮。
挑战:这个时候,有程序会不会提交一个大的数字,来保证自己的另一个数字比较接近 golden number? 你的AI 程序如何在这个新规则下占得先机?
7)让互联网的用户可以通过网站注册, 然后用某种 Domain Specified Language 写这个AI 的规则, 然后他们也可以通过网站玩这个游戏。
挑战: 设计这种 DSL,并解释执行。
例如, DSL 可以支持下面的规则:
① 我每一轮都提交上一轮所有数字的平均值 * 0.618 * 0.618
② 如果我上一轮的提交的数值小于当轮的 golden number,那我的下一个数字要是上个数字的两倍
8) 扩展到全球,服务器能 24/7 不断主持游戏,并记录成绩。
挑战:这个过程就能练很多技能和软工设计的功夫
相关文章推荐
- (第五周)结对项目——黄金点游戏
- 黄金点游戏二人结对项目总结
- 黄金点游戏-团队排名
- Team--时代团队PC端游戏冲刺计划完成与项目远景规划
- 团队编程项目作业2-象棋游戏设计文档
- 团队项目建议 - 英语学习 App
- 团队项目_动作游戏demo(1)
- 游戏开发团队项目经理的专访--- 徐丹
- 第5周团队作业1:项目建议
- 结队项目(黄金点游戏)
- 团队项目-游戏引擎的考察
- 团队开发项目客户端——游戏子系统的设计(中)
- [建议] 团队内部是如何进行项目管理和协作的?具体流程如何?
- 黄金点游戏 - 团队排名
- 对其他团队的项目的意见或建议
- 艾伟也谈项目管理,给敏捷团队中的架构师的10个建议
- 团队-象棋游戏-项目总结
- 结对项目之五子棋游戏
- 团队开发项目客户端——游戏子系统的设计(上)
- 【游戏方向】近期关于项目团队和小公司产品策略的一些想法