怎么编程做一个小游戏(用编程做一个简单的小游戏)
如何在家自己编程游戏?
想要自己编程做游戏的话:
1.首先要学习看数据的结构,不用学的很深入。在实践中慢慢深化。
2.然后学下sdl,这个只要看着网上的教程就可以编一些简单的程序,
3.之后坚持多练习编程,可以从小的游戏慢慢编写。
怎样制作一款游戏?
游戏制作的第一步:立项
游戏制作的开始,就和文档有着密不可分的关系。当一个想法在主策划或者老板的脑海中产生时,他需要把想法整理成文字备忘录一类的东西。当然,老板会用交谈的方式讲给主策划听,然后由主策划整理成文。这些文字将作为游戏的最初形态被保存下来,并在项目结尾时,和完成后的游戏进行比较,就可以看出制作过程中改动了多少。
接下来是主策划根据最初提案文档详细描述游戏的形态,包括游戏概述、游戏玩法、制作计划、市场定位,并初步确定游戏中一些明显的玩点和特征。这份文档将作为开发的凭据进行保存,是整个项目的根本所在。如果它能通过老板或投资方的认可,那么这个游戏就可以开始制作了。
游戏制作的第二步:启动阶段
这一阶段包含两个部分,一个是策划的启动,另一个是程序的启动。而且策划启动得要比程序早一些。
策划方面,需要开始详细整理游戏制作中的分项结构,并预先做游戏制作的控制,这时候需要启动一个策划主文档,这个文档会有比较完整的制作分类,那么以后其他制作人员写好的文档会被整合到这个文档中来,所有有关的内容都可以在这个文档中查到。这个主文档会放在开发组内的服务器上,每个人随时都可以去看。
在程序未进入之前,策划需要确定游戏所需要的程序引擎类别,当然,有时候一些游戏是根据现有程序引擎的特点再立项的。在确定程序引擎后,就需要挑选合适的主程序进入项目了,主程序一般是一些有开发经验的,且自己就有一套引擎的人,要知道,开发一套成熟的引擎是需要一定时间的,所以制作方要么使用主程序的引擎,要么就去外面买一套合适的引擎拿回来用,而程序员就需要花时间适应这套引擎,主程序就是向其他人解释这套东西的人。
启动阶段是策划脑子最忙的阶段,因为太多东西需要预先确定下来,并写成文档,主程序则需要根据策划的文档理解程序方面要实现一些什么样的功能。这期间会有大量的讨论。
游戏制作的第三步:正式制作前期
这一阶段里,一切步入正轨(如果顺利的话),策划开始制定游戏规则,并对游戏世界有一个描述,一些美术图片量也被确立下来。程序则开始在做适合这个游戏的低层搭建工作。按照惯例,制作组会定一个DEMO方案出来,确定在一个短时间试作一个演示版本,一来初步检验制作组成员的能力,二来给投资方以信心。而且我认为DEMO是非常重要的,它是一个里程碑,能给组内所有人以动力,让成员有“下一步做什么”的欲望和想法。
美术则是按照需求进入的,主美术根据策划要求的风格会制订美术上的制作规则,制作规则包括游戏风格的整体描述,并根据这一描述招收适合的美术成员。如果是3D游戏,还需要招收建模师和动作调整师这样的专门人才。
最初的DEMO并不会看到太多东西,美术工作量不会很大。程序则会完成一个游戏的雏形,并确定下一步实现功能的先后次序。在DEMO完成后,策划的详细文档基本上已经完成,对游戏细节的描述也已经到位,并开出可观的美术量统计报告,如果DEMO没有太大的问题,一切都很顺利,那么接下来就是实际制作的过程了。
接下来是美术和程序最辛苦的阶段,而策划则继续细节化一些东西。这是一个生产的过程,程序也在这个阶段给出适合策划使用的游戏编辑器,策划试着在游戏编辑器上做一些东西并对编辑器是否适用提出意见和建议。
游戏制作的第四步:正式制作中后期
正式制作的中期和后期没有明显的界线划分,这是一个非常漫长的过程,同时也是一个短暂的过程,程序、策划和美术会在这一阶段密切合作,游戏会按照事先计划好的过程一步步做好。在后期时,策划需要分出人力来做一些游戏宣传方面的工作。
美术和程序在后期会显得比较轻松,大部分的工作已经完成,这一阶段策划会把已经做好的游戏元素用程序提供的编辑器进行整合,而空出来的美术和程序人手则会参与测试游戏,测试出来的BUG会有许多,这样调整和修改也要花去一部分时间和精力。
个人认为在游戏前期如果策划没有太大疏漏的话,再加上程序方面没有出现问题,那么中后期制作实际是一个并不复杂的生产过程,在一个已经确定的规则下制作起来还是比较方面的。但如果前期做得不够好,这个阶段会持续反复修改和推翻一些东西,这会很可怕,会逐渐消磨掉组员的意志,所以制作中后期是否顺利是很依赖制作前期的准备的。
以上是一个游戏的制作过程,而根据实际所制作的游戏特点不同,平台不同,这些制作过程会加上或抽减掉一些部分。比如网络游戏会有运营和宣传的介入等等。而对制作来说,我所罗列的这些步骤实际上是所有游戏制作都会经历的。我不打算去细化介绍,我想说明的是,游戏制作过程并不神秘,甚至很简单,关键是做为个人,在这些过程中是否能找到自己的位置。
怎么在电脑上自己做游戏?
要看具体什么样的游戏,是普通的小游戏还是大型的网络游戏。
如果是普通的小游戏,可以使用Flash,现在叫Animate,或者Unity进行开发,要有一定的编程基础才可以。
下面就是用Animate开发的一些单机游戏:
Animate作品:产品品质管理小游戏
FlashASer 的视频
· 259 播放
Animate作品:翻板小游戏
FlashASer 的视频
· 139 播放
Animate作品:倒水游戏
FlashASer 的视频
· 710 播放
Animate作品:汽车华容道游戏
FlashASer 的视频
· 376 播放
Animate作品:植物大战台风
FlashASer 的视频
· 420 播放
Animate作品:数字排序小游戏
FlashASer 的视频
· 490 播放
Animate作品展示:Bubble Numbers
FlashASer 的视频
· 423 播放
而如果是大型的网络游戏,只能是公司级别或者多人的团队才可以完成,因为游戏开发并不是简单的个人可以完成的,当然大神除外。。。
编程序做一个小游戏需要学习哪些知识?
你可以先去【绘学霸】网站找“游戏设计/游戏制作”板块的【免费】视频教程-【点击进入】完整入门到精通视频教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1tagid=307zdhhr-11y04r-431353100149645732
想要系统的学习可以考虑报一个网络直播课,推荐CGWANG的网络课。老师讲得细,上完还可以回看,还有同类型录播课可以免费学(赠送终身VIP)。
自制能力相对较弱的话,建议还是去好点的培训机构,实力和规模在国内排名前几的大机构,推荐行业龙头:王氏教育。
王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】: www.huixueba.com.cn/school/3dmodel?type=2zdhhr-11y04r-431353100149645732
在“游戏设计/游戏制作”领域的培训机构里,【王氏教育】是国内的老大,且没有加盟分校,都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合基础差的学生。
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载: www.huixueba.com.cn/Scripts/download.html
自己如何制作小游戏?
《自己动手制作小游戏》说明:一直在玩别人做的FLASH游戏么?现在给你个机会大显身手!来吧,制作自己的游戏!只是刚来时需要熟悉一下制作流程,
NEW是开始制作新游戏,点下去,用鼠标在蓝色区增加障碍,右下角是关数可设,下边有个SPECS按钮,里面有游戏非常详细的设置项,按加减号即可。上边还可以写上你的名字游戏名字,分数设定等。全部设置好了之后按MENU,点一下出现的按钮,会出现空白处很多文字,这个可以复制下来留存,然后按右边的钮,再点右边的PLAY,哈哈,竟然可以玩自己制作的游戏啦!!真是好神奇啊!
记得把自己制作游戏复制下来的文字保存,在一开始的界面有个LOAD,在空白处贴上这些文字,就可以再次重玩你自己制作的游戏啦!还可以把这个复制下来发给别人分享哦!
至于第三个按钮GO,可以玩玛里奥,索尼克之类的经典的小游戏啦!
回答者:741625911
怎样用C语言编写一个小游戏?
“贪吃蛇”C代码:
#include stdio.h
#include stdlib.h
#include conio.h
#include time.h
#include Windows.h
#define W 78 //游戏框的宽,x轴
#define H 26 //游戏框的高,y轴
int dir=3; //方向变量,初值3表示向“左”
int Flag=0; //吃了食物的标志(1是0否)
int score=0; //玩家得分
struct food{ int x; //食物的x坐标
int y; //食物的y坐标
}fod; //结构体fod有2个成员
struct snake{ int len; //身长
int speed; //速度
int x[100];
int y[100];
}snk; //结构体snk有4个成员
void gtxy( int x,int y) //控制光标移动的函数
{ COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void gtxy( int x,int y); //以下声明要用到的几个自编函数
void csh( ); //初始化界面
void keymove( ); //按键操作移动蛇
void putFod( ); //投放食物
int Over( ); //游戏结束(1是0否)
void setColor(unsigned short p, unsigned short q); //设定显示颜色
int main( ) //主函数
{ csh( );
while(1)
{ Sleep(snk.speed);
keymove( );
putFod( );
if(Over( ))
{system(“cls”);
gtxy(W/2+1,H/2); printf(“游戏结束!T__T”);
gtxy(W/2+1,H/2+2); printf(“玩家总分:%d分”,score);
getch( );
break;
}
}
return 0;
}
void csh( ) //初始化界面
{ int i;
gtxy(0,0);
CONSOLE_CURSOR_INFO cursor_info={1,0}; //以下两行是隐藏光标的设置
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),cursor_info);
for(i=0;i=W;i=i+2) //横坐标要为偶数,因为这个要打印的字符占2个位置
{ setColor(2, 0); //设定打印颜色为绿字黑底
gtxy(i,0); printf("■"); //打印上边框
gtxy(i,H); printf("■"); //打印下边框
}
for(i=1;iH;i++)
{ gtxy(0,i); printf("■"); //打印左边框
gtxy(W,i); printf("■"); //打印右边框
}
while(1)
{ srand((unsigned)time(NULL)); //初始化随机数发生器srand( )
fod.x=rand()%(W-4)+2; //随机函数rand( )产生一个从0到比”(W-4)”小1的数再加2
fod.y=rand()%(H-2)+1; //随机函数rand( )产生一个从0到比”(H-2)”小1的数再加1
if (fod.x%2==0) break; //fod.x是食物的横坐标,要是2的倍数(为偶数)
}
setColor(12, 0); //设定打印颜色为淡红字黑底
gtxy(fod.x,fod.y); printf("●"); //到食物坐标处打印初试食物
snk.len=3; //蛇身长
snk.speed=350; //刷新蛇的时间,即是移动速度
snk.x[0]=W/2+1; //蛇头横坐标要为偶数(因为W/2=39)
snk.y[0]=H/2; //蛇头纵坐标
setColor(9, 0); //设定打印颜色为淡蓝字黑底
gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头
for(i=1;isnk.len;i++)
{ snk.x[i]=snk.x[i-1]+2; snk.y[i]=snk.y[i-1];
gtxy(snk.x[i],snk.y[i]); printf("■"); //打印蛇身
}
setColor(7, 0); //恢复默认的白字黑底
return;
}
void keymove( ) //按键操作移动蛇
{ int key;
if( kbhit( ) ) //如有按键输入才执行下面操作
{ key=getch( );
if (key==224) //值为224表示按下了方向键,下面要再次获取键值
{ key=getch( );
if(key==72dir!=2)dir=1; //72表示按下了向上方向键
if(key==80dir!=1)dir=2; //80为向下
if(key==75dir!=4)dir=3; //75为向左
if(key==77dir!=3)dir=4; //77为向右
}
if (key==32)
{ while(1) if((key=getch( ))==32) break; } //32为空格键,这儿用来暂停
}
if (Flag==0) //如没吃食物,才执行下面操作擦掉蛇尾
{ gtxy(snk.x[snk.len-1],snk.y[snk.len-1]); printf(" "); }
int i;
for (i = snk.len - 1; i 0; i--) //从蛇尾起每节存储前一节坐标值(蛇头除外)
{ snk.x[i]=snk.x[i-1]; snk.y[i]=snk.y[i-1]; }
switch (dir) //判断蛇头该往哪个方向移动,并获取最新坐标值
{ case 1: snk.y[0]--; break; //dir=1要向上移动
case 2: snk.y[0]++; break; //dir=2要向下移动
case 3: snk.x[0]-=2; break; //dir=3要向左移动
case 4: snk.x[0]+=2; break; //dir=4要向右移动
}
setColor(9, 0);
gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头
if (snk.x[0] == fod.x snk.y[0] == fod.y) //如吃到食物则执行以下操作
{ printf("\007"); snk.len++; score += 100; snk.speed -= 5; Flag = 1; } //007是响铃
else Flag = 0; //没吃到食物Flag的值为0
if(snk.speed150) snk.speed= snk.speed+5; //作弊码,不让速度无限加快
}
void putFod( ) //投放食物
{ if (Flag == 1) //如吃到食物才执行以下操作,生成另一个食物
{ while (1)
{ int i,n= 1;
srand((unsigned)time(NULL)); //初始化随机数发生器srand( )
fod.x = rand( ) % (W - 4) + 2; //产生在游戏框范围内的一个x坐标值
fod.y = rand( ) % (H - 2) + 1; //产生在游戏框范围内的一个y坐标值
for (i = 0; i snk.len; i++) //随机生成的食物不能在蛇的身体上
{ if (fod.x == snk.x[i] fod.y == snk.y[i]) { n= 0; break;} }
if (n fod.x % 2 == 0) break; //n不为0且横坐标为偶数,则食物坐标取值成功
}
setColor(12, 0);
gtxy(fod.x, fod.y); printf("●"); //光标到取得的坐标处打印食物
}
return;
}
int Over( ) //判断游戏是否结束的函数
{ int i;
setColor(7, 0);
gtxy(2,H+1); printf(“暂停键:space.”); //以下打印一些其它信息
gtxy(2,H+2); printf(“游戏得分:%d”,score);
if (snk.x[0] == 0 || snk.x[0] == W) return 1; //蛇头触碰左右边界
if (snk.y[0] == 0 || snk.y[0] == H) return 1; //蛇头触碰上下边界
for (i = 1; i snk.len; i++)
{ if (snk.x[0] == snk.x[i] snk.y[0] == snk.y[i]) return 1; } //蛇头触碰自身
return 0; //没碰到边界及自身时就返回0
}
void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0)
{ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute( handle, ForeColor + BackGroundColor * 0x10 );
} //用来设定颜色的函数
如何编程游戏?
需要学习多种编程语言。
1:首先要知道游戏编程用的什么语言。
2:c++语言是目前最为稳定的、指针最为全面的语言。游戏尤其网游的稳定性要求极高,因此必须用c++。
3:先学c语言,c语言是全部计算机语言的基础更是c++的基础。因此要学好。再学c++,这个要学精,不然开发游戏没戏。然后学数据结构、数据库、线性代数、离散数学结构。
4:html、css、js也要知道。
5:如果要制作跨平台游戏,建议学习下opengl/opengles,这是个很强大很专业的图形接口,因为很多平台支持所以适合跨平台游戏制作使用。
6:做2d游戏,可以使用cocos2dx等一些引擎,当然你也可以使用上面的3d引擎制作2d游戏。
编程怎么制作小游戏
现在做游戏不再像以前那么难,全部都靠自己写代码来完成了。
如今有很多免费的游戏引擎可以使用,并且可以一键生成一个执行文件,比如exe,apk,直接即做即玩非常方便的。
个人比较推荐Unity游戏引擎,个人版是完全免费的。里面有很多现成的工具可以使用,不用自己从头写代码。并且自带一个资源下载商场,里面有很多免费资源可以下载。网上也有很多教程和素材。小游戏的话,设置不用怎么写代码就可以制作。