三国志11吧 关注:321,079贴子:11,219,107

回复:【无聊常更新贴】自制三国游戏的流程

只看楼主收藏回复

趁现在没事儿……更新一下= =


121楼2011-11-26 11:08
回复
    ……昨晚更新完了后,于是一直在打代码,实现功能就是【地形】
    ……大部分三国游戏,进入了游戏,都能看到汉代中国地图……
    在游戏中,完成地形的绘制,一般由两种方法


    122楼2011-11-26 11:10
    回复
      2026-01-09 11:57:28
      广告
      不感兴趣
      开通SVIP免广告
      第一种,直接绘制整张地图,就像三国志11,他的地形相貌是无法更改的。相同的还有【信长之野望】的【革新】【天道】,都是不能更改的一次性绘制完成的地形…………
      第二种,运用的比较广泛,是拼接地形。比如说【魔兽争霸III】,三国志9,【星际争霸】,【文明】系列等等……这样地图不是单一的,可以更改……所以使用拼接地形的游戏都有个特点,就是一般都提供地图编辑器~~~~~


      123楼2011-11-26 11:13
      回复
        直接绘制更容易表现不同地域地形的特征
        而用拼接地形,则是把地形【量化】然后一个个格子连起来,不如直接绘制的美观,但是可扩展空间很大…………
        (如果三国志11的地形是拼接的,估计早就有人做出地形编辑器了,好多MOD地图也就出现了,像【曹操传】)


        124楼2011-11-26 11:15
        回复
          ……我做这个三国游戏,使用的是直接绘制地形……
          说是直接绘制,但是要怎么做呢?这也要把地形【模型化】
          ……普遍模型化地形的方法是,把地形看做一个矩阵,有着横列数列许多点,每一个点都有一个高度,最后全部连接起来……形成地形
          如图所示,这就是所谓的网格地形:

          


          125楼2011-11-26 11:18
          回复
            看成一个矩阵……矩阵上有许多点,每个点都有不同的值…………听着是不是很像【像素图】?
            对,我们就是通过用一张像素图的方法,把每个点的高度读入游戏。
            这种图有个专门的名称,叫做【地形灰度图】~~~~~~


            126楼2011-11-26 11:19
            回复

              这就是一张地形灰度图。这里普及一下颜色方面的知识,所有介于 白色 和 黑色 之间的灰色,他们的R、G、B值都是相同的,有种图片格式专门储存灰度图(.raw),不过用.bmp也能实现,因为既然三个值大小一样,那么随便读取其中之一就好了。
              如上……灰色偏白的话,值就大,白色值最大(255,255,255);相反就是偏黑色就小,黑色最小(0,0,0)…………
              这样就用一张图片向游戏说明了需要的地形的形状


              127楼2011-11-26 11:22
              回复
                发几张截图……在游戏中实现了地形的绘制:



                128楼2011-11-26 11:24
                回复
                  2026-01-09 11:51:28
                  广告
                  不感兴趣
                  开通SVIP免广告
                  很难看对吧……因为白乎乎一片,根本分辨不出哪儿高,哪儿低,这就是……没有光照的结果……光照和阴影【简称光阴】,不仅仅是看着像真实,也能让人分辨好多东西~~~
                  上一张添加了光照之后的截图

                  


                  129楼2011-11-26 11:26
                  回复
                    哇,LZ就是前些日子那个做三国游戏的?!?


                    130楼2011-11-26 11:27
                    回复
                      恩……起码我觉得顺眼多了…………
                      光照并不是说添加就会添加上的,这需要每个顶点增加一个矢量叫做【法线】
                      ……因为电脑是不能知道什么是光照的,所以所有的光照都是用数学模型模拟的……
                      模拟也只是简单模拟,现实中光照的复杂,是不能完全模拟出来的,起码现在的机器还没有这样的能力…………
                      数学很难……就不讲数学了,知道图形学中,【法线】和光照有关就行了


                      131楼2011-11-26 11:29
                      回复
                        ……继续说地形上的光照……
                        地形上的光照也大致分两种方式表现……
                        一种就是前面刚刚说的,用发现计算(就是截图所用的方式)
                        另一种就是用贴图,在贴图上标出明暗和阴影,然后把贴图赋予地形……也能展示出截图所示的效果…………


                        132楼2011-11-26 11:31
                        回复
                          好吧……再次中断,什么时候我写好了地形多重纹理混合贴图……什么时候继续更新………………也就是一两天吧~~~~谢谢支持


                          133楼2011-11-26 11:32
                          回复
                            唔……现在说一下显示字体的事儿……
                            刚才发个了帖子被54了,应该吧,这么麻烦还要依赖别人~~~~
                            ……其实我想要做的就是把字模读入内存……
                            前面介绍了,显示文字可以在开始把字模读入内存,或者用的时候读入再释放,两种方法的利弊已经说过了……我选的是用之前读入字模


                            134楼2011-11-27 13:53
                            回复
                              2026-01-09 11:45:28
                              广告
                              不感兴趣
                              开通SVIP免广告
                              就算是开始的时候读入,也有三种方法~~~也是各有利弊
                              第一种,手工写代码读入……利在于可以节省内存,只读入需要的,弊也很大,一在于不能一口气知道自己用哪儿字儿,二就是……费人力啊


                              135楼2011-11-27 13:55
                              回复