Git Product home page Git Product logo

first_flutter_app's Introduction

👋🏻 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

first_flutter_app's People

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.