Core Principles of 3D Game Development Revealed by Veteran Developers

1. 📘 3D Game Development Core Principles Book - Learn 3D rendering fundamentals with C++ and Modern OpenGL 2. 🎯 Step-by-step Learning from Basics to Practice - Includes coordinate transforms, shader programming, rendering library 3. 💡 Backer Discounts and Online Community Access - Solo-published project offering discounts and supporter communication


Core Principles of 3D Game Development Revealed by Veteran Developers Typhoon Ground

1. 📘 3D Game Development Core Principles Book - Learn 3D rendering fundamentals with C++ and Modern OpenGL 2. 🎯 Step-by-step Learning from Basics to Practice - Includes coordinate transforms, shader programming, rendering library 3. 💡 Backer Discounts and Online Community Access - Solo-published project offering discounts and supporter communication

Core Principles of 3D Game Development Revealed by Veteran Developers
US 7
19800 KRW

Book Introduction

Learn from the Basics! 3D Game Programming

After the Dragon Book 🐲 and Skull Book 💀, a new book is finally getting ready to be released after a long time.A beginner's guide to 3D game programming is here to introduce to you. This book allows you to build a 3D rendering library and understand its principles using only C++ and OpenGL, without relying on a game engine.

3D games, can't you just make them easily with Unity or Unreal?

Of course, games are usually made with game engines like Unity or Unreal. However, if you understand the underlying principles and look at the engine from that perspective, you can use it much more deeply and diversely. How about exploring the inner workings of a game engine with this book? Aspiring game programmers will gain a solid foundation, and professional programmers will strengthen their core skills.

This book has unique features that set it apart from existing books.Three Key Features that I can confidently share with you.

First, it's easy.

Question 1. Do you know the basic syntax of C++?
Yes -> Go to number 2.
No-> Sorry. ㅠ_ㅠ

Question 2. Can you do addition, subtraction, multiplication, and division?
Yes -> Congratulations! This book is perfect for you.
No -> 1+1=?

You only need to prepare two things.Basic knowledge of C++ syntax, Arithmetic operations Level of math skills that can handle basic calculations.

Shader? Matrices? Trigonometry? You can't know everything from the start.

After reading this book, at the very least,Aha! So this is how you use it in this situation. You will come to understand.


Second, we have selected only the essential core topics.

We boldly removed features that are too complex or already specialized for game engines. The focus is on understanding the fundamental principles that apply to any game engine.

Triangle rendering, which can be called the "Hello World" of 3D programming


Third, it bridges the gap between theory and practice.

⬆️Practical AreaGame EngineImplementing spectacular features
↕️Middle GroundUnderstanding 3D rendering principles with C++ and OpenGL
⬇️Theoretical AreaWith just a single point-drawing functionSoftware RendererCreating

This book is positioned exactly in the middle between low-level theory and high-level application. It thoroughly fills in the often overlooked and easily forgotten areas for both aspiring and current game programmers.

It may not be flashy, but you can build a solid foundation.



Target Readers

Aspiring 3D Game Programmers

Game programmers should not remain merely asusers of the engine. To truly use a game engine properly, you must understand the underlying principles and know how to apply them.

Of course, it may seem to take longer and appear slower. However, taking each step properly is the way to grow into a programmer with a strong foundation.

Math Quitter

During my school days,Math Quitter It was. Even after becoming a game programmer, I tried to avoid math for a while. I lacked confidence whenever I saw a math formula. I would just think, 'I can just use another function...' and move on.

However, after I started learning from the parts I didn't know using a very easy book, I was able to apply math formulas to games and understand engine code. It felt like entering a whole new world.

To all math-avoiders! You can no longer turn away. This book will guide you step by step.

Professional game programmer

I also dedicate this book to all programmers who are passionately working in the field. Use this book to neatly organize the basic principles you may have forgotten due to work fatigue.



Table of contents

Part 1. Basic knowledge of 3D rendering

  CHAPTER 1. Getting started with OpenGL

    What is OpenGL?

    Why use OpenGL?

    Setting up the development environment

    Creating a window

    Summary

  CHAPTER 2. Drawing a triangle

    Basic knowledge

    Vertex buffer

    Index buffer

    Summary

  CHAPTER 3. Colors, Texture Mapping

    Changing Polygon Colors

    Texture Mapping

    Texture Composition

    Summary

Part 2. Principles of 3D Rendering

  CHAPTER 4. Transformation

    Translation, Scale, Rotation Matrices

    Basics of Shader Programming

    Space

    Summary

  CHAPTER 5. Basic Mathematics

    Vectors

        Vector Addition, Subtraction, Multiplication, Dot Product, Cross Product

    Trigonometric Functions

        Tangent, Sine, Cosine

        Circle and Trigonometric Functions

Pi, Radian

Summary

CHAPTER 6. Rendering Library Development

Class Structure

Game Object

Camera

Light

Scene

Mesh, Material, Shader

Loading OBJ Files

Creating a 3D Scene

Summary

Part 3. Shader Programming and Curves

CHAPTER 7. Shader Programming

Solid Color Shader

Lighting Techniques

Rim Lighting

