Win32游戏编程之---致我们曾经怀念的仙剑一

曾今有一个游戏是一代人的回忆,曾今有一部电视剧让很多人都落下了感动的泪!

好久没有写博客了,前段时间准备考试,这段时间又忙着有事,所以博客很久没写了,这两天闲着,因此写一个小小的回合制游戏。其实光看名字就知道我写的游戏是模拟着仙剑一写的,当然只是模拟几个简单地场景,其实际内容远远没有仙剑一写的好,而且个人感觉自己的美工也不太行,总之大家看一看、如果能笑一笑我也就满足了。

记得小时候,就特别喜欢玩游戏,小时候家里也没有网,所以更多的是玩单机游戏,还记得小时候偷偷跑去修电脑的人那去买一个便宜的游戏光盘,这些事现在想起来还真挺怀念的,但是那种买了一个自己想玩的游戏光盘迫不及待的想回到家之后安装上的心情现在是体会不到了。其实我模拟着仙剑一写也是有原因的,记得上小学的时候,我买的第一个游戏光盘就是仙剑一,可惜我把游戏装好之后发现玩不了,进去就闪退出来,当时还小,一点也不懂电脑知识,当时确实挺郁闷的,只好继续玩我的星际(顺便提一下,星际是我玩的第一款游戏)。后来电视就跟着出来了,看了电视之后,想到结局这么惨,于是也没有想在去玩游戏的冲动了,可以说没玩到仙剑一是我的一大遗憾。虽然现在有了网,一般的游戏都可以下(当然有些游戏还是需要花钱买的,这里不得不感谢国内的一些良心网站让我免费玩了很多好玩的游戏),不过已经没有当初的感觉了。

现在的仙剑已经到了仙剑6了,画面以及很多场景都制作的很不错,很逼真,可以说每一代都有自己的特点,每一代都很不错,都有可玩性(总之只有自己去制作游戏才知道做出一款让大家都满意的游戏简直就像登天一样难,而且必须要合作完成,一个人是做不出来的),虽然有这么多款仙剑但是最让我难忘的就是仙剑4了(由于仙剑一自己没有玩过,而且距离有点久了,不过不可否认仙剑一还是一款很难被超越的游戏),可以说仙剑4是经典中的经典,无论从剧情,还是人物设计、哪怕是结局的虐心都可以说是经典,4个主角每一个人物的命运都设计的恰到好处,每一个人物都有自己的特点,为什么电视拍了仙剑5而没有拍仙剑4(虽然没有胡歌我就没有去看),我想原因,能是仙剑4电视制作难度太大了,而且有这些人物找谁来演,真的太难找了,或者说太难演了,总之我个人感觉仙剑4是最经典的,既然是这么经典的游戏,那么还是让他保持在玩家心目中的美好样子好了。

虽然如今已经长大了,当然不可否认,即使是长大了,但是我还是有一颗爱玩游戏的心,因此上了大学之后,有了很多的空余时间,所以可以将更多的时间用在了自己喜欢的事情之上,总之爱玩游戏,但也爱写游戏,总之感觉喜欢制作游戏的人总是有一颗想让更多人快乐的心。

好了废话不多说了,简单说一下我的游戏内容吧,我主要实现了一个地图场景以及一个简单地战斗系统,当然其实还是可以往下制作的,比如在多加几个场景,不过由于时间有限,而且素材也挺难找的,找到的素材还不一定能直接使用,还需要使用Photoshop合成和加工,总之虽然这有很很简单,代码量也不多,不过制作起来也还是挺费时间的。

好了,先来看一下效果截图吧!

这是一个地图场景图:人物可以在上面自由行走,AI我设计的时候是让他左右行走的,当然当侦测到玩家接近的时候会自动跑向玩家,并且在两者距离接近一定数值之内之后,切换到战斗场景。

在走进之后,AI就会侦测到有玩家靠近,于是就会跑向玩家,来看一下效果:

在两者检测到相遇的时候,就会触发战斗场面,即由普通状态进入战斗状态:

接下来来看一下战斗场景的图:战斗的背景我选择了六芒星的图,这是一个回合制的战斗场景人物设计的不多,只是一个玩家和一个电脑,在制作战斗过程之中最重要的感觉如何让玩家感觉战斗场面的逼真,当然这一点没有花个好几个月甚至好几年是做不出来那种逼真的快打击感。

这里顺便提一下,雪花的效果是我自己添加上去的,也有人说没必要,这里大家将就看一下吧!

正式进入战斗场面---------------------------------------------------------------------------

不得不说进入这个场面还是不太乐意的,毕竟特效做的太渣了。

