炉石传说 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)

时间: 2024-11-05 20:45:06

炉石传说 C# 开发笔记(BS模式Demo)的相关文章

炉石传说 C# 开发笔记(BS上线尝试)

昨天买了一个月的1G 1核的服务器,由于不是新用户,所以没有享受到阿里的6个月免费的优惠. (阿里脑残,为什么不对于续费或者升级免费呢?) 在服务器的通讯上面已经OK了,完全绕过了ASP.NET,就是单纯的服务器和浏览器在通讯,页面也只是静态的页面,纯HTML5 + JS. 通讯是WebSocket,绘图SVG.不知道为什么,对于固定的文字,UC的文字绘制是OK的,对于JSON反序列化的对象,所有的绘制都是有问题的. 初步怀疑是由于使用了汉字,然后没有设置编码,造成了JS的本地反序列化不对. 服

炉石传说 C# 开发笔记

最近在大连的同事强力推荐我玩 炉石传说,一个卡牌游戏.加上五一放一个很长很长的假期,为了磨练自己,决定尝试开发一个C#的炉石传说. 这件事情有人已经干过了,开发了一个网页版的炉石,但是貌似不能玩.... http://cnodejs.org/topic/529c1366a6957a0809485f3d 如果这位同志看到这篇文章,请一定和我联系!! [email protected]或Q我377372779 第一天 开始学习炉石传说的玩法,最好的方法是不停的玩游戏. 一个应用是否逻辑清晰,取决于你

炉石传说 C# 开发笔记(6月底小结)

炉石传说的开发,已经有30个工作日了. 关于法术的定义方法,有过一次重大的变更:法术效果是整个炉石的核心,正是因为丰富的法术效果,才造就了炉石的可玩性. 原来构思的时候,对于法术效果没有充分的理解,所以只将效果数据做成了常数,例如 造成5点伤害. 随着更加深入的解除,发现还有 毁掉你的武器,对所有随从造成武器攻击力的伤害,这样的话,效果是一个 表达式. 然后考虑到,有些追加效果,例如,对某个随从造成2点伤害,如果这个随从没有死,则抽一张牌, 这里就牵涉到了根据条件追加效果的处理. 同时,德鲁伊的

炉石传说 C# 开发笔记 (续)

炉石传说山寨的工作一直在进行着,在开发过程中深深体会到,对于业务的理解和整个程序的架构的整理远比开发难得多. 在开发过程中,如果你的模型不合理,不准确,很有可能造成代码的混乱,冗余,难以维护和扩展性比较差等问题. 当然,除去领域专家之外,很少人对于一个新的事物可以在一开始就把握住整个核心业务. 接下来讲讲整个程序的构造: Card类库:将整个业务逻辑封装在里面,包括了服务器和客户端的通信逻辑.通信协议的编码和解码.现在是为了炉石定制的,以后想改写成更加通用的. CardHelper:一个辅助程序

炉石传说 C# 开发笔记 (源代码整理公开)

源代码已经整理过了,去除了不需要的项目. 注意:以前文章中出现过的Git已经变更过了,请以前关注过,Fork过的朋友,重新Fork一下. GitHub地址 卡牌XML文件的做成:(Git上面是没有XML文件的,原因是数量比较多,更新比较频繁,所以,运行游戏前,请自行生成) 代码里面有一个CardHelper的工程,运行这个工程: 资料导入导出 炉石资料文件可以从GitHub上找到,XML文件夹可以自己设定.  导出到XML 按钮按下去后就可以生成XML文件夹和文件了. 服务器的启动 启动  火炉

炉石传说 C# 开发笔记 (法术篇)

炉石的设计,最核心的内容是法术效果. 法术卡牌,无疑是法术的集中体现,但是,法术效果除了在法术卡牌之外,也不除不在. 随从的战吼,亡语,奥秘的揭示等等都是法术效果的体现. 法术卡牌在炉石里面有很多种(200种),但是具体整理后,大约也只有10个种类,每个种类通过法术对象的指定方式,效果点数的不同排列组合,演化出了不同卡牌效果. 例如攻击类的卡牌,  通过攻击次数的不同(奥术飞弹是3次),攻击对象不同(有的是只能攻击随从,有的只能攻击英雄,有的两者都可以), 攻击方向不同(有的可以攻击对方,有的是

【Kinect开发笔记之(一)】初识Kinect

一.Kinect简介 Kinect是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字.它是一种3D体感摄影机(开发代号"Project Natal"),同时它导入了即时动态捕捉.影像辨识.麦克风输入.语音辨识.社群互动等功能. 二.Kinect分类 Kinect for Xbox 360:该版本设计之初就是为了Xbox 360定制的,并未考虑其他的平台.从微软授权角度而言,它无法用于商业开发. Kinect for Windows : 固件上做了升级,支持"

OpenCV学习笔记[3]Java Demo人脸识别

OpenCV学习笔记:Java Demo人脸识别 [简介] 我记得在很久以前,CSDN似乎搞过一个活动,给一个橘子林的照片,让程序计算相片里有多少个橘子.之所以对这个问题记忆犹新,是因为在专业学习初期,相比于排序遍历搜索等简单算法而言,"图像识别"算法一直是难以理解的东西,而我偏偏又痴迷于此,不管自己多么无知,对于令我迷惑的问题总是充满着解决的渴望. 通过对OpenCV的初步了解,我发现图像识别的很多问题都可以用它方便的解决,本次将是一个来自官方的人脸识别的实例,我们提供图像,使用内置

《炉石传说》架构设计赏析(4):Asset管理

欢迎转载,请注明作者[燕良@游戏开发]及原文地址:http://blog.csdn.net/neil3d/article/details/39580197 另外,欢迎大家来我的QQ群交流各种游戏引擎相关的技术:游戏引擎能吃吗(264656505) 话说,经过这段时间的学习和摸索,对于Unity3D的开发思路已经基本清晰了.唯独还剩下一个AssetBundle机制还没有搞透,这个涉及到前期项目的资源规划.资源管理代码的写法,以及自动更新机制的实现. 所以,还是想先把游戏逻辑的进一步分析押后,先来看