Git Product home page Git Product logo

๐Ÿ‘‹๐Ÿป Hey, there! I'm Gyeongtae Kim

๐Ÿ”— Accessible Version

๐Ÿ’ฌ About Me

SWEngineer* coding_pelican = new_SWEngineer(
  person: new_Person(
    behaviour: (Behaviour*)new_PelicanLike(
      name: "Gyeongtae Kim"
    ),
    hobby: "๐Ÿ“ธ Photography"
           "๐Ÿƒ๐Ÿป Running & Jogging"
           "๐Ÿ—ฃ๏ธ Learning languages"
  ),
  mainDomain: "Game Engine Development",
  skills: (SkillList){
    .languages = (Skill*)(Language[]){
      C, CPlusPlus, CSharp, Python
    },
    .engines = (Skill*)(Engine[]){
      Unity, Godot
    },
    .tools = (Skill*)(Tool[]){
      Git, CMake, VSCode
    }
  },
  specialSkills: "๐Ÿข Proud owner of an epic tech neck"
                 "๐Ÿฆ– Cheers every time code execution speeds up by 0.01 seconds"
                 "๐Ÿ† On a record-breaking caffeine-free streak (since 2022-09-05)"
);

FoodList_Append(
  coding_pelican->person->favoriteFoods_,
  new_Food("๐Ÿ•Pizza")
);
FoodList_Append(
  coding_pelican->person->favoriteFoods_,
  new_Food("๐Ÿ”Chicken")
);

coding_pelican
  ->person
  ->behaviour
  ->IFoodEatable.EatFood(
    (IFoodEatable*)coding_pelican->person->behaviour,
    coding_pelican->person->favoriteFoods_->foods[0][0]
  );

// output:
// 'Gyeongtae Kim' swallows '๐Ÿ•Pizza' without chewing!

๐Ÿ“ซ Contact Links

๐Ÿ“– Story?

๐ŸŽฎ My Journey: From a Curious Boy to a Game Engine Developer

๐Ÿ‘ฆ Once Upon a Time...

There was a young boy with unusual hobbies: DOS game emulation and game localization. He was quite the geek, though he didn't realize it at the time.

One day, curiosity struck him. Instead of developing games within a game development environment, he wondered what it would be like to develop games in the real world.

His best friend encouraged him, "Just give it a try!" "Why not! Let's do it!" he replied. He stumbled upon a Java-based block-coding app and began his journey into game development.

That young boy, once filled with dreams, is now an engineer who develops his own game engines.

What happened in between? Keep reading to find out!

From "I'll Make Everything Myself!๐Ÿ˜†"

"Who needs a game engine to create a fun game? I can create fun games even without a game engine!" โ€” The past me

This statement isn't entirely wrong. The boy disliked dependencies and wanted to build everything from himself.

He actually made a pretty fun game, his first project titled 'We are Going'.

It was fun but full of issues, as you'd expect from a first project:

  • ๐ŸŒ "A text adventure game dropping to 16 FPS?"
  • ๐ŸŒช๏ธ "The UI elements are flying around!"
  • ๐Ÿคทโ€โ™‚๏ธ "All the play story logs are gone!"

To "I'll Create to Understand Better๐Ÿค”"

"What I cannot create, I do not understand." โ€” Richard Feynman

Overwhelmed by bug reports and the worst performance issues across multiple projects, he realized he needed a solid foundation and systematic approach to create stable, high-performance games that could bring his ideas to life.

  • He learned half of C (it was harder and less fun than Java).
  • Developed simple mini-games (a top-down shooter and a Super Hexagon clone) with Godot.
  • Learned C# and Unity.

Feeling stagnant in his learning, he ventured into non-game domains, exploring various languages and frameworks to expand his knowledge.

He faced a common challenge: lack of foundational knowledge, leaving many concepts unclear.

  • He delved into algorithms and data structures.
  • Studied C++ and participated in informatics Olympiads and various programming competitions.
  • Sought to understand computers and paradigms, grasping about memory management and diving into fundamentals of CS, English, discrete mathematics, and programming.

By connecting these dots and revisiting C, the scattered puzzle pieces finally fell into place.

True understanding. He realized that by directly working with concepts and building things himself, he could gain insights and integrate background knowledge more effectively.

He began to enjoy developing high-quality software more than just high-performance games.

Through numerous collaborations and freelance work, delivering quality softwares to clients became a source of joy, extending beyond just his own games and projects.

๐Ÿ’ป Technical Perspective

While my main domain remains game development, my approach has evolved. I still want to create great game software. Often, this involves using existing game engines, which led me to build my own.

Understanding the "black box" of game engines is, I believe, The path to creating great software.


Hits

Gyeongtae Kim's Projects

ai_basic_of_boostcourse icon ai_basic_of_boostcourse

๋ถ€์ŠคํŠธ์ฝ”์Šค ์ฝ”์นญ์Šคํ„ฐ๋”” AI Basic 1๊ธฐ์˜ ๋ฏธ์…˜ ํ’€์ด ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ

baekjoon-ps-cpp-study icon baekjoon-ps-cpp-study

๋ฐฑ์ค€ '๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ' 1๋‹จ๊ณ„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด

c-style-guide icon c-style-guide

Guidelines for modern C coding, including style conventions and layout organization.

codeup-problem-solving icon codeup-problem-solving

์ฝ”๋“œ์—… ๊ธฐ์ดˆ 100์ œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด

evolution icon evolution

A sandbox game/simulator that demonstrates machine learning with evolutionary algorithms.

first_flutter_app icon first_flutter_app

์ฒซ๋ฒˆ์งธ ํ”Œ๋Ÿฌํ„ฐ ์•ฑ ๊ฐœ๋ฐœ

guide-to-competitive-programming-solving-notes icon guide-to-competitive-programming-solving-notes

<์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŠธ๋ ˆ์ด๋‹> ์ฑ…์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ด€๋ จ ๊ธฐ๋ฒ• ๊ณต๋ถ€ ๊ธฐ๋ก ๋…ธํŠธ

lionstagram icon lionstagram

์•ˆ๋“œ๋กœ์ด๋“œ Kotlin ๋ฐ Firebase ์—ฐ์Šต์„ ์œ„ํ•œ 'Instagram' ํด๋ก 

macrometa icon macrometa

Macrometa: Macro Metaprogramming (MCMT) Library for C

pacman-c icon pacman-c

Simple implementation of the classic Pacman game using ASCII characters in C.

problem-solving-of-coding-test-with-c icon problem-solving-of-coding-test-with-c

Problem Solving of Coding Test with C - "์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ"์˜ ๋ฌธ์ œ๋ฅผ C๋กœ ํ’€์ด ๋ฐ ๊ด€๋ จ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด

project-infected icon project-infected

๊ฐœ๋ฐœํ•˜๋Š” ๋„๋น„ ๋™์•„๋ฆฌ 2D ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„ ํ”„๋กœ์ ํŠธ

roguelike-game icon roguelike-game

์‹œํ—˜ ์‚ผ์•„ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๋กœ๊ทธ๋ผ์ดํฌ ๊ฒŒ์ž„

tic-tac-toe-c icon tic-tac-toe-c

Implementation of the classic Tic Tac Toe game in C. The game allows players to play against each other or against an AI opponent.

unciv-realistic-earth-maps icon unciv-realistic-earth-maps

Unciv user-created maps - earth map add-on mode. By dev-dasae. It is recommended to go to 'Map Editor > Generate > Partial > Spread Resources'.

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.