游戏开发

  • 博客(21)
  • 资源 (6)
  • 收藏
  • 关注

原创 世嘉MD游戏开发【一】:win10环境下配置SGDK

SGDK是一个小巧的开源免费的世嘉MD(Genesis或者MegaDrive)游戏开发包,用这个开发包你可以用C语言快速的制作MD游戏而不用去学晦涩难懂的汇编语言。一、下载SGDK开发包,解压到C盘根目录(别的目录也可以,我习惯放C盘根目录,比如C:\SGDK)二、打开环境变量配置窗口(步骤略过,不懂百度),新建系统变量,变量名:%GDK_WIN%,变量值:C:\SGDK三、找到系...

2019-11-20 17:34:35 4068

原创 世嘉MD游戏开发进阶篇【四】:向量点乘的计算

向量点乘有时候是很有用的,在Unity等游戏引擎里向量点乘都是自带函数的,直接调用就可以,但是在世嘉MD这种简陋的平台,什么运算都得自己去实现,向量点乘也不例外。直接看公式://如果是三维向量的话自己加上z轴的计算就可以了VA·VB = xA * xB + yA * yB;完了,就这么简单。...

2020-05-10 15:19:24 574 1

原创 世嘉MD游戏开发【十四】:SRAM存档和读档

很久没更新了,今天简单讲一下用SRAM存档和读档的功能,有了这个功能就可以做一些RPG角色扮演游戏了,保存角色的数据都挺方便的。原理跟C语言文件读写差不多,流程都是打开读写权限,读写内容,关闭读写权限。在读写之前首先要包含一下头文件(头文件里内容非常少,看一眼就都明白了):#include <sram.h>然后实现一下功能(不一定写的跟我这里一样,根据自己需求写就...

2020-04-04 11:25:06 1612

原创 为了开发世嘉MD游戏我写了个Tile地图编辑器

去年写过几个小游戏,都是很小的地图,当需要地图大一点的时候,我觉得必须有个地图编辑器了,于是。。。我是2019年年底接触到世嘉MD游戏开发(我在CSDN也有写过MD游戏开发系列的博客),半个月时间我制作了两个小游戏,一个像素鸟BT版,一个俄罗斯方块,俄罗斯方块不久将会在游聚游戏平台上线。自己制作的游戏能在游聚上线给了我比较大的惊喜,于是萌生了继续开发世嘉MD游戏的想法,并且开发一个地图比...

2020-02-29 13:32:22 1447

原创 VScode+SDL2配置教程

前天我想找一个图形库写个小工具,想找个小巧一点的图形库,于是就找到了ege(easy graphics engine),花了点时间配置到了vscode上,顺便写了个文章,这是教程地址:https://blog.csdn.net/qq272508839/article/details/104287255今天想起一个比较知名的图形库叫SDL,很早之前就听过,于是我就下载了一个打算试试,是在MinG...

2020-02-14 20:14:28 8641 15

原创 VScode+MinGW+EasyGraphicEngine,ege图形库配置教程

EGE是一个比较小巧的图形库,能满足基本的绘图需求,用来学习还是不错的。我来简单说一下配置教程。1.下载vscode:直接去https://code.visualstudio.com/下载2.配置MinGW的教程:https://code.visualstudio.com/docs/cpp/config-mingw3.下载easy graphic engine:http...

2020-02-12 22:19:40 10178 10

原创 世嘉MD游戏开发进阶篇【三】:向量归一化的实现及应用

向量归一化是非常有用的,游戏中经常能用到,就说大家都见过的,FC魂斗罗的敌人发射子弹就能用到了,敌人向玩家发射子弹首先要获取到向量,这个向量不能直接作为方向去用,必须要经过归一化处理才行,经过归一化处理后你才能精确的设置子弹的速度,不然子弹的速度是不可控的。我做了个小demo来演示玩家向目标点移动的效果,跟魂斗罗的敌人向玩家发射子弹是一样的道理,效果图如下:黑色的小方框是玩家,黑色...

2020-02-03 18:30:16 1324

原创 世嘉MD游戏开发【十三】:音乐和音效

要是能为自己的游戏添加上动人的背景音乐和音效,无疑能提升不少游戏体验,不至于让玩家感觉毫无代入感。今天我来讲一下世嘉MD游戏开发怎么运用音乐和音效。我自己也是慢慢摸索的,说的不全面也是情理之中的,但是能满足最基本的需求。世嘉MD的音频通道有4个通道,背景音乐默认用第一个通道,音效最好是用2,3,4这三个通道,我一开始不懂音频播放原理,播放音效的时候总是把音乐覆盖掉,后来才摸索出来...

