您好,欢迎访问三七文档
Unity2d游戏策划书——2d横版塔防游戏(Applecastle)班级:15计科技能班组号:27屠春雷1510300a112018年11月12日1第一章游戏内容简介1.游戏类型2D横版塔防游戏2.游戏内容玩家通过使用弓箭攻击敌人从而保卫城堡中的苹果获得相应的分数进行通关3.游戏的世界观世界背景:中世纪骑士潘多拉勇士,为了保卫自己的苹果家园城堡而独自对抗邪恶公爵的水果侵略部队。游戏的玩法有即时战略游戏的感觉,过关只需对抗不同的一波波的敌人,努力消灭侵略者,最后成功保卫城堡消灭敌人,是一款老少皆宜休闲玩法的策略游戏。重要场景:苹果家园城堡对抗邪恶公爵的水果侵略部队人物设定:男主角曾是中世纪骑士潘多拉勇士,为了保卫自己的苹果家园城堡而独自对抗邪恶公爵的水果侵略部队。主线故事:男主角通过与水果侵略部队的战斗,最终获得胜利4.游戏名称:Applecastle二、游戏系统这个游戏使用Unity5.6.6平台进行制作。主要的系统就是弓箭系统,即射箭的方向动作,包括射箭,调整射箭方向特殊动作。三、界面设计3.1主菜单设计当玩家打开这款游戏时,看到的第一个界面就是游戏主菜单。主菜单包括2项:开始游戏和退出游戏。开始游戏:当玩家开始玩这款游戏时,点击start即可开始游戏,游戏进度从零开始,即整个游戏为初始化状态。退出游戏:退出这款游戏,点击退出游戏即可退出。主菜单的设计风格:在这款游戏中,并没有自定义设置游戏进程按钮,所有的游戏进程操作依赖于Unity提供的平台来进行。3.2游戏菜单设计游戏菜单即在游戏中表示游戏人物属性的菜单,包括经验、金币和城堡等级。2在这款游戏中,经验、金币和城堡等级都是采用Animation编辑器制作的具有特定动作的对象。考虑到游戏菜单的尺寸,经验、金币和城堡等级大小适中,不影响背景的呈现。3.3游戏人物设计因为游戏主调是卡通的,游戏人物类型也是卡通类型,即游戏人物符合游戏风格。因为主角和敌人都具有一定数量的动画模式,,所以需要将人物图片“肢解化”。由于这款游戏导入了AssetsStore里的素材,所以直接使用Animation编辑器进行编辑即可,如图所示。四、绘制游戏流程图4.1界面流程图界面流程图绘制的比较简单,大概绘制出主要的界面,如图所示。4.2战斗流程图在游戏中,当主角遇到敌人或者触发点时则会进入战斗场景,战斗场景主要是主角、敌人和箭的状态,可以分为以下几种:1°(1)主角静止状态;(2)主角射箭状态;(3)主角瞄准状态;如图所示。开始游戏退出游戏开始场景战斗界面结束界面32°(1)敌人行走状态;(2)敌人受伤状态;(3)敌人死亡状态;如图所示。3°(1)箭的静止状态;(2)箭的飞行状态;(3)箭的死亡状态;如图所示。静止射箭瞄准行走受伤死亡4五、人物设计5.1角色设计角色的动作集合:名称描述敌人站立原地不动的状态敌人行走向城堡移动敌人攻击攻击城堡敌人受伤被箭射中时,血量减少箭的静止箭在弓上箭的飞行箭飞向敌人箭的死亡箭射中敌人后消失弓的静止弓静止时的状态弓的射击弓射击时的状态5.2角色设计说明这款游戏中的敌人就是各种水果,玩家可以通过城堡上方的弓箭进行射箭,攻击水果敌人。当玩家未杀死敌人时,水果敌人即会攻击城堡,未杀死敌人越多城堡血量减少越快。随着关卡难度增加,敌人数量变多。六、美工需求列表6.1UI图片静止飞行死亡5这款游戏中主要的UI图片就是背景图片,一片蓝色的天空(如下图所示),之后在其中添加道具图片,使场景更加丰富。首先映入眼帘的是一片蓝色的天空。在蓝色的背景下,是一座城堡6.2动画图片主角动画:苹果、桃、梨、土豆6.3道具图片这款游戏中使用的道具图片主要有以下几项:关卡控制:用来显示关卡开始和结束时要出现的界面6武器:用来射击和瞄准关卡等级:每次击中目标都会得到相应的星星和金币7七、脚本说明菜单脚本Menu文件Menu用于控制游戏开始按钮与退出游戏按钮usingUnityEngine;usingUnityEngine.SceneManagement;publicclassMenu:MonoBehaviour{publicvoidStartButton(){Time.timeScale=1;//Unity的游戏时间缩放比例SceneManager.LoadScene(1);//加载场景}publicvoidExit(){Application.Quit();}}暂停脚本Pause文件Pause用于控制游戏暂停按钮。usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassPause:MonoBehaviour{publicGameObjectMenu;voidUpdate(){if(Input.GetKeyUp(KeyCode.Escape)){if(Menu.activeSelf==true){Time.timeScale=1;Menu.SetActive(false);//暂停}else{8Time.timeScale=0;Menu.SetActive(true);}}}}Resource脚本文件Resource脚本文件主要用于控制整个游戏的运行。主要控制游戏中敌人的产生,金币和经验的获得以及城堡等级的升级。usingUnityEngine;usingUnityEngine.UI;publicclassResourcesCastle:MonoBehaviour{publicintCoins;//金币publicintExperience;//经验值publicintLevelCastle=1;//等级publicintWave=1;//产生敌人的速度publicfloatTimers=120f;publicGameObjectCl1;//城堡的部分publicGameObjectCl2;publicGameObjectCl3;publicTextCoinsText;//显示金币的数量publicTextExperienceText;publicTextLevelCastleText;publicTextWaveText;privatefloattimes;privateboolWave2=false;privateboolWave3=false;privateboolWave4=false;privateboolWave5=false;voidStart(){times=Timers;}9voidUpdate(){WaveUp();Texts();Waves();LvlCastle();}voidWaveUp(){if(Wave5==true){Wave=5;}if(Wave==2&&Wave2==false){gameObject.GetComponentEnemySpawn().TimerMax-=2;Wave2=true;}if(Wave==3&&Wave3==false){gameObject.GetComponentEnemySpawn().TimerMax-=3;Wave3=true;}if(Wave==4&&Wave4==false){gameObject.GetComponentEnemySpawn().TimerMin-=1;gameObject.GetComponentEnemySpawn().TimerMax-=4;Wave4=true;}if(Wave==5&&Wave5==false){gameObject.GetComponentEnemySpawn().TimerMin-=2;gameObject.GetComponentEnemySpawn().TimerMax-=4;Wave5=true;}}voidTexts(){10CoinsText.text=Coins.ToString();ExperienceText.text=Experience.ToString();LevelCastleText.text=LevelCastle.ToString();WaveText.text=Wave:+Wave.ToString();}voidWaves(){times-=Time.deltaTime;if(times=0){Wave+=1;times=Timers;}}voidLvlCastle(){if(Cl1.activeInHierarchy==true){LevelCastle=1;}if(Cl2.activeInHierarchy==true){LevelCastle=2;}if(Cl3.activeInHierarchy==true){LevelCastle=3;}}}ArmyLvlUp脚本文件。ArmyLvlUp用来控制射箭的速度usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassArmyLvlUp:MonoBehaviour{publicintPriceSkill=200;publicfloatrate=1;11publicfloatrateAi=2;publicGameObjectBow;publicGameObjectBowAI;publicvoidRateOfFire(){GameObjectRes=GameObject.Find(MainCamera);if(Res.GetComponentResourcesCastle().Experience=PriceSkill&&Res.GetComponentResourcesCastle().Coins=PriceSkill*3)//经验达到200{Res.GetComponentResourcesCastle().Experience-=PriceSkill;Res.GetComponentResourcesCastle().Coins-=PriceSkill;if(Bow!=null){Bow.GetComponentBow().RateOfFire-=rate;}if(BowAI!=null){BowAI.GetComponentBowAI().RateOfFire-=rateAi;}Destroy(gameObject);}}}CastleHealthy脚本文件CastleHealthy脚本主要用于控制城堡血量usingUnityEngine;usingUnityEngine.UI;usingUnityEngine.SceneManagement;usingSystem.Collections;//健康城堡-健康的数量。//•你失去-预置负责显示UI//元素,如果HealthCastle或=0。publicclassCastleHealth:MonoBehaviour{publicSliderSliders;publicfloatHealthCastle=1000f;publicGameObjectYouLose;voidStart(){Sliders.maxValue=HealthCastle;12}voidUpdate(){Sliders.value=HealthCastle;StartCoroutine(HealthNull());}IEnumeratorHealthNull(){if(HealthCastle=0){if(Input.GetKeyUp(KeyCode.Escape)){Time.timeScale=1;}YouLose.SetActive(true);yieldreturnnewWaitForSeconds(5);SceneManager.LoadScene(0);}}}CastleLvlUp脚本文件。CastleLvlUp用于控制城堡的升级。usingSystem.Coll
本文标题:游戏策划书
链接地址:https://www.777doc.com/doc-4014795 .html