top of page

School Project:
2D Unreal Engine Platformer

It must be created using all prior information and techniques learned.
And made in the Unreal Engine.
That seems kind of like a no-brainer there.

Later edition text is in this font.








 

THE BRIEF   (personal)     

THE BUTTON INDEX:   (you don't wanna scroll that far.)

WHAT is the brief of MY game?

My version of project Umbra is an Unreal Developed 2D Platformer.

The simple version is that the Player has to reach the endgoal of the chair at the end of the hallway in order to succeed.  You can dash, allowing rapid movement in the air, which is the interesting mechanic, and you can get respawned back a set distance upon touching the red blocks scattered aroung the world, which is a toned down version of faliure. (Although, honestly, it's pretty nasty to get reset every enemy hit.)

When using my family and friends as playtesters, most people noted that the one-hit- kills were excessively brutal.




You must traverse through a mysterious void, after falling unconcious. 
You traverse this void, trying to avoid the deadly pulsating cubes that are either stationary, or moving about the area.
touching these cubes pushes you further back  into the mental void.
You have a dash move that allows you to maneuver through the platforming, and the dash allows you to pass through certain walls.
You explore through a slew of locations. Such locations include  your house, a large void filled with shattered hunks of your apartment, and a long, ruined hallway.

Your endgoal is to reach the chair sitting in the diased room at the end of the hallway, thus allowing you to escape the void.

Act -1: The Prepping.

The premise of this task is to make a "2D Platformer Game" in the Unreal Engine to show practices and techniques learned.

The time limit is about 7 weeks.
Basically, it's from now, (29 Nov) to... about 7 weeks from now.

-1 Anchor

The 2D Unreal Platformer.
Also known as "Project Umbra"

Project Umbra is a 2D Platformer that must be made in the Unreal Engine.
The task is set for the fictional group "Unruly Ember" and it is required to be a science-fiction themed game for the age rating of 15 upwards.

The task requires no profanity, or gore.  Stressful situations, and violence are fine.

The project must have milestones, five at least, and all must be completed by the end of the project.

 

The Milestones:

Player movement, design (FINISHED) and implementation must be accomplished
Weeks One/Two/Three

Enemy design   (FINISHED)., movement, and implementation must also be created.
Two/Three/Four

Level Design, and implementation as well.  Designed, partially.  
Week One/Two

Art Design and implementation shall be created.
Week One/Two/Three.   Designed by one, and  drawn by two.  Polished by Three.

Music design, and implementation.  (It wasn't said outright, but it'll still be fun.)   I already have 4 kick-butt songs. Implemented?  No.

One is design
Two is working.
Three is working, polishing, implementing, and feedback.
Four is implementing, polishing, and feedback.  Also, start in presenting.
Five is final polishing, full implementation, and presenting.

 

Milestones

Ideation.  

In the brief, it describes a few world-building points meant as a starting block for design.  The brief says, directly, that "mechanic adaptation and neural control processing is part and parcel of everyday life."

This gives the direct, and almost assuredly accurate assumption that this is a dystopian science fiction themed game.

Now, to note these words down in more detail:

Mechanical Adaptation: The use of artificial materials to better adapt to an environment.

As I was researching these terms, I was unable to find a definition to this term.
Finding a lack of any definitions written elsewhere, I wrote down this  definition of the phrase "Mechanical Adaptation"
This definition is my interpretation of the term "Mechanical Adaptation".


If we were to use this as a gameplay mechanic, we can say that you, the player, can gain modifiers to your beginning, basic statistics throughout the game. This explains the mention of Deus Ex in the brief, as the game features heavy use of mechanical modification.

I would use this term to design a mechanic for the project, which would be where you can absorb an ability from your opponents, thus allowing you to traverse the level in differing ways, depending on the ability you gain.    This is akin to the absorption move used in the Kirby game series,  and due to the nature of this project being a science fiction game, it, to me,  brings to mind the E.M.M.I encounters of Metroid Dread, as you gain abilities after the defeat of each E.M.M.I that allows for traversal of the game world in new ways.

Ideation

Mechanical Adaption Expansion.

Although this is all still in the first planning stage, this "Absorb enemies" mechanic would be challenging to create, although it would be rather interesting to use for level layouts if done well.
I would most likely work on this design in small chunks while working on the larger, required milestones.

This idea is just that, an idea.  It would be a large use of time, and if it fails, i would have lost time that could be spent polishing other parts of the project.

I hope to have this mechanic in the final project. I do not fully believe that it may be completed though.    This will be noted on more as the project  continues further.

The project had to be completed in about five weeks, and I was no skilled in using the Unreal Engine at this time.  So, although the mechanics I designed would have been interesting, and I would have liked to implement then, my lack of ability in using the engine would have meant this project would have taken substantially more time, and most likely ended in having to get extra time to complete the project, which was not something I wanted to deal with.

Mech

Neural Control Processing.

I have no clue how this could make any sense in a dystopian premise.
I pull up the term on any search engine, and I get scientific articles on machine learning.
That implication you get (machine learning, added to a dystopian setting) can take a little hop to reach such characters as GLaDOS and Hal, but it is really hard (for me) to find any text that explains this term outside of real world technology. It is not explained well in the fictional dystopia setting without my implications, and outside information.

I would use my loose grasp of what the term could mean in a twisted mind scenario, but that would just mean looking through the  "Great Big Book of Villainous Artificial Intelligences." This facet of the breif would be used to explain the story of the world, to give a bit of background to the events that transpired before the arrival of the tabula rasa that contains you in this crazy messed up world.

The existence of the neural control processing. (assumed to be an artifical intelligence entity.) would allow for story, and no real physical mechanic that can help or guide you on the path to the mysterious end-goal that you are heading towards.

It seems that this mysterious concept that you are never told in clear words what it actually DOES in the game will have no real lasting impact on the way you play, and will just be a piece of information you will read, and forget, without fully understanding the importance of what you have read, if it even has any importance in the first place, and is not just a small nugget of writing meant to be forgotten.

.....man. This got really deep into a tangent, really fast.

The main point to be gotten from this is that I only understand one term used in the brief, which is the term Mechanical Adaptation, and that's just my personal interpretation.

Neural

The Explanation.

This is sci-fi nonsense.   Neural Control Processing is NOT a mysterious, ill defined artificial intelligence entity. 

but all in all, I wish it was, because I made some EXCELLENT world-building notes off of that.
(the notes are above this section, if you scroll up a paragraph.)

It's science fiction brain implants.
I wasted all that great philosophical writing on the wrong thing.

Now that this is explained, using the powers of:
1. asking someone else that this term means, and the examples of:
2. Neo, from the Matrix, and
3. Bioshock Brain implants
I know know this means you, in the game, would get all sorts of fancy upgrades that change how you perceive the world.
Practical examples are where you cannot see this one passage hidden in a wall, and you gain an upgrade that allows you to view the hidden passage.

or, a really cool upgrade that soothes your problems of murdering people in a videogame: 
You can see healthbars!

In order to explain what just seemed like nonsense:

The Neural Processing would be used in a game to explain such visual tells as enemy healthbars, collectible items, dodging/parrying tells, (if this was a game that had those.) and all those visual or audio cues that help the player out in the game.



Neural Control Processing means you gain upgrades to your GUI, HUD, and other such visual acronyms.   It's sci-fi-upgrades.
It's the reason we get to say "I know Kung-fu."

Forms page for mechanic idea feedback.        

Moodboard.

Colors:

Greys
Black
White.
Dark, muted colors.
Few dark purples wouldn't go amiss.

Setting:
I particularly think an ambiguous, possibly underground building wouldn't be too bad.

Have a  psuedo-subway station, that moves up to a possibly-building, until you eventually reach the top, and end of the level.

Moodboard

The colors, upon contemplation, bring to mind Metroid's starting room.



Goshdarnit.   I thought I was being realy clever there.

Koma_SM.webp

Pretty close, Eh?

The twisting, changing building, the weird mash of ordinary places that  combines into something unusual makes me personally think of the premise of the Endless Apartment in This Mortal Coil.

The only issue is that this premise is my own idea, meant to be the in-game explanation of a Roguelike building.


One excellent game example of this is the Endless House in The Book of You.

(The Book Of You is a game that my older brother was designing at around the time I was writing this.   I thought this was a good example.)

The house is huge, stretching into every place in the universe, and it is a continuously growing, ever-changing area where the rules of physics, sanity, and the Pritzker rules of archiecture are thrown right out the window.  (Or, the hole in the wall that contained a window three seconds ago.)

(There's lots of examples for games with similar ideas to mine.)




One ACTUAL game's setting that is an odd conglomeration of places could be (as a stretch) the Federal Beureau of Control in the game Control.      The Beureau is a building that exists in multiple planes of reality, causing the building to be an ordinary seeming government building, until you take a wrong turn and end up in a nearly empty void, or the hallways may all be twisted at a 90 degree angle.


Or, as a film example of the kind of level I would do, (as in a weird mix-match of places) would be the film Inception.

This would be a good example of inspiration for having a world where everything is very nearly following the laws of proper architecture, but failing at the last section, since the film's settings all follow dream logic.

(This is the same argument I could use if I was saying that the animated dream-logic film Paprika was my inspiration.   This is unrelated, but I find it amusing.)

New Idea. As a different way to go about this goal.

I would have this platformer follow the story of the Pristine Hallway Novella.

The only issue is that the story may not be suitable for reasonable use in this project.
The issue is that I created the story in the first place for my final English exam story, and it touches on some dark points.

After this point, I plan to put in actual work.

One: Art Design.

Player.  Real and Twisted

Level colors, designs, and sketches

Hall.
House
Void
House Void
(Hall goes into twisted.)
Twisted Hall
Hall void
End Room



























Two: Music Design.

Menu Music
Pause Music
Intro Music
Hazard Effect
Outro (Death) Music
Main Area Music 1  low
Main Area Music 2  high amped
Main Area Music 3  low  (repeat 1?)
Intro Music Twisted
End Game Music

New Piskel (41).png

"Real" consists of a wide range of muted colors, cream, two greys in the center, a light blue on the right, and a brown.

"Twisted" shows Black, White, two other shades of grey that are darker than their counterparts, and a dark, muted red.

New Piskel (42)_edited.png

Contemplation: Which red gives the most feeling of being a danger?
Brightest possible red?
Halfway?,
or the muted red?

Hazard Plan:
Our hazard block is planned to be an oddly colored red that doesn't line up just right with the other colors.
This causes you to notice the unusual block compared to the uniform muted world, and your eyes are drawn to the block when it is on the screen
As another visual cue to show this is an odd object, the block will vibrate, and as an extra cue, as the player gets closer to the object that can kill them, the screen gets a bit darker, and the audio becomes distorted.
Once you eventually HIT this block, and get injured, you will associate all those cues as a danger signal, making you notice them MORE to prevent future harm.

Dark red represents .....lots of negative things. FUN.

White and Olive Green.
Hallway colors.

The colors will be muted, but not excesively muted.  They will still look REASONABLE.
But, after a while, we want to change the world, makinng it ever so slightly weirder, in a barely noticeable way.
In order to make the colors more... disturbing, we drop the hue count down.

Ever so often, you may see two colored images, and one image is in grey hues, and you can't tell exactly which one is greyscale, until it's pointed out to you, or you very gradually come to notice: 
"Wait. the image is all wrong."
If all goes well, you have that slightly surreal effect in the game.

actual work (art)
actual work (music)

Milestones:   I am falling short.
I have five songs for the game.
I have character sketches.
I have no code flat out done.

Level Design

1. The game starts in the pipette shaped room.

2. You, at the end of the hall, will appear in the small rectangle room.

3. You exit the rectangle building and are sent onto the big twisting mass is blocked out rooms.

New Piskel (40) (1).png

                                                                    SH+SD
   


h                                d


ho

          (vo)
            vo+sh             (sh)

Level Design

All art required:

I'm such a masochist that I plan that all of this will be Primary (self created) Art assets.

I will use Aesprite,  Procreate, and possibly Piskel for the asset generation.

Player Movement Art.

Hall Room Background
Blocks for the buildings.
House background
(Twisted) Shattered Hall Background
Shattered House Background
Void Background
Void Blocks
Dias Room
Dias Background
Shattered Dias Room
Shattered Dias Background

Deadly Red Blocks
Dealdy Red Bullets.
Deadly Red Bullet Launcher

Main Menu Background
(Shattered Dias)

What Does all this MEAN?

Hall Room  (h) is the Spawning room. You see it first.
You enter into the Dias Room (d).next.

The House (h) is where you wake up after the dias room.

You then enter the Void (v) breifly,   then enter the Shattered House (sh).

AFter the Shattered House is completed, you enter the Void, and will travel until you reach the Shattered Hall  (SH)

Like the Hall (h) earlier, you will walk until you enter the new Shattered Dias (SD) room, which is the end of the level.

Art Requirements
New Piskel (46).png

A draft for the Shattered Dias room.

PLANNED SOLUTION:
Backgrounds will be made in a sketched, handdrawn like artstyle.

Actually, most of the art will be in the hand-drawn style.


While we are still here, if I DID use anyone else's work, I must say WHO made it, what the LICENSE is, and in what situations is this art safe to use?
I also need to have GOOD, WELL ORGANIZED, and READABLE FILES.
also. I need to make a breif.  WHAT is important about this game? what's the UNIQUE part of it?
(200 words and higher.)     The aforementioned brief is at the top, for logical sense.

The Code Aspect.

Code Aspects

I decided to cut to the chase.

In the weeks before this project, I made a 2D platformer of mediocre level.

It already has a character, (1) movement (2a), death (2b), and a level map.(3)

My plan is to use this project, and add onto it in order to have all my features, with less overall work needed to redo.



I had started the project as a full- creation of the semi-biblical platformer idea I had made while in the course, which gave inspiration for the minimalist style, and dashing mechanic.

The reason my game was so outta- wack compared to everyone else's was because I was just reskinning this psuedo biblical action game.













 

Untitled_Artwork.png

1 is a screenshot of the character's spritesheet, before I changed it to the current version shown animated above.

It shows the spritesheet, in grey, and the blue frames.




2a and 2b are a screenshot of the Death Code (commented. Top Right) and the Movement Code (commented. Bottom Left)

The character movement is a small system, basically identical to the basic template controls.

The death system simply disables your input, and resets your level, causing you to return to the start.  That may sound like a simplification, but the code is just. "Disable Player Movement", and "After 10 seconds, Open Level 1".  (I tell the game to reopen the level, so you "respawn" back at the start, when actually just reset the game.


 

1











2a
2b




















3










 

Screenshot 2021-12-09 113750.png
Screenshot 2021-12-09 114016.png

This is a screenshot of the level map scene, titled Level_00 and shown as the small orange square on the bottom left.

(All this is for is to show that I have a level in the first place.)

Screenshot 2021-12-09 113815.png
New Piskel (1).gif
New Piskel (1) copy 3.gif
New Piskel (1) copy 2.gif
New Piskel (1) copy.gif

Animated Assets

This list consists of:

The Player Walking (or Floating) along.


The Player Jumping, (if you can jump while floating)


The Player doing the Dash Animation, by spinning violently,

A cube you can dash through, being grey and glitching out,

A Red Cube, Spinning in a clockwise direction, who will try to fly at your face.


 

Red_Rotating-1.gif
Animated Assets

You may wonder why I am only titling this as Primary Sprite Discussion, instead of Primary and Secondary.

My plan is to have no secondary sprites used in the game.

At this current time, all the sprites I've made have been primary, so that's going well!


Primary Sprites are, to simplify the term, sprites made by me, (The Primary source.)  A Secondary sprite is a sprite made by a different person.
(A secondary source)


The First Sprite is the Walking Sprite.
I drew the character, and animated them in Procreate.   The character is only two frames, but it still works as an animation for wal... gliding.

It was exported out of Procreate, and imported into Piskel for editing, as I accidentally had massive white swathes of white on the character's legs, as I erased them by drawing with WHITE ON WHITE.

 

Primary Sprite Discussion

 

New Piskel (1).gif

The Second Sprite was ALSO drawn in Procreate, and it was then exported into Piskel for the same idiotic white-on-white erasing failiure that the walking animation had.

 

New Piskel (1) copy.gif

The Dashing Sprite was also drawn in Procreate.

Honestly, EVERYTHING in this list is drawn in Procreate.
I said that in the first part of this section, and that's exactly what I did.

I made this sprite by rotating the first frame of our walking cycle, and giving the middle frames a slight blur effect.

No erasing was required, so there was no error with the white-on-white erasing issue.

The GIF used on this Wix website looks strange, but the odd stutter effect doesn't appear on any other software I try to open it in.
This has led to me also showing the frames of the animation, to show there should be no funny nonsense.


 

New Piskel (1) copy 3.gif
New Piskel (1).png

The Grey block you can dash through
is, as the name suggests, grey.

It also glitches out, to have the grey block in a black and white world be even more noticeable. 

The glitch effect was made using Procreate's in-house glitch effects, but it was not a single effect used.

I duplicated the first image, in order to get 22 frames.

I then had the glitch effects-
(change the cube's colors, add the little pixelated cubes, squiggle the cube, or shift the cube)
-be applied at randomly picked numbers, which changes how much of the effect will be applied, to give the effect shown in the animated tile













 

The Iconic Red cube of DEADLY DEATH was first made by drawing a cube that pulsated between three shades of red.

I then got bored, and decided to spice up this mundane red pulsating cube.

So, HOW did I spice it up?
I assigned each shade a size, and had it be that each shade of red would be a differing size.  This meant it was a stable cube that grew larger and smaller over the course of a few seconds.

I got bored with that too.

So I came upon the FINAL FORM of red cube:

It shall SPIN.

This led to the EXCELLENT final form of the red pulsating cube.

It was now the red pulsating SPINNING cube of deadly death.

I'm so proud of this.
I completely forgot that I was also supposed to have a stationary red block.
...      
as I type this, I look up at what I've just written, and I see a stationary pulsating red cube.

Never mind! I'm all good on pulsating red cubes of deadly death! 


 

New Piskel (1) copy 2.gif
New Piskel (1).gif
New Piskel (1).png
Red_Rotating-1.gif

Feedback Acquired by the Form

I chose a white void as the main place the character runs around in.
Most people thought it was interesting which is good to know, but most thought that a black void seemed to follow the idea of a Sci Fi project.

Feedback Brief

I decided that the main premise behind WHY you are in a big white void is that you are stuck inside your mind, like Shinji, in the end of Evangelion, or some other, nerdier trapped mind character.

Most commented that it was an interesting idea, but didn't understand how it counts as Science Fiction. 

This premise COULD be counted as Science Fiction, or Magical Storytelling, or any other thing.  It's hard to classify since the brief was so generic and broad about the genre. The brief only said Sci-Fi, and any sufficiently advanced technology is indistinguishable from magic, right? I was only given a vague swash of "Sci-Fi", and it being similar to Deus Ex, and Sonic The Hedgehog combined.

*Although, this means my awful platforming, and brutal restarts is being really true to form! Sonic was AWFUL!


The story is that you have been knocked out for mysterious reasons, and you now have to escape this big scary mental void.

There is a chair.  You sat in the chair, and now you are in the scary void.
If you can find the chair in the scary void, you wake back up, outside the scary void.

As you go through the scary void, you can find the SCARY RED CUBE.
(see the red cube)
When you touch the cube, you get repulsed back into the void.
(as in, you die, then respawn at the the start of the room)


You also have a very special move called the DASH,
You can dash THROUGH Grey blocks, and you try to dash away from the red blocks.





 

Red_Rotating-1.gif
New Piskel (1) copy 2.gif

Unreal Coding Work

 

Hmmm.  I should do more of that!

But, I need to explain all these images as well, and edit these images in proper order.





BUT! Before I start, I drew a smug Noelle  (Antagonistic cartoon girl.) in the Graphics Development Class. I think it's nice, even if it's unrelated.








Here is a screenshot of the project I am re-using.   It was made earlier, and features a Player, Enemies, Death code, a Tilemap, and an Animation State Machine.




Here is a screenshot of Me adding an input map for the left and right mouse key. These inputs hook up to the Dash Mechanic Code shown below

 

Unreal Coding Work
New Piskel (1).png

Proof I know how to draw.

Original Level..png
Dash and Left Dash.png

This system means, simply, that when you click left click on the mouse, it flips the sprite to face the left, and applies a huge impulse to the player.

(Why such a massive impulse?

The player's friction is really large, so the impulse has to be this large (10000000) for anything to actually happen.)



As a visual example of the dash mechanic, the Pacifist Dungeon game I made earlier, using the Godot Engine has the same baseline system.

Here's a video of the (other, eariler) game,
Pacifist Dungeon, for an example of the mechanic.

The video shows how the friction on the ground gives you a reasonable dash, and while in the air, you go ridiculously far.

(The super-jump dash works because the friction doesn't happen when you're in the air, thus the rapid movement off the ground)












 

Iput Speedboost.png

In the end, I had help from my dad to simplify this:  the dash is just one blueprint line, the left mouse causes the impulse to be multiplied by -1, and the right mouse impulse is just 1000000 units of force. My dad helped me think about how to refactor this more efficiently so I wasn't repeating code (he called it the DRY principle: Don’t Repeat Yourself)

This is the before and after of Me implementing the character animations.

This was the first time I used a drawing pen to illustrate my animations, instead of the software Aesprite.

It was... a challenge, to say the least.


Especially because I didn't export the animations with a transparent background.



Top is Before, where it's the ORIGINAL art used,






Bottom is After, when I replace the original art with the animated character shown farther above.

I learned how to use this technique in Godot, so I most often call this node I'm using is an Anmation Tree, which is what the node is called in GDScript terms.  Otherwise, you just call it an animation state node.













Lower down is the two screenshots of the exporting and flip-book-ing of the assets.

Original Animation State Machine.png
New Animation Set.png
Screenshot 2021-12-16 092732.png
Walking Animation Setup.png

This is a screenshot of the Level as I was building it, taken while I was in the Develop Mode of Unreal 4.26.2

The level here has the same large background as the downloadable game.

NEW background.png

Final Accomplishment List

I, by the end of this, must have:

A Menu. Check.

A Death Animated-cutscene.  Check

A group of levels.   Yes?
(It's more like a continuous sonic the hedgehog level. The different "level" environments flow from one to the other within the same map.

1 is our tutorial.

It has 3 jumping puzzles, it features a brown hued background, and will be built as a long stretch of room.

2 is our challenge.
It starts as a long hallway, and then turns to a set of nasty jumping puzzles.


3 is the big lump of squiggles at the top, which in practical terms, is a long curving pathway of ESPECIALLY nasty jumping challenges.

New Piskel (40) (1).png

1

2
 

3

4

After 3, number 4 is a long, (slightly boring) set of platforming that leads you into a disjointed room full of big 'ol black platforms to hop about on.    It is the end of the game.

I need to MAKE multiple levels, (or at least a checkpoint system.)

This inability to set up a checkpoint system led to me scrapping the  original level design, and do one large, checkpoint-less level.

I need to import the music made for the game.

I didn't know how to properly with the instruction I recieved up to this point, so I didn't implement music and focused on polishing the level design and overall mechanic.
(For a proper example of working audio, see the Radio/Audio section of the Tiny Rooms tab.) (See Audio is Nasty, and Making The Radio)


I need to make SOME interesting animated bit.

I made the death animation in Procreate, drawn on a drawing tablet. Implementing the death animation was an interesting challenge. I hadn't done video in unreal before. Rather than using an embedded video player, I went with what I already knew -- a flipbook on the menu. The menu was an independent level that had a large "screen" inside that contained the flipbook for the end scene animation, scaled properly. It took about 12 tries to get it right. 

*Can I do all this in at least ten days?

Definitely.

The Day is January 4th.

Making the Menu

The Final Act

Making the Menu
 

In this final (ish) act, I am creating the Menu System for Umbra.
 

The main problem I faced was how to SHOW the Death menu,
and allow the buttons on the menu to be interacted with.

(because it didn't appear. ever. I failed to implement the widget on the viewport. I hadn't realized that my player death state didn't advance the scene tree to the death animation. I solved this with an active viewport function. This led to me solving how to capture the mouse again after giving it up for the player controlled scene.)

It took multiple bits of trial and error, but it ended up with a nice solution.

The solution? Tell Unreal to ignore the Mouse Capture, allowing you to move the mouse, and see it on the screen.

First, here is a (basic) menu, consisting of a start button, and the *player.   The *button, upon being pressed, allows you to enter the game.

*WHY is the player here?
The "Menu" is an empty level.
Why is that important?
That player is the auto-spawning player you can control that appears whenever a level loads, and because there's no floor to the menu... they're falling forever inside a black void, so you can't tell that they're moving. (Because the falling animation overrides all other animations.)

Why is having a player in the menu an issue?

The diagram opposite can give a visual explanation:
When the game loads, you start falling.    This means that the menu will be visible for about... half a second before you fall past it.




*Why a start button?

Whenever I used an image, it wouldn't appear.   EVER.
(See the Diagram explanation)

The image, which is a few hundred units above the player as soon as the game begins, cannot be feasibly seen.
The button, however, is attached to the camera, which is attached to the player, and so the button UI will fall WITH the player:   This is cool because it means you can see the button menu.
When you press it, the button's collision is disabled, so you can't hit inside the game, when it begins.

Screenshot 2022-01-12 at 12.58.44.png

This is the the spawn point. It's just an image. It has no collision.

||
||
||
V

This is the player sprite. It has collision. It falls into the infinite void because there was no floor when the game started.

This is a screenshot of the first few seconds of the game.



The background is cream, then it turns to white about a third of the way through. This represents a "level" change in my seamless level layout.

 

Screenshot 2022-01-12 at 12.58.57.png

Upon being hit by a Deadly red cube, the game brings you to this scene, which will, by pushing the restart button, bring you back to where you stand in the second image, or back to the main menu scene (1)

The code itself was rather simple

(Four revisions to get it right, though.)

 

Screenshot 2022-01-12 at 12.59.05.png

The code itself consists of:

Allowing control of the mouse,
(SET-show mouse cursor)

Creating the Widget for the scene,
(Create New Death Widget Widget)
and adding the widget to the viewport. (Add to Viewport)

If I didn't add the widget to the viewport, you couldn't see it in the game.

Here is a video showing all the widget-menu scenes in game.



As it has been shown in the game video, when you hit a red brick, you die.

This instant death caused some issues in playability.
I playtested with friends and family and quickly realized that the difficulty of the game was brutal, but not in a "challenging, but fair" way.
One of the main points of feedback was blind drops that led to a one-hit kill.
I had multiple situations of pixel-perfect timing, and a few death-drops featuring six-seven fast moving cubes that you couldn't see at the bottom of the drop.
Or, sometimes you'd hit an enemy hitbox, and be killed for what may seem to be no reason, because you got too close to an enemy.
This is not good for a user who expects the game to be well made and ends up being needlessly frustrating. I want people to play my game, not rage quit.

 

Screenshot 2022-01-12 at 13.00.13.png
The Phantom Mr Glitch.png

One little glitch I noticed, sometimes, in the game, was this  drastic cubism-version of the character.

It would appear as the player when you first move when starting the game.

It reverts to normality after about a second, or when you fall off the platform you spawn on.
This was not intentional.
No sprite appears anywhere in the files that looks like this.

It only appears in engine, when you run the game.  It is not 100% reliable, but it will NEVER have a chance of not spawning.
I have no clue how to fix it.   I wish I did something this sneaky on purpose, as it would really fit into the story of this game being in a messed-up mindscape.

What's Next?
 

The final few bits:

This video seems to be missing a few bits in it.

The menus themselves don't look too great.   They were a bit rushed, but in terms of learning to use the widgets, the exercise was very useful.  The earlier Click-To-Play menu seemed much prettier, graphics-wise, I would say it was because I had more planned ideas on how to fit it together before starting. Also, I have said that at the END of the game that there would be an animated cutscene to herald your victory.

Where ARE they?                           .....Well, I haven't made them yet.

This final part will show the asset list of the soon to be (graphically prettier) menu, death menu, and the currently nonexistent Victory Menu.  It will also contain some screenshots, and a set of videos to show that I'm not making any of it up.

 

Here are the four buttons used in the Re-do for the Umbra Project.

Start begins the game.
Quit ends the game
Retry restarts the game
and Return brings you to the Main Menu


I chose these chunky shaped letters to add a bit of flair.
I also wanted the removed partitions to reflect the floating angular shards in the background of the main game.
The colors were chosen to help with visibility, as the letters gain a red tint when you hover over them, so I chose colors that would be very contrasting to the black, or red, for the Start and Quit, when you hover over them in the game.

Untitled_Artwork 3.png
Untitled_Artwork 2.png
Untitled_Artwork.png
Untitled_Artwork 1.png

Image One is the Main Menu, with Begin and Quit.

It shows the character, floating in the black void.  It also has the title, "Umbra". and a year of when the project began.

The line "An exercise in minimalist narrative" is related to a joke I made about how some art games are most often very obtuse, and confusing, and it's meant to imply that this is just a niche art game.

 

Screenshot 2022-01-12 at 19.45.46.png

This second page is the death animation page, and is formally known as the "Game Over Screen".    It shows a cool animation on the left, and has two buttons.    Retry allows you to retry, and the Return brings you back to the main menu.
 

Screenshot 2022-01-12 at 19.39.00.png

Animated Death Sequence:
I promised one, and so I'm giving you one!

Upon your death, this animated video will play, as a *mysterious red eyed entity stabs you with a yellow medical syringe, and everything goes black.

 

*hmmmm... you like the E.M.M.I robots much?*

I made this a few weeks after we got a copy of the game Metroid Dread, which features large, red-eyed medical robots of death.

I basically just created a low-budget version of the E.M.M.I Death animation

 

Now, I also said there would be a video showing all of this, smoothly.
Here's that video.
 

The ACTUAL FINAL ACT
 

Actual final act

The application is now uploaded and accessible!
I had a bad time during the importing where I lost all the files, and had to get a backup from home   (Three seperate times, again and again.).  Not to mention, all of this happened ON the day I had to upload the project, or I'd risk failing the assignment, which is something I did not want to happen.



Here is the compressed ZIP file of the final game.

This download contains the Zipped file.

OR you can find the exact same zip in the Platformer Moodle GS21 1 Submissions folder

You will have to extract the files

bottom of page