2020-01-30 19:45:17 4671 2

原创 世嘉MD游戏开发进阶篇【二】:C语言实现有限状态机

有限状态机应用是非常广泛的,比如关卡的切换、角色动画状态的切换等等,我自己写了个有限状态机,开发世嘉MD游戏的朋友可以用得到,对于解耦还是有点帮助的,不必挤在一个文件里。没有学过MD游戏开发基础的可以翻看我写的基础篇教程。C语言开发世嘉MD游戏-基础篇https://blog.csdn.net/qq272508839/category_9528531.html//=======...

2020-01-16 19:15:44 983

原创 世嘉MD游戏开发进阶篇【一】:两点之间的距离

开发游戏免不了要计算两个坐标之间的距离,计算两点之间的距离我们可以用勾股定理,比如说A代表直角三角形的一条直角边,B代表另一条直角边,C代表斜边,得到公式A²+B²=C²。C也就是两点之间的距离,根据公式可计算出C=根号(A²+B²);以上就是常用的方法之一,但是世嘉MD机能有限,又是平方又是开方的,性能开销太大了,现在我给大家说一个简单的方法,只需要几句代码就能计算出两点之间的距离了,而...

2020-01-13 15:04:58 1036

原创 世嘉MD游戏开发【十二】:伪3D地面,Pseudo-3D

终于讲到伪3D效果了,这一块比较棘手,我从github上下载的老外写的例子一点点研究,研究了两三天才研究出原理,其实原理很TM简单,主要是那个老外写的代码太烂了,写了很多没用的东西,而且算法上还啰里啰嗦的不清楚,导致我阅读起来很费劲,我不知道有些代码到底干了些啥,事实上有些代码真的是相当于啥也没干,我真是无语了。而且注释还是西班牙语。。。再就是定点小数的问题困扰了我半天的时间,虽然最后没搞...

2019-12-08 19:57:34 2130

原创 世嘉MD游戏开发【十一】:背景卷轴滚动(视差滚动)Parallax Scroll和摄像机

背景卷轴这个名字现在比较少听到了,现在的游戏引擎都不用这项技术了,或者可以轻松实现这个功能不值一提了,又或者不用这个技术照样也可以等等原因,大家基本听不到了。玩过世嘉MD模拟器的可能对图层分层显示这个功能有印象,特别是对于提取游戏素材来说很有用。模拟器可以分别打开/关闭卷轴层和精灵层的显示,不过有的模拟器没有这个功能。世嘉MD有双层卷轴,也就是有两层背景,背景可以滚动,做出很好的Par...

2019-12-05 14:22:45 1344

原创 世嘉MD游戏开发【十】:精灵动画,Sprite Animation

能在世嘉MD上显示自己做的精灵动画实在是一件令人兴奋的事啊,今天就来讲一下如何在MD上显示精灵动画。先准备好一张精灵图片序列,有这么几点要求:1.单个精灵的像素宽x高不能超过16384,(以tile为单位的话,就是16x16,以像素为单位就是128x128),而且分辨率必须是8的整数倍,颜色数不能超过16色。2.可以多个动画放在一张图上,要横着排列,一横排是一个动画,另一个动画就要...

2019-12-03 19:35:58 2226

原创 世嘉MD游戏开发【九】:Sprite精灵

终于讲到Sprite精灵了,我自己也很希望快点讲精灵,但是欲速则不达,自己要是还没研究透彻这个知识点就去讲下一个,感觉文章肯定是写不好的。我用下图来做演示,SFC幽游白书-魔界最强列传里的雷禅:怎么处理图片已经演示的很清楚了,前面也有讲过,不明白的可以到SGDK/bin里查看rescomp.txt这个文档。怎么把图片设置成精灵呢,先把需要的精灵放到工程根目录下的res文件夹里,...

2019-12-01 21:25:30 1362

原创 世嘉MD游戏开发【八】:淡入和淡出

淡入淡出,很好理解,淡入就是画面由黑过渡到彩色,淡出就是画面由彩色过渡到黑色,其实也不一定必须是黑色,看你自己需求了。注:淡入淡出的功能可以完成非常多的游戏玩法设计哦~打开脑洞就有惊喜~效果图如下:刚好SGDK内置了淡入淡出函数,几句代码就可以搞定这个特效。这一期需要解释的东西不多,直接上代码吧,就不凑字了,图片准备什么的不再赘述,前面都讲的很详细。#include ...

