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

源代码已经整理过了,去除了不需要的项目。

注意:以前文章中出现过的Git已经变更过了,请以前关注过,Fork过的朋友,重新Fork一下。

GitHub地址

卡牌XML文件的做成:(Git上面是没有XML文件的,原因是数量比较多,更新比较频繁,所以,运行游戏前,请自行生成)

代码里面有一个CardHelper的工程,运行这个工程:

资料导入导出

炉石资料文件可以从GitHub上找到,XML文件夹可以自己设定。  导出到XML 按钮按下去后就可以生成XML文件夹和文件了。

服务器的启动

启动  火炉服务器

按下 启动服务后,服务器就开始运行了。

这里卡牌文件夹一定要选择,就是上一步的那个XML文件夹

启动 炉边传说客户端 HOST

按下新建一局游戏后,后台将等待GUEST的连接。(编码不是很好,没有用线程,所有画面会冻结,以后修改)

同样,这里卡牌文件夹一定要选择,就是上一步的那个XML文件夹

如果你的服务器和客户端不是同一台机器,请先填写服务器的IP地址(我没有测试过。。。)

启动 炉边传说客户端 HOST

启动炉边传说,先刷新一下,列表中会出现等待中的游戏局,选中一个游戏局,按下加入一局游戏,则游戏正式开始。

部分法术没有开发完成,攻击,回复,冰冻,变形系的开发完成

风怒,圣盾,嘲讽已经完成

注意:这只是一个简单的DEMO版本。必然会有无数BUG。


#10楼 2014-05-24 13:44 斯克迪亚
美工不是问题,如果不是商用的话似乎没有什么版权风险,我觉得可以找一些网上的玩家原画替代卡牌图案,当然最好开放客户端的修改权利,让玩家可以自己做成仿官方的,类似太阳神三国杀。
实在不行做出个框架就得,卡牌就是白底黑字都没关系,只要可修改,日后肯定有热心玩家给做漂亮。
关键还是逻辑、体验及可扩展性,这两点必须把握住。
技术上建议采用跨平台的游戏引擎,而不是单纯使用wpf、gdi+这类基础的绘图功能,否则太多功能需要从0做起,而且无法跨设备扩展。
比较推荐libgdx引擎,性能、功能都不错,轻量级,Android、iOS、Windows、Web通吃,游戏主体代码各平台通用无需修改。

现在正在这么开发,UI是保留了最低限度的UI,我没有精力去开发UI,而且Winform也肯定不是唯一的UI。

我的目标和你一样,炉石也可以改为 三国主题的游戏,只需要改卡牌配置文件。

我除了C#以外,基本上其他都是小白。我也看过你推荐的引擎,实在不好意思,没有时间研究。感谢您的支持和鼓励。

能否给我一个您的常用邮箱,以后可以私下发邮件讨论。


#13楼 2014-05-25 20:31 squallczj
@老坏猫
@hellsoul86
@斯克迪亚

个人认为游戏引擎不需要用第三方库,除了基础功能库外(如IOC,ORM之类)。引擎应该作为一个类库封装,独立于view逻辑(view引擎),也独立于服务器/客户端架构。当然接口还是要提供的,比如服务器与一局游戏的交互,客户端与游戏的交互。
我原来想的是设计一个以炉石为参考的游戏引擎,并开放AI接口,做成一个可人人、人机、机机对战(混战)的标准平台(主要还是服务器)。卡牌资料方面,考虑到版权,只可能参考部分炉石数据(其实最好是能拿到暴雪支持,如果这个平台能够做大做全的话,相信暴雪会愿意支持的,实在不行还可以寻求优秀的开源企划协助)。至于客户端实现,可能会暂时给个纯文字基础的,并开放接口,征求设计达人完成。AI部分,开放标准接口,这样任何人都可以参与开发并展示他的AI作品。
楼主的代码我看过了,与我想象的不太一样。游戏引擎没有独立出来,可扩展性有待提高。当然可能这只是楼主的一个prototype吧。慢慢来,这两个月我会找时间做个框架出来,然后再慢慢填功能。等有了第一阶段的东西,我会放到github上的。

这只是一个原型,我的想法是,先通过开发一个炉石,来掌握一下业务逻辑和难点。

在这个基础上,可以进行不断的抽象和提炼做成一个可靠的引擎。增加扩展性和柔韧性。

我非常同意您的观点,希望能够和你开发同一个项目,我不介意将您的GitHub作为主要的Git库。或者将我的所有代码迁移到您的Git库里面。

我的目标也和你差不多,现在暂时做出一个看得见的东西,也可以给自己一点鼓励。我很希望和你长期交流。

能否给我一个您的常用邮箱,以后可以私下发邮件讨论。

#34楼 2014-05-12 12:04 wdwwtzy
@magicDict
我个人觉得最好是在github上独立一个项目,然后我们watch之后,就可以看到每次的commit的内容和进度了。

代码已经分割

能否给我一个您的常用邮箱,以后可以私下发邮件讨论。

任何想参加这个项目的,可以留下常用邮箱。

我IM平时用的比较少,一切事宜通过邮箱分享情报。

本人在上海,特别希望上海的朋友一起参与开发。特别希望有人可以将UI部分重写一下,我实在没有时间和精力。

时间: 2024-10-16 03:27:21

炉石传说 C# 开发笔记 (源代码整理公开)的相关文章

炉石传说 C# 开发笔记(BS模式Demo)

原来这个项目,一直想做成CS模式的,BS模式对于炉石这样的游戏来说比较困难. 暴雪到现在也只出了 Windows 和 iPad版本的炉石,最大的问题还是在于如何在小屏幕下,实现最佳的客户体验. Windows和iPad的屏幕不会太小,所以操作起来不会出现很大的问题,但是如果是手机的话,对于操作的客户体验是一个巨大的挑战. iOs系统还可以限制iPad上运行,不能在iPhone上运行.Android的话,估计很难区别到底是Pad还是Phone. (iPhone通过特殊手段还是可以运行炉石的) 如果

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

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

炉石传说 C# 开发笔记

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

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

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

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

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

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

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

Web前端开发笔记整理

web前端开发笔记: 1.web前端之html_day1 2.web前端之html_day2 3.web前端之css_day1

flask web开发笔记 -- 表单 --待整理

虽然Flask的请求对象给表单处理提供了足够的支持,但也有一些任务繁琐和重复.比如为表单生成HTML代码和验证提交表单数据. Flask-WTF扩展能解决上述问题.它基于wtforms 防止跨站请求伪造 跨站请求伪造(Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法.跟跨网站脚本(XSS)相比,XSS

Android开发笔记(一百一十六)网络学习资源

知名网站 本系列的开发笔记,对Android开发来说只是沧海一瓢,还有更多的技术等待我们去汲取.下面列出几个常用的开发网站,供初学者上路: 首先当然是国内首屈一指的技术网站csdn啦,csdn提供了众多频道,包括博客.论坛.下载.问答等等,其中博客专栏提供了最新的技术文章,值得推荐.csdn博客专栏的地址是 http://blog.csdn.net/column.html 下面是csdn博客专栏的网页截图: 其次是国外有名的开源网站GitHub,这里有众多的开源项目源码,是开发者分享代码的乐园.