在Erlang游戏服设计总结http://www.cnblogs.com/rubyist/p/5530575.html里,
我提到我想要的游戏服设计方法,希望以应用做为基础构建块。最近我在学习elixir,它有很多
方便的语法糖以及很好用的库,能够解决我在游戏中开发中碰到的很多繁琐工作。因此我决定用它来做
练手,并期望下个项目中使用它。
游戏服的设计通常涉及如下东东:
- 协议制定
- 客户端接入
- 各种功能
我将以一个简单的打牌游戏来当做elixir练手,希望我能够坚持写完它。我只会想到哪写到哪。
该游戏初步计划功能
- 玩家基础数值 钻石、金币(筹码)
- 简单的牌局玩法2种(为了阐述不同玩法以不同进程建模的目的)
- 任务系统
- 商城系统
- 聊天系统
暂时不知道要做什么,想到什么用什么吧。就这样。
先转入elixir话题,所有的数据结构都以map表示,暂时不用struct,这是另外一个思考点。
在开始编写了点代码后,发现分应用,然后构建独立进程的做法很难处理事物语义。比如一个操作即要扣基础数值,又要扣背包物品,而
这2这分别单独进程,则要做事物语义很困难(似乎不可能)。同时应用构建块的确粒度太大了,又没什么复用性。所以我决定还是采用
玩家进程去加载所有数据,去保证操作原子性。