2019-12-01 15:18:50 904

原创 世嘉MD游戏开发【七】:绘制图片,drawImage

这一期讲绘制图片。上一期讲的是绘制tile,还要用那个不怎么好用的工具导出数组数据,很繁琐,这次就不用那个蹩脚的工具了,随便一个图片用photoshop处理一下就可以了,对于图片的要求有这么几点:1.图片分辨率必须是8的整数倍,像8,16,32这样的都可以,9,10,12,31这样的就不行了,编译会报错。2.图片的颜色数不能超过16,超过16也会编译报错,一个普通图片怎么用ps处理...

2019-11-30 15:57:03 1262

原创 世嘉MD游戏开发【六】:矩形填充Tile图块

上节课讲了如何显示一个Tile图块,这节课我来讲一下Tile图块的矩形填充。打开Sega Genesis Tile Designer,设置tile宽度为4tiles,高度也是4tiles:随便绘制几个tile块,下面我用我自己绘制的作为例子:导出tile数据和palette色表数据(详见上一篇教程)。注:这个软件有一个BUG,导致使用体验极差,可能是源码里某个for循环...

2019-11-28 15:14:29 865

原创 世嘉MD游戏开发【五】:显示Tile图块

显示Tile图块,首先要有tile图块,这就要用到一个小工具了,叫Sega Genesis Tile Designer,软件界面如下:看起来很复杂,其实自己亲自操作一下几分钟就能搞懂了,都是些很基础的功能,软件可以到我群里的群文件下载。这一节课,我就来演示一下如何显示出图中的这个小人儿。前面讲过的操作我都会省略,没看过前面几节课的童鞋可以补一下,编辑器我用vscode。点击...

2019-11-27 16:14:04 1453

原创 世嘉MD游戏开发【四】:输入控制(下)

上一节讲了世嘉MD两种输入控制当中的一种,也是比较容易理解的一种,这一节讲一下剩下的这种控制方式:回调函数式。建好文件夹,用vscode打开,新建main.c,依然是直觉一般的写下如下代码:#include <genesis.h>#include <joy.h> //这一句不加也能编译通过,只是方便F12跳转过去看文档int main(){ ...

2019-11-23 15:49:51 1021

原创 世嘉MD游戏开发【三】:输入控制(上)

这一节讲一下SGDK中的输入控制,SGDK提供了两种输入控制方式,一种是用回调函数接收输入信息,很自然的另一种就没有用回调函数了(貌似废话-.-!),成上下两节,这一节讲不用回调函数来接收输入信息。配置环境就不讲了,前面已经讲过了,没看的可以翻看一下。打开vscode,建好文件夹,新建main.c直接撸好以下代码,就像直觉一样:#include <genesis.h>...

2019-11-22 15:16:33 1663

原创 世嘉MD游戏开发【二】:Hello World

上一节课已经讲了SGDK环境的配置,这一节课来开发我们的第一个世嘉MD程序:Hello World编辑器我用的vscode,本文就以vscode为主。一、新建一个工程,其实不用说的这么正式,意思就是在你喜欢的任意位置新建一个文件夹,文件夹命名为helloworld就可以了,然后进入helloworld目录,新建三个文件夹,分别是src,res,inc二、在工程根目录(这里就是hel...

2019-11-20 18:16:30 2775

【俄罗斯方块】C语言源码(世嘉MD平台).zip

世嘉MD平台俄罗斯方块,vscode工程打包,C语言开发,开发环境是SGDK。 视频地址:https://www.bilibili.com/video/av82697430/

2020-01-31

世嘉MD游戏开发 - 音乐和音效.zip

SGDK世嘉MD游戏开发之音乐和音效,想系统学世嘉MD游戏开发的可以看我的博客。代码编辑器用vscode,语言是C语言,还是挺有趣的小玩意儿。

2020-01-30

[世嘉MD开发]C语言有限状态机.zip

C语言实现的FSM有限状态机,环境是vscode+SGDK,SGDK是开发世嘉MD游戏用的开发工具,不懂的可以看我博客学习。

2020-01-16

ShaderForge 节点说明文档.chm

shaderforge官方网站中文节点说明文档,我给封装成chm格式方便大家阅读收藏。大家多多支持。

2018-10-23

SDL_v1.2中文教程.chm

在Visual Studio 2010 Express中使用SDL,SDL中文教程 - 游戏编程入门

2018-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除