炉石传说 C# 开发笔记(BS模式Demo)
原来这个项目,一直想做成CS模式的,BS模式对于炉石这样的游戏来说比较困难。
暴雪到现在也只出了 Windows 和 iPad版本的炉石,最大的问题还是在于如何在小屏幕下,实现最佳的客户体验。
Windows和iPad的屏幕不会太小,所以操作起来不会出现很大的问题,但是如果是手机的话,对于操作的客户体验是一个巨大的挑战。
iOs系统还可以限制iPad上运行,不能在iPhone上运行。Android的话,估计很难区别到底是Pad还是Phone。
(iPhone通过特殊手段还是可以运行炉石的)
如果是BS的炉石,还需要考虑浏览器的兼容性,特效能不能很完美的再现等等,也相当复杂(IE6也想跑炉石??)
这篇文章只是一个Demo的介绍和一个志愿者招募的序章,所以,也不会介绍具体的技术。
(其实还在开发中,很多东西需要慢慢整理)
这一次代码更新的非常多,将一个原本为CS设计的卡牌引擎修改为CS/BS共用的引擎,是一个非常困难的工作。
同时原来的游戏数据都是保存为XML的,XML序列化的时候,由于NET版本的问题,可能在旧的NET4.0中出现序列化的错误
所以,这次增加了JSON数据格式的支持,这样的话,应该不会有问题了。(Newtonsoft.Json.dll)
BS的话,使用了HTML5的WebSocket来实现双工的通讯,支持服务器向浏览器推送消息。(使用了开源项目Fleck)
图形的话,由于Canvas不支持DOM操作,所以使用了 SVG 来绘图。(原本我对于Javascript没有好感,不过在写了这个项目后,渐渐觉得将Js当作C#来写,也蛮有趣的)
用到了Jquery 和 JqueryUI 作为对话框的实现方法
服务器界面:
浏览器界面
我想找一两个合作者,一起完成这个项目
1.能够确保有足够的时间和热情进行开发,三分钟热度的请绕道
2.需要一个组织能力强的人来分配和协调工作,如果你组织能力强,我也可以听你指挥,最好精通Git的协同工作。Git我不熟悉,只会简单操作。
3.需要一个专门做文档的同志,将这个项目的代码转化为文档,需要细心的人做这件事情。如果是能力特别强的大学生,可以作为毕业设计和求职的材料。
4.考虑为这个项目做一个网站,以后开发工作的展开,BUG的报告,向大众介绍这个东西,都可以托管在网站上。
希望这个夏天能做完它。Git地址 https://github.com/magicdict/HearthStone
估计现在还缺一些文件没有提交上去,谁能编译一下告诉我结果吗
炉石传说 C# 开发笔记(BS模式Demo)的更多相关文章
- 炉石传说 C# 开发笔记(6月底小结)
炉石传说的开发,已经有30个工作日了. 关于法术的定义方法,有过一次重大的变更:法术效果是整个炉石的核心,正是因为丰富的法术效果,才造就了炉石的可玩性. 原来构思的时候,对于法术效果没有充分的理解,所 ...
- 炉石传说 C# 开发笔记
最近在大连的同事强力推荐我玩 炉石传说,一个卡牌游戏.加上五一放一个很长很长的假期,为了磨练自己,决定尝试开发一个C#的炉石传说. 这件事情有人已经干过了,开发了一个网页版的炉石,但是貌似不能玩... ...
- 炉石传说 C# 开发笔记 (续)
炉石传说山寨的工作一直在进行着,在开发过程中深深体会到,对于业务的理解和整个程序的架构的整理远比开发难得多. 在开发过程中,如果你的模型不合理,不准确,很有可能造成代码的混乱,冗余,难以维护和扩展性比 ...
- 炉石传说 C# 开发笔记(BS上线尝试)
昨天买了一个月的1G 1核的服务器,由于不是新用户,所以没有享受到阿里的6个月免费的优惠. (阿里脑残,为什么不对于续费或者升级免费呢?) 在服务器的通讯上面已经OK了,完全绕过了ASP.NET,就是 ...
- 炉石传说 C# 开发笔记 (源代码整理公开)
源代码已经整理过了,去除了不需要的项目. 注意:以前文章中出现过的Git已经变更过了,请以前关注过,Fork过的朋友,重新Fork一下. GitHub地址 卡牌XML文件的做成:(Git上面是没有XM ...
- 炉石传说 C# 开发笔记 (法术篇)
炉石的设计,最核心的内容是法术效果. 法术卡牌,无疑是法术的集中体现,但是,法术效果除了在法术卡牌之外,也不除不在. 随从的战吼,亡语,奥秘的揭示等等都是法术效果的体现. 法术卡牌在炉石里面有很多种( ...
- 炉石传说 C# 开发笔记 (初版)
法术资料说明 1.资料的准备 从GitHub上面获得的工程里面,是没有XML卡牌资料配置的,这个是需要你自己生成的. 打开炉边处说的客户端 然后按下 卡牌资料生成 将炉石资料文件设定为 Github ...
- Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示
前言 在ubuntu上实现MPlayer播放器播放音乐. Demo Mplayer MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布.此款软件 ...
- stm32开发笔记(三):stm32系列的GPIO基本功能之输出驱动LED灯、输入按键KEY以及Demo
前言 stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的. 本章讲解使用GPIO引脚功能驱动LED灯和接收Key按钮输入. STM ...
随机推荐
- 可拖动的DIV
在做WEB UI设计的时候,拖动某个HTML元素已经成为一种不能忽视的用户界面模式,比较典型的应用例子就是Dialog,一个元素是怎么实现拖动的呢?其实原理非常简单,要想实现首先得了解几个基本知识. ...
- Git学习笔记(7)——多人协作
本文主要记录了,多人协作时,产生冲突时的解决情况. 多人环境创建 首先我们需要模拟一个多人环境.前面的Git的学习都是在Ubuntu上面,现在我们也搭建一个win环境吧.安装win环境下的Git,很简 ...
- 我心中的核心组件(可插拔的AOP)~调度组件quartz.net
回到目录 quartz.net是一个任务调度组件,它可以灵活的设置你的调试方式,按时间,按日期,按周期都可以很容易的实现,quartz不仅可以用在web中,而且还可以部署在winform,winser ...
- WebKit技术内幕
WebKit技术内幕(浏览器内核|渲染引擎| HTML5| Chromium项目Committer重磅作品) 朱永盛 著 ISBN 978-7-121-22964-0 2014年6月出版 定价:7 ...
- vue-cli需要的包
vue-cli需要的包 npm install webpack webpack-dev-server --save-dev npm install vue-loader vue-html-loader ...
- KnockoutJS 3.X API 第三章 计算监控属性(5) 参考手册
计算监控属性构造参考 计算监控属性可使用以下形式进行构造: ko.computed( evaluator [, targetObject, options] ) - 这种形式是创建一个计算监控属性最常 ...
- Unity3D Editor模式下批量修改prefab
最经遇到一个需要批量修改已经做好的prefab的问题,查了一些资料最终实现了但是还是不够完美,通过学习也发现unity的编辑器功能还是非常强大的.废话不多说直接上代码: [ExecuteInEditM ...
- PNG使用技巧 PNG的使用技巧
PNG的格式和透明度 这个Fireworks会比较清楚,打开Fireworkd优化面板,可以清楚看到png有3种不同深度的格式:png8.png24.png32. 其中,在优化面板选择png8,可发现 ...
- Parametric Curves and Surfaces
Parametric Curves and Surfaces eryar@163.com Abstract. This paper is concerned with parametric curve ...
- HDU 1007Quoit Design(最近点问题)
最近点问题:二维平面中有n(n很大)个点,求出距离最近的两个点 思路:因为n的值很大,所以暴力和dp都行不通了吧!分治法就挺好的. 将区间一半一半的分开,直到分成只有一个点或两个点的时候! 对于只有两 ...