先来看一下第一个技能平A,当然这里分为暴击和没有暴击的区别,我设定的暴击几率是10%,差不多10下出一次暴击,来看一下普通攻击的效果:

当然如果使用了技能之后,变为不可攻击状态,因此把技能栏暂时清除了。

再来看一下暴击图:

接下来就是人物的技能了:

先来看一下第二个技能,很容易看出来这是一个伤害技能,暂且叫他狂风绝息斩(LOL之中亚索的大招),不过这是一组动态图,很难用一张图表现出来,简单来看一下效果:

当然接下来是第三个技能,盗用了dota上的魔龙之心的图标,自然而然这是一个回血技能,来看一下效果:

最后来看一下个人感觉效果最差的大招,其实大招也是一组连续的动态图,虽然不怎么好看!

当然还有Boss的技能图,不过为了节省篇幅,就将他的几个技能放在一张图之中:

最后是游戏胜利和失败的截图:

说到最后有一点不得不提一下就是技能的特效,我承认在这一点上我做的很差,如今的游戏没有酷炫的特效技能玩家都不乐意玩下去,这也是英雄联盟如今大行其道的原因。

简单说一下在制作的过程之中遇到的难点吧,或者说我做的不够好的地方,从开始的大地图说起,首先是人物与AI的碰撞检测,在这里我只是简单地让他们距离以一定像素为半径的圆形之内就算他们相遇了,其实这里应该有更好的检测函数,因为我在玩仙剑4的时候遇到过很多次不想浪费时间打野怪,于是巧妙的避开了不想要遇到的野怪,所以说这里的碰撞检测,或者说是相遇检测做的不够好,其次场景的切换,总之感觉场景的切换写的也不好,一般来讲战斗的场景都是以相遇的时候的大地图上的场景文章的,可以说最好是在大地图上相遇,战斗场景就是与大地图上类似的场景。这样制作的游戏更加有代入感,玩家才有心思玩下去。我承认在这一点上也没有做好,当然也可以说自己的美工不太行。接着就是人物的战斗动作,平A的话人物会冲过去砍,然后进行一组连续的动作,暴击也有音效,使用技能的时候可以先给人物一个特写然后在进行一组连续的动作,当然特效不可避免的要使用到了。

最后退出战斗场景,切换回原来的场景:

当然这里有一点不得不提一下就是技能的特效,我承认在这一点上我做的很差,如今的游戏没有酷炫的特效技能玩家都不乐意玩下去,这也是英雄联盟如今大行其道的原因。

简单说一下在制作的过程之中遇到的难点吧,或者说我做的不够好的地方,从开始的大地图说起,首先是人物与AI的碰撞检测,在这里我只是简单地让他们距离以一定像素为半径的圆形之内就算他们相遇了,其实这里应该有更好的检测函数,因为我在玩仙剑4的时候遇到过很多次不想浪费时间打野怪,于是巧妙的避开了不想要遇到的野怪,所以说这里的碰撞检测,或者说是相遇检测做的不够好,其次场景的切换,总之感觉场景的切换写的也不好,一般来讲战斗的场景都是以相遇的时候的大地图上的场景做文章的,可以说最好是在大地图上相遇,战斗场景就是与大地图上类似的场景。这样制作的游戏更加有代入感,玩家才有心思玩下去。我承认在这一点上也没有做好,当然也可以说自己的美工不太行。最后就是人物的战斗动作,平A的话人物会冲过去砍,然后进行一组连续的动作,暴击也有音效,使用技能的时候可以先给人物一个特写然后在进行一组连续的动作,当然特效不可避免的要使用到了。

时间: 2024-10-04 10:24:00

Win32游戏编程之---致我们曾经怀念的仙剑一的相关文章

《逐梦旅程 WINDOWS游戏编程之从零开始》笔记6——Direct3D中的顶点缓存和索引缓存

第12章 Direct3D绘制基础 1. 顶点缓存 计算机所描绘的3D图形是通过多边形网格来构成的,网网格勾勒出轮廓,然后在网格轮廓的表面上贴上相应的图片,这样就构成了一个3D模型.三角形网格是构建物体模型的基本单元,而一个三角形有3个顶点,为了能够使用大量三角形组成三角形网格来描述物体,需要首先定义号三角形的顶点(Vertex),3个顶点确定一个三角形,顶点除了定义每个顶点的坐标位置外,还还含有颜色等其他属性. 在Direct3D中,顶点的具体表现形式是顶点缓存,顶点缓存保存了顶点数据的内存空

Game Programming Patterns(游戏编程模式)-架构,性能与游戏

