GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com โ€” coding-pelican - Overview

@coding-pelican coding-pelican Follow
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
@coding-pelican
coding-pelican
Follow
View coding-pelican's full-sized avatar

Gyeongtae Kim coding-pelican

Follow
Passionate software engineer with a focus on (Game Engine ->) C-like extended language development.
67 followers ยท 67 following
  • Busan, Republic of Korea
  • 01:58 (UTC +09:00)
  • https://dasae-scenic-route.hashnode.dev/
  • dev.dasae
  • @dev_dasae

Achievements

Achievement: QuickdrawAchievement: Pull Sharkx2Achievement: StarstruckAchievement: YOLO

Achievements

Achievement: QuickdrawAchievement: Pull Sharkx2Achievement: StarstruckAchievement: YOLO

Organizations

@Plodio
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
coding-pelican/README.md

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

๐Ÿ”— Accessible Version

๐Ÿ’ฌ About Me

let dev_dasae = SWEngineer_init(make$((SWEngineer_Config)({
    .allocator = allocator,
    .behaviour = PelicanLike_behaviour(create$((Behaviour_Params)({
        .id   = StrCompHash_create(u8_l("coding-pelican")).value,
        .name = u8_l("Gyeongtae Kim"),
    }))),
    .hobby = u8_l(
        "๐Ÿ“ธ Photography"
        "๐Ÿƒ Running & Jogging"
        "๐Ÿ—ฃ๏ธ Learning languages"
    ),
    .main_domain = u8_l("Game Engine Development"),
    .core_skills = create$((SkillSet)({
        .languages = { own, c, cpp, csharp, zig, rust, go, python },
        .engines   = { own, unity, godot },
        .tools     = { own, git, vscode },
    })),
    .special_skills = u8_l(
        "๐Ÿข 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)"
    ),
})));
defer_(SWEngineer_fini(&dev_dasae));

let favorite_foods = &dev_dasae->favorite_foods;
try_(List_append$Food(favorite_foods, Food_init(u8_l("๐Ÿ•Pizza"))));
try_(List_append$Food(favorite_foods, Food_init(u8_l("๐Ÿ”Chicken"))));

let eatable = PelicanLike_foodEatable(dev_dasae->behaviour);
for_(($s(favorite_foods->items), $rf(0))(food, idx) {
    io_stream_println("{:ul}: {:s}", idx + 1, food->name);
    FoodEatable_eatFood(eatable, food);
});

// output:
// 1: ๐Ÿ•Pizza
// 'Gyeongtae Kim' swallows '๐Ÿ•Pizza' without chewing!
// 2: ๐Ÿ”Chicken
// 'Gyeongtae Kim' swallows '๐Ÿ”Chicken' without chewing!

๐Ÿ“ซ Contact Links

  • ๐Ÿ“ง Email: [email protected]
  • ๐Ÿ’ป GitHub: https://github.com/coding-pelican - My GitHub profile for open-source projects and contributions.
  • ๐Ÿ“ Hashnode: The Scenic Route - Read my technical articles and tutorials on various programming topics.
  • ๐Ÿ“ท Instagram: @dev.dasae - Follow me for behind-the-scenes glimpses of my projects and personal life.
  • ๐Ÿ’ฌ Threads: @dev.dasae
  • ๐Ÿฆ X(Twitter): @dev_dasae
  • ๐ŸŽฎ itch.io: Dev.Dasae - Check out my game development projects and releases.

๐Ÿ“– 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.

Pinned Loading

  1. coding-pelican coding-pelican Public

    Who is Gyeongtae Kim?

    2

  2. dasae-headers dasae-headers Public

    Modern C extensions for safer, more expressive systems programming.

    C 27 1

  3. macrometa macrometa Public

    Macrometa: Macro Metaprogramming (MCMT) Library for C

    C 7

  4. pacman-c pacman-c Public

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

    C 2

  5. tic-tac-toe-c tic-tac-toe-c Public

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

    C 2

  6. rebuild3-korean-patch-mobile rebuild3-korean-patch-mobile Public

    Rebuild 3 ํ•œ๊ตญ์–ดํ™” ์–ธ์–ด ํŒฉ for ๋ชจ๋ฐ”์ผ

    1

Something went wrong, please refresh the page to try again.
If the problem persists, check the GitHub status page or contact support.

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 โ€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800ร—600. No cookies required.