You can find all the games i developed & attributed that is public. There are also a lot of games i cant publish because of company privacy policies:

Links:

Water Park Tycoon (Idle Arcade)

Bakery Idle Empire (Hybrid-Casual)

Idle Lumber World (Hybrid-Casual)

Tile Match: Home Design Puzzle ( Casual )

Hero Crush (Hybrid – Casual)

Fashion Challenge (Hybrid – Casual)

Crafty Sea! (Hybrid-Casual) (Removed from Play Store)

GunMania (Hyper-casual)

Sky Master (Hypercasual-Midcore) (Removed from Play Store)

Cup Sort (Hyper-casual)

Formation Master (Hyper-casual)

Master of Army (Hyper-casual)

My Beauty Saloon (Idle-arcade) (Removed from Play Store)

Here i will give some information about the games i developed! As a developer, my index starts from 0. 🙂

0. Hero Crush

Hero crush is a game where we connect same colored or pieces that met condition. It’s a Connect game where you should create your own strategy to win round. Our character also has some skills can use clear its blocking path! The project has quite tools to improve level stages like Quest Editor & Level Grid Creator etc.

0. Toon Blast

A clone game of Toon & Toy Blast. It’s a match-2 game where we try to pop same neighbour colors. I’ve used improved flood-fill algorithm to find adjacent colors. It was quite fun & challenging. I’ve learned a lot of search algorithms to make it more optimized.

Quest System

  • I’ve created Quest system where required pieces needed in game. Since this would be infinite; I also added “Total Move Count” system where we spend a point every time we match. If this point reaches zero; the game will be lost.

Editor View

Level Creator

  • I’ve created a Level Creator Editor that helps us creating fast levels. Row & Column decides our width/height of the board. Droppable piece column creates a matrix that we can put some pieces that will appear in the game later on when matched. Game is looping through these board datas. Everytime we load scene (additive game scene) it gets the current board & load all the data. It’s easy as that. Since we have pieces in board, system basically gets from 2D array & call the objects from pool. Pool objects are in ElementData. Simply we click “Load Pieces” it gets every piece in Resources folder. (editor only)

Editor View

Object Pool Elements

Responsive Board

  • I’ve created a “responsive board system”. Includes 2 responsive elements. Camera that position itself via board width/height and sets the orthographic size with margin. So that whatever value we enter, it will keep good-looking! The other one is “board frame”, it acts similar as camera since we know our board width/height we simply set its sprite width/height as I slice it.

Code View

Rocket Mechanics

  • I’ve added rocket system that destroys every removeable element in row/column. It appears on board when 5 or more match is done. I’ve tried to make board reward system expandable that everytime we add reward, we simply edit its condition and call the required method. The rockets also trigger each other if they are reversed (If clicked is vertical direction & neighbour is horizontal for example)

Balloon Mechanics

  • I’ve added balloon mechanics where ballons burst when there is match nearby.

Duck Mechanics

  • I’ve added duck mechanics that matches when they are in first row. For better experience, i thought rockets dont destroy ducks so that they can be only matched at bottom. This can be changed by changing IUntouchable’s bool value.

Shuffle Mechanics

  • I’ve added shuffle mechanics that can both work with “Shuffle button” & when there is deadlock in the board.

What Would I to Improve More

  • Better save system: For the sake of time; I saved the level only & with player prefs. Normally i would save it to JSON & read it from there. And more firebase cloud.
  • Better loops for searching
  • Better approach on Match Handling
  • Better collapse as visually
  • and more..

1. Mecha Snake

A survival-shooter game where we gain money by killing targets with our mechanic snake & buy some turrets and merge them! It’s quite fun to play actually! It has;

  • Full Shop System
  • Enemies with Object Pooling Spawning outside of the screen on circle
  • Scriptable Obj Architecture Event System
  • Drag & Drop System
  • Merge & Level Up System

2. Crafty Sea

Crafty sea is an arcade game where its content is amazing! This game is the favorite I developed so far. We start as an adventurer in an island. We buy a ship, then start an incredible journey. We get in ship, catch fishes, unlock a lot of useful tools, make some trade with locals, kill some monsters and find secret gems, and collect many resources!

a. Complete Interaction System with Environment

You can cut trees, mine rocks, catch fishes, jump to islands, trade with locals, dig areas, collect chests & fight with enemies!

b. Procedural World Generation

Centering our ship, many islands gets spawned in a circle we define its radius. Then after spawning, we leave the center where we spawned first. Then if our ships gets away from point, we reposition islands & recreate island resources etc. This progress also works when we finish our quest. So there is no escape from islands! Sea moves with ship, so its an actually endless world. Of course the islands that so close to us wont be repositioned.:)

c. Complete Combat System

In Combat, we have a Field of View (FOV) that detecs enemies in front of us. As enemies inside our FOV, we start fightining. We have even “Posture System” like in Dark souls, when we break its posture, they are jumping back! 🙂 Of course these all works with a generic Health system where we decrese their health with decoupled system.

d. Complete Resource Economy System

We have +5 resources (extensible) in our game. We gather them from different islands. There are some resources we cant gather but can buy. So we can trade these resources in Trader islands! And these requirements are generic where it checks our current resource & then create an offer by percentage that we define previously.

