Giter VIP home page Giter VIP logo

makegameengineatnight's Introduction

游戏引擎 浅入浅出

GitHub license GitHub license GitHub license

😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊

Useful links

📘 在线阅读

📙 随书项目实例

📗 Markdown

Directory

📁 files

存放 blender、xmind、drawio 等源文件。

📁 imgs

存放 markdown 图片。

📁 pages

存放 markdown 文档。

📁 samples

存放随书实例 CLion 工程。

Chapter

我们每天与游戏引擎打交道,有时候会心痒痒想了解游戏引擎是怎么做的,但是游戏引擎是如此庞大的一个工程,如虚幻这行业至尊,代码量更是复杂到以千万行计,个人想完成一个游戏引擎似乎是不可能的事情。

不如退而求其次,从实现一个简单的游戏引擎入门,然后再深入Unity/Unreal的源码去钻研。

本书拆分游戏引擎的多个模块,到书中的每一章进行讲解,最终实现一个简单的游戏引擎。

Content

本书包含内容

✅ 各种开源库的使用方式

✅ 如何将开源库组装成游戏引擎

本书不包括内容

⛔ 图形学

⛔ 物理学

⛔ 硬件知识

对从事游戏性能优化工作的开发者,从本书中或许可以找到以下问题的答案:

✅ 为什么要合并DrawCall?

✅ 为什么要减少顶点?

✅ 为什么要减少骨骼数量?

✅ 为什么要将图片压缩为不同的格式?

✅ 为什么要烘焙灯光贴图?

✅ 为什么要减少阴影?

✅ 为什么……?

Learning style

图书以实战为主,大部分章节都有CLion实例项目,项目路径在章节开头或结尾给出。

个人推荐的学习方式如下:

▶️ 打开CLion项目,编译运行,看看效果。

▶️ 过一遍代码,断点调试一下。

▶️ 看一遍章节内容。

▶️ 再过一遍代码。

Find&Load CLion Project

每一小节的文章开头都贴出了本小节的CLion项目,按照下面Gif图指引打开。

Resource download

本书Markdown以及章节配套项目托管在Github上,读书过程中有疑问、发现错误都可以提Issues。

Github:https://github.com/ThisisGame/makegameengineatnight

本书使用到的其他工具,都在GameDevTools中集成。

GameDevTools: https://github.com/ThisisGame/GameDevTools

Contributors

项目目前由我个人维护更新, you could become one too !

ThisisGame
陈鹏

Sponsors

GitHub
GitHub

JetBrains
JetBrains

makegameengineatnight's People

Contributors

thisisgame avatar cp790621656 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.