My Portfolio

Sentences about me:

As a mobile software developer, I have 11 years of experience and am competent in Multi-Threading Programming in Swift(ObjC) and the expert knowledge of Dispatch (GCD) & Combine, SwiftUI having a proven track record on App Store:  2 games, 1 utility, 1 business app.

Because I have multiple majors: chemistry, mathematics, computer science, I am often misunderstood as not being a specialist in programming or another specific area of programming like crypto or AI, but after six months or a year, I used to be recognized as the best software engineer or researcher in the company. The reason is that I love more the work I’m doing, and more focused on the given work, more cooperative, and follow faithfully the rule I should do than others do.
I have the mindset that I put the needs of the business above my own.

My Portfolio: games, iOS Apps

– Birdie’s Dream, Beta-Version Gameplay Trailer

Birdie's Dream, An Adventure Game, Gameplay Trailer
Watch this video on YouTube.

Congratulate! This is NOT an ordinary adventure that you’ve ever played before.

Role-Playing? Adventure? Puzzle?

You do NOT need to follow A PREDEFINED STORY to play!!!!!

I spent more than 5 years making this game: 1 year of experimenting, 3 years of design, 2 years 7 months programming in Swift.

It is adventure + puzzle + role-playing.

You evade, scare off, punch away A.I. monsters in a vast space of the unknown world as you find the puzzle entities and solving their puzzles.
Upon successful solving the puzzle, you’ll regenerate health and gain a new ability and control button, depending on the character of the puzzle entity in the game.

– The Developer Story:

The game is a unique adventure with role-playing plus puzzles: it does not require a predefined order of solving puzzles to finish the level. Because I made the rules of the game system, monsters, puzzle entities in the rule-based system of GameplayKit. And each puzzle has its entity as well. And I hate to wholly follow predefined procedures which are common in role-playing games or adventures. If anyone merely follows a predefined procedure of a role-playing game, the game can not amuse the person beyond what a book can provide. I think that if it is a role-playing game, it should be more flexible and dynamic in the story than a book should be. Furthermore, it is also educational. In the game, every time the gamer finishes each level, the person will learn something important to his life.  I don’t like to make a game for entertainment only but also education.

6. My GitHub

6-1. The ROOT address of GitHub

All the important projects are either private or local. And the project in public is usually for DSA and testing new features of SwiftUI2.0/3.0 or Combine. (MVVM principled tests, Web endpoint accessing testing apps can be seen)

6-2. DSA MinHeap, MaxHeap, Min PriorityQueue, Max PriorityQueue in Swift:

I executed the implementation in 20 min as in a manner of Code Challenge.

6-3. Minimum Spanning Tree in Swift:

I executed the implementation in 20 min as in a manner of Code Challenge.

6-4. SwiftUI/Combine example “My Bookshelf App” with multiple REST endpoints:

I created in a code-challenge manner — time of the project limited to 3 hours. A simple bookshelf app with a motif of the official music app of Apple Inc., under the page-separated constraints of 30-50 dispatch threadings in multi-threading programming required for getting data from remote endpoints.

Demo My Bookshelf App
Watch this video on YouTube.

6-5. SwiftUI example project Shortly

I created in a code-challenge manner — time of the project limited to 3 hours. A simple SwiftUI app, giving a short code for any internet url:

The shortly Demo Video, Sep 12, 2021 by Sungwook
Watch this video on YouTube.

6-6. CRDT or Conflict-free Replicated Data Type in Swift 5.5:

Convergent and Commutative Replicated Data Types or Conflict-free replicated data type

% The reference: the link

SwiftUI and MVVM: a simple project that sneak-peaks my skills, can be accessed by clicking the left, underlined in BLUE text.

However, those projects with Combine and URLSesssion and Vapor (through REST, GraphQL, gRPC) are still private.

– My Dev Log, Making The Game in Swift, Birdie’s Dream

My Dev Log, Making The Game in Swift, Birdie's Dream
Watch this video on YouTube.

– Technologies employed in the game.

9-1. . Dispatch (GCD): a deep understanding of ‘framework Dispatch’ as well: the game contains 

  1. 94 dispatch serial queues and 7 dispatch target queues.  
  2. Plus none of the memory leakages which is common to ill-designed threading codes
  3. Plus none of the data race issues and removed the possible race conditions.

9-2. Rule System (GKRuleSystem) with NSPredicate.

9-3. Decision Tree (GKDecisionTree).

9-4. Path Finding Component (GKObstacleGraph + GKMeshGraph).

9-5. Agent (GKAgent).

Related Readings: