Atanas Laskov 🏳️‍🌈


by Atanas Laskov

Project Blob

This is a gameplay demo of our Project Blob, a side-scrolling point & click adventure. Credits: Atanas Laskov (Animation), Alessandro Brillo (Title Screen, Prop Art), Oli Alexander (Backgrounds), Jonathan Hamilton (Producer, Programming), Robbie Wyllie (Game Design), Sam Honeyman (Music), Shashwat (Programming).

Play this video

Previously, I wrote 2 games in TypeScript, they both run in the browser:

I also programmed a C++ game engine with full Docs and Source Code.
Short docs are available at the end of this page. The animation, environment design and 3D modeling are my own work.

Play this video Play this video


My work experience inclues C++, JavaScript and Java programming. I studied Computer Systems and Technologies at TU-Sofia and after that I went on to study Artificial Intelligence at the University of Edinburgh.

I also programmed a small OS in C and assembly here.


The following section gives an overview of the class hierarchy implemented in the game. It describes briefly the responsibilities of each class.

Helper Classes
[-] contract

class laClassFactory
Register and instantiate objects by class name.

class laNamedClass
This is the base class for all objects created by laClassFactory.

class laFileParser
Parsing XML-like files into objects.

class laLoadableObj
Base class for all objects loaded by laFileParser.

class laPropertyList: public laLoadableObj
Loads and maintains a list of properties.

class laTypedObject: public laLoadableObj
Loads and maintains an object of the specified class type.

class laProgressiveTask
Children of laProgressiveTask have the capability to record the progress of a task and its sub-tasks.

class laError
Error handling class containing a text description.

Level Structure
[+] expand
[+] expand
[+] expand
Collision Detection
[+] expand
[+] expand
[+] expand
[+] expand
Objects and Creatures
[+] expand

Back to top

Atanas Laskov 🏳️‍🌈