一、游戏主旨

在游戏编写的过程中,我一直在思考我自己制作的游戏的主旨是什么,想来想去,结合“百战天虫”游戏的特点,我想到了“战争”这个主旨。游戏中阵营的相互厮杀不正如国家之间的战争吗?于是,我希望通过这款游戏反映我对战争的一些思考。在游戏结束或者暂停的时候,没有显示胜利者,因为我觉得战争没有赢家,而在屏幕上打印出关于战争的名言,包括我还在某个界面埋藏了我设计游戏的彩蛋。总的来说,我希望通过这个游戏来表达反对战争、呼吁和平的主旨。

二、遇到的问题

本次程序设计,让我无比清楚地感受到了程序的前后关联性

拿到框架后,第一个难题是理解“框架在干什么?怎么实现相应功能的?”,在理解框架的过程中,我清楚地意识到,今后在给别人写程序的时候,一定要注意程序的可读性。之后,我遇到的第二个难题是复杂随机地形,在解决这个问题的过程中,我意识到“人物跳跃”“人物运动”“地形破坏”等等功能都是和最初的地形设计紧紧相关的,是相互配套的,同时,地形写的复杂,后面的种种也就相应复杂。刚开始我使用了一维数组产生复杂随机地形,可是到游戏制作后期,我发现一维数组的效率太低,使游戏变得很卡,我只得把地形改成效率更高的二位数组,但是,这简直是一个灾难。以前我所有写的关于人物控制、碰撞的函数都得重写。这个经历让我意识到“三思而后写”的重要性,不过话又说回来,如果没有前期的算法以及其导致的种种问题的出现,我们又怎能想出更好的算法呢?

第二个感受很深的是:算法>代码

真正困难的是想出算法,理清逻辑,逻辑清楚了,代码很快就能写好,如果逻辑不清楚,写代码的时候很容易就晕了。在写一个大程序的过程中,功能块内部的逻辑,以及各部分的逻辑关系都十分重要,这是本次大作业给我十分深刻的体验。

第三个感受很深的是:其实没你想的那么难

以前觉得有些游戏功能很神奇,入了门后,发现实现这些功能真的没有想的那么难,用一些“转化”、“加额外的限定条件”思想,这些看似神奇的游戏功能就能清楚实现了。这也让我明白,逻辑上一些无条件的很完备的命题,在实现的时候往往变得有条件而且不是完备的了,这大概也是“科学”和“工程”之间的小小差异吧。

三、游戏的设计思路

人类都喜欢生动的画面

在制作游戏的过程中,我始终秉承的一个原则是:多细节、多动画。我试图让游戏中能动的元素都动起来,“飘动的旗子”、“扔手雷、发射火箭弹的动作”、“自动锁定的镜头”,这些元素让整个游戏画面变得更加有生气,没有人的眼球喜欢静止不动的画面。

我们的耳朵很敏感

我在挑选bgm的时候很小心,好的bgm会激起人的共鸣。为了凸显战争的残酷,主菜单的bgm选的很空冷而壮丽,但在四个游戏地图的bgm选取就相对轻松,因为我并不想让玩家怀着很沉重的心情去玩这款游戏。而四个地图的bgm也是选择与背景图片相关的,各有各的特色。我一直相信,精彩的配乐让游戏伟大。

不可知性

如果在玩游戏的过程中 ,玩家能预测到游戏下一步将要发生什么,那么游戏的可玩性就大大下降,为此,我在使用素材时,用了随机选取备用素材,例如:我在英雄回合开始语音中,为每个英雄准备了8个不同的语音,在暂停界面准备了8个不同的画面。通过这样的做法,游戏的不可知性大大提高,同时也让游戏中的语音、名言成为游戏之外本身很有趣的小细节。

源码下载地址:https://www.write-bug.com/article/1779.html