游戏编程模式- 架构,性能与游戏 本系列博客是:Game Programming Patterns 的中文翻译版本. 翻译的github地址: cyh24. 如有兴趣,可联系博主共同翻译,一起造(wu)福(dao)他人. 博客虽然水分很足,但是也算是博主的苦劳了, 如需转载,请附上本文链接,不甚感激! 本系列博客 <游戏编程模式>– 目录,可点击进入. 架构,性能与游戏 ============================ 在我们埋头研究一堆的设计模式之前,我想先告诉你,对于软件架构,我个

DirectX游戏编程入门

刚开始学习D3D,安装完DirectX9后,在VS2008中新建Win32项目· -------------------------------------------------------------- //设置好Direct3D的库链接,这里也可以通过项目属性的链接器 -- 附加依赖项完成添加; #pragma  comment(lib,"dxerr.lib")#pragma  comment(lib,"dxguid.lib")#pragma  comment

C++游戏编程(一开篇)

本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7318264 作者:毛星云    邮箱: [email protected]    大家别叫我楼主能够吗- -.请叫我浅墨 在从第一节開始看这个笔记系列的话,大家会发现,一上来就開始讲DirectX相关的内容,可是写了几节之后,又開始讲 GDI了. 这是由于我写完前几节后,发觉直接讲DirectX有些生硬.最后我想了一下,应该先梳理完GDI相

Windows机制下的游戏编程实例一

稍微接触一下Windows游戏编程基础,虽然不大喜欢游戏,但是为了扩大知识面,为以后的创新与启发打下基础,还是稍微了解一下: 先来看一个实例吧: 这是程序的文件目录: 里面包含背景音乐与背景图像模板 程序运行效果如下,当然在这里是听不到背景音乐啦,只有你动手亲自去实践,才能懂得编程的乐趣. 主要代码如下: //-----------------------------------[程序说明]---------------------------------------------- // 描述:

Win32游戏制作之---FreakOut

记得自己小时候曾经玩过这个小游戏,如今长大了,有了一定的知识就可以实现一些小时候未曾想过的事情,或者说梦想去做的事情!虽然这次实现的小游戏比较简单,但是也算游戏吧,比较自己还不是这方面的大神. 如果想要用Win32项目制作一个小游戏,那么首先你要对对C/C++语言熟悉,对Windows编程有一定的了解.其实还有一点就是你在开始制作小游戏之前,你要知道你的游戏的逻辑结构.对于一般的小游戏结构可以用下图的结构表示. Game_main()是游戏的主体函数,不过它在主事件循环每次处理windows消息

Windows游戏编程之从零开始d

I'm back~~恩,几个月不见,大家还好吗? 这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧. woxiangnifrr童鞋说每天都在来浅墨的博客逛一下看有没有更新,"每天都来就像看女神那般不依不舍",弄得我再不更新都不好意思了,哈哈~怎么说呢,前段时间忙毕设,回国,暑假,间隔年旅行休整,然后是适应新的生活,各种事情,也真正没有心境来更新博客了,最近正好心境安定下来,就继续开始写博.额,关于思想汇报改天我专门写一篇文章和大家交流交流,现在先打住说正事吧~ 首

最大的幻术-游戏开发-到底是先学游戏引擎还是先学游戏编程

学习游戏的目的 我们学习游戏制作,游戏开发,游戏编程,游戏XX,我们的目的只有一个,打造一个非常牛逼,非常屌,非常让人开心的虚拟体验.我们用自己的学识让玩家在虚拟世界征战,生活,一步一步的让玩家幸福!那么我们的目的只有一个,让玩家知道自己的幸福在哪里,并且学会追求自己的幸福.当然,每个人对幸福的定义不一样.那么,我们只好让玩家来体验我们所来表达的最通俗的,最普遍的幸福体验,然后慢慢引导玩家去寻找自己的幸福体验.可能,在最后玩家都会离开游戏,离开虚拟世界,(对,这是真的,玩家需要一步一步达到定点,

Win32 Windows编程 十

一 Windows绘图 1 图形绘制 1.1 图形绘制的方式 获取到绘图的句柄,设备描述符(DC),使用相应的绘图API,在设备上绘制图形 1.2 颜色 RGB,每种颜色8位,共24位颜色 32位颜色:颜色数量24为颜色,多出的8位表示灰度. 16位:颜色数量是2的16次方. Win32下,颜色的定义使用 COLORREF.RGB的宏定义颜色 COLORREF nColor = RGB( 0, 0, 0 );  黑色 COLORREF nColor = RGB( 255, 255, 255 );