Skip to content

snezhniylis/UndeadHero

Repository files navigation

Undead Hero Logo

When restless spirits aimlessly roam through the dark vastness of Samhain night and chilly winds howl amongst barren trees, the Ellsworth manor faces powerful witchcraft the likes of which it has never seen before.

This story is about Lord Ellsworth's favorite dog Waffles, a fluffy guardian who swore to protect his beloved master even in the afterlife. A couple of decades have passed since the two were buried together, but the peaceful rest was disturbed by a looming danger coming after the old lord.

Through the power of devotion, and with the help of benevolent forces, Waffles gets back into the world of the living, to unveil the dark truths behind the unnatural magic and save Lord Ellsworth, proving once again that he is indeed a good boy.

What is this?

The Undead Hero is a tech-demo project meant to showcase my competence as a game developer. Namely, to demonstrate my artistic vision, autonomy, and ability to write clean, testable, and expandable code.

This project is based on the brilliant Knowledge Syndicate's course - made by 2 industry veterans and aimed at experienced developers - to deepen my Unity knowledge even further.

Some of the project features I would like to highlight:

  • Highly decoupled, atomic, easily testable services, most of which can be reused in other projects.
  • Automatic DI with VContainer for both game services and in-game objects (where appropriate).
  • Rewarded Ad videos using LevelPlay (IronSource) mediation.
  • Comfortable tools for game designers for adding and testing new content (Editor extensions, gizmos, scriptable objects)
  • Rendering optimizations (Static batching, GPU instancing, appropriate mobile shaders, non-directional lightmapping, light probes, texture atlases, manual mesh tweaks, terrain fine-tuning, UI canvases separation)
  • Static data containing all the gameplay-related definitions, making it easy to change things on the go and update game content separately from its codebase.

This project implements some concepts and mechanics that, ideally, should not co-exist in the same game. One of the goals of this project is to demonstrate a broad set of solutions for well-known problems. May game designers forgive me.

Showcase / Walkthrough

YouTube video

Known issues

There are a bunch of potential improvements and ideas that can be easily implemented. However, considering this project's state and my lack of free time, I deem it ready for public release. No project is ever good enough™.

Another thing I should definitely mention is that this project's code utilizes sameLineBrace { placement, which is very uncommon amongst Unity developers. I always follow style guides set by the team and understand that others would prefer another well-established approach. Here it was purely preferential, with no expectations that someone else would be working with my code.

Download

Pre-compiled binaries for Android, Windows, and Linux can be found here.

Building

Requirements

License & Credits

Although heavily modified, this project is still based on Knowledge Syndicate's Architecture course. It's unclear to me whether one can license course derivatives, so I opted out not to.

Used assets

External plugins / tools

Artistic

Jack O Lantern by Andinur Studio Essence counter icon
Basic RPG Icons by PONETI Item and Event icons
GUI Parts by PONETI UI and HUD elements
Halloween Cemetery Set by 3dfancy Terrain textures + Meshes (Cemetery level)
Dog Knight PBR Polyart by Dungeon Mason Hero mesh + animations
Mini Legion Lich PBR HP Polyart by Dungeon Mason Lich enemy mesh + animations
Mini Legion Rock Golem PBR HP Polyart by Dungeon Mason Golem enemy mesh + animations
Cartoon FX Remaster Free by Jean Moreno All FXs in the game

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published