Mehmet Çalıkoğlu

Greetings! I’m Mehmet, a versatile programmer and a hobbyist musician, actively seeking exciting projects and opportunities to expand my skill set.

PROGRAMMING LANGUAGES

C++
90%
C#
90%
Java
90%
C
90%
Python
90%
Javascript
90%
HTML
90%
CSS
90%

ENGINES & FRAMEWORKS

Unity
90%
Unreal Engine
90%
Godot Engine
90%
Qt
90%

TOOLS

Cubase
90%
Visual Studio
90%
Intellij
90%
Git
90%
Blender
90%
Photoshop
90%

COMING SOON…

PIZZA DELIVERY 3D (2022)

Project Repository: GitHub

Genre: Hypercasual
Platform: iOS | Android
Developed By: Harby Games
Team Size: 1 Developer, 1 3D Artist
Project Status: Source code accessible via GitHub

Overview

This project involved coming up with a unique gameplay idea and creating a gameplay prototype based around it.

My Contributions

  • Gameplay Idea: Created the initial gameplay idea of collecting pizzas and delivering to customers at the end of the level.
  • Gameplay Implementation: Implemented the necessary scripts to realize the game idea into a working prototype.
  •  
  • Audio Production: Designed and implemented sound effects to be used during gameplay.

Technologies and Tools

  • Engine: Unity Game Engine
  • 3D Modeling: Blender
  • Audio Production: Cubase
  • Version Control: GitHub

Project Length

  • Duration: Approximately 2 months

Gameplay Video

Challenges and Solutions

The issues were particularly at the scripting part of the gameplay, due to creating and realizing a gameplay idea from scratch. They were mostly solved by extensive researching.

JOIN CLASH 3D CLONE (2021)

Project Repository: GitHub

Genre: Hypercasual
Platform: iOS | Android
Developed By: Team5 (Assigned by Game Factory)
Team Size: 3 Developers, 1 3D Artist
Project Status: Source code accessible via GitHub

Overview

This project involved creating a hypercasual game clone for both iOS and Android platforms. Core gameplay was built upon collection and stack mechanics.

My Contributions

  • Gameplay Scripts: Created essential scripts for the core gameplay mechanics
  • Boss Mechanics: Designed and implemented the final boss challenges and combat.
  • Shaders: Wrote custom shaders to improve the lighting and visual effects.
  • Audio Production: Composed a main theme for the game.

Technologies and Tools

  • Engine: Unity Game Engine
  • 3D Modeling: Blender
  • Audio Production: Cubase
  • Project Management: Trello for scheduling and task management

Project Length

  • Duration: Approximately 1 month

Challenges and Solutions

This project was given by Game Factory as an initial assignment, during a curriculum to teach basics of game development. As such, most challenges were caused by inexperience of team members (including me), and were solved by researching, and trial & error.

SOLDIHERO - ARCHERO CLONE (2021)

Gameplay Video: Google Drive

Genre: Casual
Platform: iOS | Android
Developed By: Team5 (Assigned by Game Factory)
Team Size: 3 Developers, 1 3D Artist
Project Status: Source code inaccessible

Overview

The aim of the project was to clone the hit mobile game Archero, and also adding additional gameplay mechanics upon it.

My Contributions

  • Touch Control: Created a touch control system for moving the character inside the level.
  • Shaders: Wrote custom shaders inside HLSL in order to give the game a cartoony look.
  • Audio Production: Designed various sound effects for the game.

Technologies and Tools

  • Engine: Unity Game Engine
  • 3D Modeling: Blender
  • Audio Production: Cubase
  • Project Management: Trello for scheduling and task management

Project Length

  • Duration: Approximately 3 months

Challenges and Solutions

This project was the second assignment by the Game Factory. As such, challenges were relatively less than the previous project. Most of the problems were caused by the scope of the project and fixed by extensive researching.

HTTP SERVER IN C++ (2024)

Project Repository: GitHub

Type: Web server
Project Status: Development in progress

Overview

This project involves creating a basic HTTP server entirely in C++. The server is capable of handling basic requests such as GET and POST. This project aims to deepen my understanding of network programming and the HTTP protocol.

Key Features

  • Handles GET and POST requests
  • Multi-threading for handling multiple connections

Challenges and Solutions

One of the main challenges was implementing multi-threading to handle multiple requests simultaneously. I solved this by using C++’s standard library for threading and synchronization mechanisms.

Technologies and Libraries

  • Programming Language: C++
  • Libraries: POSIX library for networking
  • Tools: Visual Studio Code, CodeCrafters for unit tests

 

Code Snippet

C++
				// handling concurrent requests inside of while loop
while(true)
  {
    struct sockaddr_in client_addr;
    int client_addr_len = sizeof(client_addr);

    std::cout << "Waiting for a client to connect...\n";
    int client_fd = accept(server_fd, (struct sockaddr *) &client_addr, (socklen_t *) &client_addr_len);
    if(client_fd < 0) 
    {
      std::cerr << "accept failed\n";
      continue; // continue waiting for new clients
    }

    threads.push_back(std::thread(handle_client, client_fd,argv)); // create a new thread for the client
    threads.back().detach(); // detach the thread so that it can run independently
  }
			

SHELL IN C++ (2024)

Project Repository: GitHub

Type: Shell Application
Project Status: Development in progress

Overview

This project involves creating a basic shell application entirely in C++. The shell can execute basic Unix commands, handle input/output redirection, and support simple scripting. This project aims to deepen my understanding of operating systems and command-line interface programming.

Key Features

  • Command Execution: Supports basic Unix commands (e.g., type, cd, echo)

Challenges and Solutions

One significant challenge was implementing the search of the PATH for executable files. However, it was solved by checking C++ documents related to the built-in directory operation classes and methods.

Technologies and Libraries

  • Programming Language: C++
  • Libraries: Standard C++ libraries, POSIX system calls
  • Tools: Visual Studio Code for development, GDB for debugging

 

Code Snippet

C++
				// for storing built-in commands
enum commands
{
  type,
  echo,
  cd,
  quit,
  invalid
};

// used for string comparisions
commands string_to_command(std::string str)
{
  if(str.find("type")!= std::string::npos) return type;
  if(str.find("echo") != std::string::npos) return echo;
  if(str.find("cd") != std::string::npos) return cd;
  if(str.find("exit") != std::string::npos) return quit;
  
  return invalid;
}