e. Quest System

To improve in game, we need to do some quests & unlock tools so that we can gather many resources & have economy. So in game there is a grandpa mascot that redirects us by giving us Quests like gathering fish, trading, killing some monsters etc..

3. My Beauty Saloon

It is an idle arcade game that we run a beauty salon. There is the completion of a user-oriented job in a progressive manner. The systems in it;

  • Complete Save System
  • Unlock-Upgrade System
  • Tutorial Management & Smooth Tutorial Camera System
  • Resource Stack System
  • Finite State Machine
  • Object Pooling
  • Observer Pattern
  • Progressive Interaction System

4. Zen Master

It is a game in Mahjong style, where we make Match-3 matches in the slots at the bottom. I took part in the Tile Spawn, Slot, Match, Boost and Real Time Health Recovery system of this project. It took about 2-3 months.

5. Bridge Race: The Chopper

Bridge Race is a clone game where we collect resources from trees and use these resources to build stairs. The first hyper-casual game I’ve ever made is Bridge Race. In this context, it contributed a lot to my development process. It is a project that has had a great impact on my development in subjects such as Stack mechanics, Artificial Intelligence, Mesh Arrangement.

6. Cube Run

It is a Hide&Seek themed runner game where we hide from the helicopter through cubes. I contributed to my development process by using mechanics such as Field of View, Basic Combat, Physics-oriented hiding.

7. My Password is You

Personally, I love attending Game-Jams. I’m trying to make games on very popular Game-jams when I have time. I think I learn faster by working under stress. In this context, I wanted to present you the game My Password is You, the game that I made the final in Boğaziçi Game Jam 2022. It is one of the text-based games that I enjoyed developing the most.

itch.io page: https://thekrocker.itch.io/the-password-is-you

8. Modular Systems

a. Mobile Input Pack

It is a static class package that has Swipe, Hold to Move, Move with Joystick features as plug-and-play and we can overcome the movement input system with only one line of code.

b. Extension Methods Library

It is an Extension Method library that accelerates my own project management process over time. Especially in coordination with the DOTween package, I can quickly Fade in, Fade out and control the UI without wasting time. Some examples;

        public static void ScaleUp(this Transform original, Vector3 targetScale, float duration, Ease easeType)
        {
            original.localScale = Vector3.zero;
            original.DOScale(targetScale, duration).SetEase(easeType);
        }
        
        public static void ScaleDown(this Transform original, Vector3 targetScale, float duration, Ease easeType)
        {
            original.DOScale(targetScale, duration).SetEase(easeType);
        }

        public static void FadeOut(this SpriteRenderer original, float duration)
        {
            original.DOFade(0, duration);
        }

        public static void FadeIn(this SpriteRenderer original, float duration)
        {
            original.color = new Color(1f, 1f, 1f, 0f);
            original.DOFade(1, duration);
        }

        public static void SpawnAndSetParent(this Transform original, Transform parent, GameObject go, Vector3 pos,
            Quaternion rotation)
        {
            GameObject tmp = Object.Instantiate(go, pos, rotation);
            tmp.transform.SetParent(parent);
        }
        
        // Destroy all children in a game obj
        public static void DestroyChildren(this Transform transform)
        {
            for (var i = transform.childCount - 1; i >= 0; i--)
            {
                Object.Destroy(transform.GetChild(i).gameObject);
            }
        }

       public static List<Vector3> OrderByDistance(this List<Vector3> listToOrder, Transform center)
        {
            return listToOrder.OrderBy(x => Vector3.Distance(center.transform.position, x)).ToList();
        }

        public static T RemoveRandom<T>(this IList<T> list)
        {
            if (list.Count == 0)
                throw new System.IndexOutOfRangeException("Cannot remove a random item from an empty list");
            int index = Random.Range(0, list.Count);
            T item = list[index];
            list.RemoveAt(index);
            return item;
        }

        public static void ShuffleList<T>(this IList<T> list)
        {
            for (var i = list.Count - 1; i > 1; i--)
            {
                var j = Random.Range(0, i + 1);
                (list[j], list[i]) = (list[i], list[j]);
            }
        }

c. Base Project Folder Creator

Creating new folders when starting a project can be time consuming. I prepared a small editor script to speed up the project management. We can pull into the project via Github and quickly create files from the menu above.

https://github.com/thekrocker/Folder-Creator

Overall I like the tool-based development process. In this context, I enjoy developing modular systems that can speed up my work as much as possible. Therefore, in the projects I develop in general, I quickly import the following:

  • Odin Inspector Tools
  • Finite State Machine Behaviour
  • Saveable Data Scriptable Objects
  • Object Pooling
  • DoTween
  • Improved Scriptable Object Event System

I pay great attention to the modular reusability of the systems I build. For example; When I make the Capture the Flag system, it is my biggest special goal in my development process to make it workable when we implement it in another game or situation. Some examples of these systems are Progressive Payment & Unlock or Upgrade, Resource Stack system, Grid-based Spawn system. Thanks for reading this far!

My Github: https://github.com/thekrocker