Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/wp-db.php on line 668 Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/wp-db.php on line 668 Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/wp-db.php on line 668 Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-theme.php on line 554 Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-theme.php on line 595 Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-theme.php on line 535 Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-theme.php on line 544 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/comment-template.php on line 1739 Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/rest-api/class-wp-rest-request.php on line 952 Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/rest-api/class-wp-rest-request.php on line 972 Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/rest-api/class-wp-rest-request.php on line 984 Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/rest-api/class-wp-rest-request.php on line 995 Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 151 Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 175 Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 164 Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 186 Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 138 Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 75 Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 89 Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 110 Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 127 Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp-block-list.php on line 199 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-content/plugins/strato-assistant/inc/config.php on line 197 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-content/plugins/strato-assistant/inc/config.php on line 197 Deprecated: Creation of dynamic property POMO_FileReader::$is_overloaded is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/streams.php on line 21 Deprecated: Creation of dynamic property POMO_FileReader::$_pos is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/streams.php on line 22 Deprecated: Creation of dynamic property POMO_FileReader::$_f is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/streams.php on line 153 Deprecated: Creation of dynamic property MO::$_gettext_select_plural_form is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/translations.php on line 293 Deprecated: Creation of dynamic property Limit_Login_Attempts::$network_mode is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-content/plugins/limit-login-attempts-reloaded/core/LimitLoginAttempts.php on line 182 Deprecated: Creation of dynamic property Limit_Login_Attempts::$allow_local_options is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-content/plugins/limit-login-attempts-reloaded/core/LimitLoginAttempts.php on line 192 Deprecated: Creation of dynamic property POMO_FileReader::$is_overloaded is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/streams.php on line 21 Deprecated: Creation of dynamic property POMO_FileReader::$_pos is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/streams.php on line 22 Deprecated: Creation of dynamic property POMO_FileReader::$_f is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/streams.php on line 153 Deprecated: Creation of dynamic property MO::$_gettext_select_plural_form is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/pomo/translations.php on line 293 Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-includes/class-wp.php on line 173 Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /mnt/web420/e2/44/59758444/htdocs/STRATO-apps/wordpress_01/app/wp-content/plugins/folders/includes/folders.class.php on line 483 Marian Brinkmann

Falldown

Falldown is a 2D endless arcade game which is developed from scratch using OpenGL. In this game the player falls down endlessly and has to avoid spiky balls. By collecting coins the player increases his/her score.


The project was developed in March 2018.

Description
This game is an experiment on how to develop a basic game engine in C++. For this purpose, I used OpenGL.

There is no final goal the player can achieve except collecting more and more coins. The player uses WASD for controlling the character through an up-scrolling level to avoid spiky balls and to collect coins. The health of the player is shown in the upper right corner of the screen as progress bar in form of a heart.

To give the game a little bit of progression the amount and size of spikes increases over time, whereas the placement is done randomly.

Lessons Learned
During the development of Falldown I learned how OpenGL works, how to use GLSL and how to implement a basic GameObject based game engine. For this I also took a deeper look in TRS-matrices and the required pre-rendering transformations. Furthermore, I learned the basics of importing file formats such as obj, fbx or png.

What I did not made for this project is a visual editor and persistence of user content. These are things I want to evaluate in the future.

Contributers


Marian Brinkmann
Programming

Links


Tags


C++
OpenGL
Game