终于审核经过了,开通了个人博客,虽然这么多年,已经长期在从事java相关的架构工做,可是,其实我心里,喜欢的语言一直是c#,惋惜,不少时候光靠一人的力量,改变不了什么,如今的我,打算抛开本身的工做,作本身真正喜欢的事情,我开这个博客的目的主要就是为了用c#来开发大型游戏,个人第一个目标,打算使用c#实现《传奇》这样的大型网络游戏,这样的游戏会分红服务端和客户端分别开发,个人前期目标是先实现客户端,若是想了解服务端的能够订阅我,我后续会一并写完的。java
从如今开始重拾8年前的c#确实有点生疏,但其实不少思想都是想通的,固然作游戏,首先要选择一种适合的技术。c++
今天,我主要是罗列了4项我还有点印象的实现方式。c#
winform,wpf,directx,opengl,下面分别说说我对这4种实现方式的理解吧,也算是给本身理个思路。网络
winform架构
winform这个技术我算是最熟悉的,记得大学毕业的时候,就是用winform作了个爬虫类的应用,专门爬网络上的美女图片,以至于老师们看到那么多美女图片,就给了我一个优秀毕业设计称号,哈哈,因此,其实我第一个想到的就是winform。对于winform,实现思路我想应该是一个窗口,里面放一个绘图控件,而后重写这个绘图控件,实现本身的自定义绘制,用的类那应该就是System.Drawing下面的那些类。在这里我想了下,要实现《传奇》这样的游戏,winform的绘图性能应该是一个考验,另外,游戏动画特别多,并且不少动画都是同时存在的,这样的难题应该是个考虑,个人想法是先新建多个bitmap,预先把绘制绘制到内存中,而后统一时间刷新,好比100MS刷新一次,那就是每秒10帧,曾经分析过传奇的代码,差很少就是每秒10帧这样的程度。性能
wpf动画
关于wpf这个,我也是在博客园里看到了一些相关的文章,有些人说wpf是彻底重写的一套绘图机制,并且能够利用GPU进行加速,因此,我打算对wpf这个也研究一番,若是按照我理解的方式,我认为wpf的实现应该跟winform有点相似,并且据我通常的了解,我发现wpf作游戏控制界面很是容易,好比拖动,拖动动画之类相对容易实现,因此wpf也不失为一种好的方案。设计
directxorm
说到这个,网上搜了一大圈,通过总结,基本大部分都以为win平台下directx是开发游戏最好的解决方案,也是目前成功游戏最多的解决方案,可是我看了下相关的sdk,我发现,假如用directx开发游戏,若是没有合适的游戏引擎,想要一我的实现《传奇》这样的大型游戏,感受就是一我的建长城的工程,可是若是使用别人的引擎,我发现好多都是c++的语言,奈何我对c++不是特别熟,因此,我原则上认为directx是属于重量级的解决方案,须要更进一步了解。游戏
opengl
和directx相似,也是重量级解决方案,有个不一样的地方就是opengl是开源的,相对来讲,实现本身的游戏引擎难度低一点,我记得我之前最喜欢玩的《暗黑破坏神2》好像就是用的opengl,提及来,若是光从客户端的角度来说,《暗黑破坏神2》和《传奇》仍是很是类似的,不过《暗黑破坏神2》的实现应该比《传奇》要复杂,由于《传奇》只有8个方位。而《暗黑破坏神2》应该是不止8个方位断定的,须要进一步了解。
今天,算是个开头吧,在博客园发文章不发代码好像不是好习惯,哈哈,不过这篇文章算是个开头吧,说实话,作这种大型项目,尤为是没有一分钱的状况下,纯属本身的爱好,难度倒还能够,就怕容易放弃,因此,开通博客园,写出来,也但愿能得到更多人的支持,下一篇,我将会正式开始讲这个工程,以及相关的代码。