基于WIN32 API界面编程实现的百战天虫小游戏相关推荐

  1. [文档和源码分享] 基于WIN32 API界面编程实现的百战天虫小游戏

    在游戏编写的过程中,我一直在思考我自己制作的游戏的主旨是什么,想来想去,结合"百战天虫"游戏的特点,我想到了"战争"这个主旨.游戏中阵营的相互厮杀不正如国家之间 ...

  2. [源码和文档分享]基于VC++的WIN32 API界面编程实现的百战天虫小游戏

    1 游戏介绍 本游戏是建立在百战天虫游戏框架下的,具有完全不同的游戏背景的一款回合制对战游戏.游戏设计者受到口袋妖怪,以及近期上映的电影<神奇动物在哪里>的启发,设定了"收服精灵 ...

  3. 基于VC++的WIN32 API界面编程实现的百战天虫小游戏

    1 游戏介绍 本游戏是建立在百战天虫游戏框架下的,具有完全不同的游戏背景的一款回合制对战游戏.游戏设计者受到口袋妖怪,以及近期上映的电影<神奇动物在哪里>的启发,设定了"收服精灵 ...

  4. [源码和文档分享]基于WIN32 API界面编程实现的彩球滑梯小游戏

    一.游戏说明 1.1 玩法 游戏界面会生成不断上升的板子,玩家需要控制小球向下条约板子,使它不碰到上方陷阱. 1.2 游戏内容 两种球:轻球(生命2).重球(生命4) 5种板子:普通木板,移动石板.陷 ...

  5. [源码和文档分享]基于WIN32 API界面编程实现的华容道小游戏

    1 游戏简介 华容道是古老的中国智力游戏,由"曹操败走华容道,正与关公狭路逢.只为当初恩义重,放开金锁走蛟龙"这一故事情节引申而来.华容道有一个4*5的二十个方块构成的棋盘,下方边 ...

  6. 基于WIN32 API界面编程实现的华容道小游戏

    1 游戏简介 华容道是古老的中国智力游戏,由"曹操败走华容道,正与关公狭路逢.只为当初恩义重,放开金锁走蛟龙"这一故事情节引申而来.华容道有一个4*5的二十个方块构成的棋盘,下方边 ...

  7. 基于WIN32 API界面编程实现的贪吃蛇游戏

    1 设计目的和任务 本次期末大作业采用课程设计的形式进行,作为<Windows编程>课程的期末考核.要求综合运用Windows编程的相关知识,完成大作业的相关内容,并撰写设计报告.其目的和 ...

  8. [源码和文档分享]基于VC++的WIN32 API界面编程实现的飞机太空大战小游戏

    一.程序功能介绍 炫酷精美的飞机太空大战,为体现"设计"的原创性,团队不使用游戏引擎,也没有抄袭任何源代码.全局使用团队自行编写的游戏类对象编写程序.建立以WIN32分辨率960* ...

  9. 基于VC++的WIN32 API界面编程实现的飞机太空大战小游戏

    一.程序功能介绍 炫酷精美的飞机太空大战,为体现"设计"的原创性,团队不使用游戏引擎,也没有抄袭任何源代码.全局使用团队自行编写的游戏类对象编写程序.建立以WIN32分辨率960* ...

最新文章

  1. linux下dd命令详解
  2. iOS小技巧:用runtime 解决UIButton 重复点击问题
  3. Python模拟ICMP包
  4. 标准C程序设计七---66
  5. C++工作笔记-for与foreach之间的初步比较(反汇编初步窥探)
  6. c/c++教程 - 1.3 关键字、标识符命名规则
  7. 【转】腾讯移动品质中心TMQ [腾讯 TMQ] 测试管理平台大比拼
  8. python——os模块获取绝对路径
  9. stm32h7内存分配_stm32h7“分散加载方式管理多块内存”
  10. Javascript 笔记与总结(2-1)Javascript 与 DOM
  11. 欧盟无线产品RED认证
  12. CXF学习(1)——CXF框架
  13. 动态规划-二维dp数组和滚动数组
  14. python 以图搜图百度_基于opencv的图片检索(模仿百度的以图搜图功能)
  15. 烂在肚子里的救命知识!看看吧!
  16. 数据库修改DEDECMS后台密码,忘记了织梦后台密码怎么办?
  17. 苹果cms程序,播放页跳转的修补方法
  18. 【竞赛项目详解】二手车交易价格预测(附源码)
  19. 做html5抽奖程序xu,用jQuery实现抽奖程序
  20. Spark SQL原理及常用方法详解(二)

热门文章

  1. 更改总帐科目未清项管理
  2. 北斗授时设备(NTP服务器)对高速联网收费的重要性
  3. 关于我拒绝了腾讯测试开发岗offer这件事
  4. 沙盒软件-软件多开-命令行-运行参数-进程通信-运行和评估
  5. 您是《大腕》程序员吗?
  6. 最新版:GOOGLE BING EMAIL EXTRACTOR:Crack
  7. 大话互联网行业发展史
  8. 深度社会工程学攻击,你了解多少?
  9. mysql数据库index权限_MySQL数据库权限体系入门(4)---管理全局权限
  10. python自动下载安装软件_30行Python代码从百度自动下载图片(内附源码和exe程序)...