• 软工2019作业二


    最想学的:游戏开发

    对游戏以及图形界面的认识:

    游戏开发最主要的有三个分支:策划,程序和美工。但是想要制作一个游戏,这三个方面是无可避免地需要去了解的。

    我暂时只会程序这一部分,可能掌握的不完整,但是经过阶段学习,我会完善自己的技能。一提到游戏开发,很多人都会想到游戏引擎,Unity,虚幻,cocos等。但是我对游戏引擎了解的并不多,我能想到的只有自己怎么用代码实现所有功能。既然我能想到,基于好奇与激动我就会去写。

    还没开始我就遇到了问题——我唯一会的C/C++好像实现不了那么美观的游戏画面。从学C开始,我们一直面对的是黑框,它没有界面,最多也只能改变字体背景颜色看起来稍微炫酷一点。我去网上了解了一下,发现很多有着图形界面的游戏或者程序都是用C++写的,那么它的界面是怎么来的呢?答案就是:图形库。

    网上有很多C++能用的图形库,我第一入手的是Easyx,一个基于2D界面,非常基础的图形库,库函数调用十分简单,就像在画板上画画一样。有了图形库,我们就能做很多“好玩”的东西了。

    逐渐地,我对这些“好玩”的东西的要求从二维升到了三维,然而三维空间里的参数可没二维的简单。三维空间最重要的就是三维模型设定,最关键的就是三维向二维投影显示。简单的图形库中是没有提供这些模板的,需要自己定义与计算。我试着写了一些,点,线,面,向量等,但是它们之间的关系越到后面越复杂,觉得之前写得太烂了又回去重构理清一下关系。反复折腾几次后,我的目光渐渐投向了之前被我忽略的游戏引擎,看懂之后稍微有了一点逻辑关系,我在干什么?建立一个三维世界的模型,建立模型之后能不能用得上得看它有没有被主函数调用,那我这是在写游戏库函数,相当于基础游戏引擎。于是有些函数和数学公式我去从其他游戏引擎借鉴,一看,其实有很多处理都很相似,emmm,我辛辛苦苦推导出来的公式其实网上一搜就都有,之前我都没关注过,这就是闭门造车的尴尬。


    ##学习计划: + ###第一个月和第二个月 #### 自己想写的引擎,必然是要再继续下去的,所以第一个月和第二个月,我决定继续构建我的游戏引擎去,深入了解一下游戏内部的运行机制。 + ###第三个月 #### 学习Unity3D和学习C#,因为Unity3D需要C#。网传UE4很难入手,但它是支持C++的,所以我还是去了解了解。 + ###第四个月 #### 学习游戏相关元素的制作,模型,贴图之类的。还想学学Direct3D库和OpenGL库。 + ###第五个月 #### 学习游戏设计策划。模型世界是模型世界,三维游戏是三维游戏,我可能会对我自己建出来的模型非常满意,但是玩家们可不会玩模型都能玩一整天,从模型到游戏除了程序以外,还得要有相应的剧情,让玩家有体验感。
  • 相关阅读:
    Atitti 图像处理 图像混合 图像叠加 blend 原理与实现
    Atitit Gaussian Blur 高斯模糊 的原理and实现and 用途
    Atitit 图像处理 灰度图片 灰度化的原理与实现
    Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结
    Atitit 实现java的linq 以及与stream api的比较
    Atitit attilax在自然语言处理领域的成果
    Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库
    Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结
    Atitit apache 和guava的反射工具
    atitit。企业的价值观 员工第一 vs 客户第一.docx
  • 原文地址:https://www.cnblogs.com/M031702113/p/11522677.html
Copyright © 2020-2023  润新知