Creating Outlines

    Adjust body shape

    Summary

  CHAPTER 8. Spline

    Bézier spline

    Hermite spline

    Catmull-Rom spline

    Summary


Preview content


  • Basic knowledge of 3D rendering

  • By learning how to use the OpenGL API and texture mapping techniques, you can understand how 3D rendering works.



  • Concept of space

    Learn how a single vertex passes through local space, world space, and view space to be displayed on the screen.




    Game mathematics

    Discover how vectors, matrices, and trigonometry are used in 3D game programming. Math that once seemed difficult becomes fun, and as you read the book, you'll find yourself understanding it naturally.




    Rendering library development

    Try creating a 3D rendering library. Through this process, you will learn how individual pieces of knowledge come together to support each part of 3D rendering.




    Shader programming and spline techniques

    Learn advanced topics such as shader programming and splines. By writing basic lighting shaders, rim lighting, and character body shape adjustment shaders, you can experience the essence of 3D game programming.

    We guide you into the mysterious world of curves by implementing various curve algorithms along with the principles of Bézier curves.


    This is the appearance of the actual printed sample book.

    Front cover view.

    Back cover view.


    The reason I wrote this book.

    There are many books about game development in the world. If this book simply expressed the same content in a different tone, there would have been no need to write it. I would like to share the reason I wrote this book and why it is being launched on Wadiz funding.

    Let's create an easy-to-learn 3D programming book.


    When I was an aspiring game programmer, books that specialized in game mathematics were too difficult for me. Even though I wanted to make games with DirectX or OpenGL, I was often frustrated by unfamiliar concepts like coordinate transformation, matrices, and shader programming.


    Even after becoming a professional programmer, I always avoided looking into engine code and only made games within the provided features. I always felt a sense of lacking in my heart as I continued my career as a programmer.


    Then, I read a book that explained middle and high school mathematics very easily, and after that, I started to dig into the principles of game mathematics and 3D rendering one by one. Ironically, the more I studied the basic theories thoroughly, the more diversely I was able to use game engines.

    At first, I approached it easily, but gradually increased the difficulty, and eventually, I was able to implement features needed for commercial games, even those that go beyond the limits provided by the engine.

    It felt like such a waste to keep this experience to myself, so I started writing this. Learning easily means it is easier to step into the field, and once you take that first step, you gain the strength to find the right path on your own. I wanted to create a book that could build such foundational strength.


    A series of articles that started as an online lecture.

    A serialized lecture posted on the game developer community 'GameCodi'.

    This book was not written with the intention of publishing from the beginning. I just wanted to organize the knowledge I had learned and share it on the internet. So I started posting on a game developer community, and the response was quite good. In particular, I received a lot of feedback that it was easy to understand and highly readable, which made me think I should expand it into a book and share it with more people.


    Finding a publisher is like picking stars from the sky.

    Writers write the text, but publishers make the book. So I submitted my manuscript to publishers, and after more than 20 rejections, I was grateful to receive a contact from a publisher who wanted to publish my book.

    However, a few days after the first meeting, the team I belonged to was disbanded and I had to urgently move to another department. After that, I wanted to quickly adapt to the new team, so the workload was heavy, and naturally, writing the manuscript was put on the back burner. In the end, the hard-won publishing plan fell through, and my manuscript was not made into a book.


    The reason for writing this in the era of AI.

    The regret from that time remained in my heart, and I had a strong desire to turn this writing into a book. After that, I made proposals to several other publishers, but was rejected every time. While I was keeping the manuscript stored safely on my computer, AI, including ChatGPT, began to emerge rapidly.

    Some people even said that accumulating development knowledge is now meaningless. In this situation, writing a book, a traditional medium, especially one that deals with basic principles in the fastest-changing IT field, seemed obviously unlikely to sell well to anyone.

    However, I saw a small niche among the flood of AI technologies. I recalled the motivation that first led me to write this book.

    Organize knowledge and share it with the world in my own message.

    What I truly wanted was to communicate with readers in a uniquely human language that cannot be felt from information simply provided by AI.

    'Why did I start writing this?' I believed that only by being able to answer this question would this book have meaning. And I wanted to capture that meaning in the book, so that even though it is a technical book, readers could feel the author's sincerity. If it were merely a list of knowledge, there would be no need to waste paper, and it would be a much better choice to use faster and more accurate AI.

    Motivating myself in this way, I began revising the manuscript again. I enjoyed the process of connecting fragmented writings, dividing chapters, and adding illustrations. I spent each day wondering how readers would perceive this writing and which words I should use.

    However, one unresolved issue was how to turn this writing into a book. I thought there might no longer be any publishers willing to accept my manuscript.



    Deciding to make the book myself

    At this point, I decided to make the book entirely on my own. Since I was familiar with word processing, basic document creation was not a problem. I had also used an image tool called GIMP from time to time, so I could create and edit the illustrations for the book myself. By incorporating exactly what I had learned and experienced in the field, I was confident I could write content that would be easily understood by readers.

    'When I don't know something, I approach it in the simplest way first. With this mindset, I decided to try publishing the book myself as well.


    Editing and cover design

    Turning the first draft into a publishable manuscript was difficult but enjoyable and challenging. As I found typos and corrected awkward sentences, I realized just how tricky Korean grammar can be.

    I decided to design the cover myself as well as the book's content. No matter how technical the book, I couldn't just make the cover carelessly. I ended up reworking the cover design five times and was able to complete a perfect cover that made the manuscript shine even more.


    Endless editing and test printing process

    Test printing revealed to me that there are many types of paper.

    Afterward, I changed the book's format to make it easier to read, selected fonts, adjusted margins, and went through multiple rounds of editing, gradually transforming the raw manuscript into the form of a book. Referring to books from other publishers on the market, I explored the world of book shapes, paper types, and binding methods as if I were venturing into an unknown world.

    Through this process, I wanted to share not only the book's content but also the process of making the book and my feelings throughout. Since technical books don't always have to be rigid, I wondered if I could make a more interesting book. Like a gamebook, I even included quizzes inside the cover so readers could enjoy flipping through the book.


    Choosing the offset printing method

    I had to choose a sturdy production method suitable for technical books that are often flipped through. I decided to use offset printing, which produces hundreds of copies at once, rather than digital printing, which prints one copy at a time. Although offset printing has high initial costs, its print quality is superior, making it much more readable and durable—perfect for a technical book.


    What I want to share through funding is the "process of knowledge sharing and publishing."

    I wanted to share every step of the process, from an ordinary game programmer writing and creating a book to publishing it. I thought funding was the best way to do this, and beyond simply receiving production support, I wanted to share my thoughts and writing with people living in the same era and receive their encouragement. I also believed that sharing the process of making a book with other developers who, like me, want to turn their knowledge into a book would be a meaningful endeavor.

    There are no fancy goods or success stories in my funding. It is not a book by a famous author, nor does it feature trendy AI technology. However, just as every food in the world has its own unique taste and feel, my book also contains my own message. As a writer and a book creator, my wish is for this book to find its rightful place.



    Book Specifications

    Paperback

    There may be slight changes in material and size depending on the final printing and binding conditions,
    but I will try to match it as closely as possible to the current appearance.

    The Wadiz funding reward price is 10% off the retail price. (In compliance with the fixed book price system)


    E-book

    A Google Drive download link will be sent to supporters.

    You can access and download within a certain period (30 days).

    The Wadiz funding reward price is 10% off the regular price. (In compliance with the fixed book price system)



    Funding goal amount

    We aim to produce 500 copies for the first edition, first printing.

    Required funds

    CostDetailed typeUnit price (KRW)QuantityAmount (KRW)
    Production costPrinting and binding5,0005002,500,000
    Shipping feeShipping fee2,5005001,250,000
    Packaging costPackaging box500500250,000

    Cushioning material500500250,000
    Labor costMaker labor cost250,0001250,000
    Contingency fundPayment failure and returns

    500,000
    Total


    5,000,000

    Since I have not yet received an official quote from the printing company, I have roughly gathered information to set up the budget.

    The total is expected to be around 5 million won, but it is not an easy amount to achieve through funding.

    Therefore, I will refer to the average successful funding amount on Wadiz,1,500,000 won as my goal.

    If the funding is successful, I will use the support of the backers as my driving force.

    I plan to cover the remaining insufficient costs with my own funds.



    Post-funding plans

    This book is scheduled to be sold at bookstores about 7 to 14 days after all funding rewards have been shipped.

    I would like to offer more price benefits to backers, but due to the fixed book price system, I can only provide a 10% discount. I ask for your understanding.

    I also considered exclusive rewards for backers only, but decided to exclude them for various reasons.


    However, I felt it would be a shame to end it like this, so I have created a small online communication space.

    https://cafe.naver.com/3dgamebook

    This is a space where you can ask and discuss not only the contents of the book but also general programming topics.

    Based on my over 20 years of experience in game development, I aim to create a space where backers can resolve career concerns, development questions, and share information with each other.



    FAQ

    Is this an officially published book with an ISBN?

    At the start of the funding, the book does not have an ISBN, but it will be issued during the funding process. The reward will include an official ISBN issued and a barcode printed on the back cover.


    Are you planning to establish a publishing company?

    Yes. I am still an individual, but soon I plan to establish a one-person publishing company. This is because you need to register as a publisher to receive an ISBN. In the end, I will be both the author and the representative of a one-person publishing company.

    I will also share the process of establishing the publishing company in real time through updates.


    Will the book be sold in regular bookstores after the funding ends?

    Yes. The book is scheduled to be sold in regular bookstores about 7 to 14 days after the rewards are shipped.

    I wanted to offer a bigger discount to backers, but I couldn't do so because I have to comply with the fixed book price system.

    Since you can use mileage and other benefits at online bookstores, some may feel that there is no additional advantage to backing the project.

    Therefore, I have created a Naver Cafe where you can always ask questions about the book or discuss other programming-related topics even after the funding ends.

    https://cafe.naver.com/3dgamebook

    In addition to Q&A about game programming, I will sincerely share my know-how and experience with backers regarding career concerns and questions about the game industry.