Level Design – Leighton

Here is a walkthrough of my level design:

You spawn in falling into a line of shards. Not only does it make it obvious that you will be collecting those, but also that they will guide your way.
The first gap is a jump test and is wide enough to cross with a single jump. It should get the player familiar with how far a single jump is.
Here, boxes block your way, and the player must figure out that these boxes can be destroyed by their gun. Also, it’s set up so that it’s difficult to shoot the boxes without shooting one of the torches. So, if the player hadn’t already figured it out, they would learn here that the torches are destructible and drop items.
This is another jump test, but it can only be crossed with a double-jump. this is to teach the player how far a double-jump in this game goes.
Now having the knowledge that they can destroy boxes, the player is given opportunities to exercise. Most obviously by shooting to the boxes to exit, but also to access the shards in the upper left. The player with also have to shoot boxes if they fall down the gap, in order to free themselves.
There are hints at a splitting path here, as there are inaccessible items both above and below. This is to have the player on the lookout for how to access these other paths. This will also teach players that they can shoot through platforms, if they choose to shoot at the enemies above.
Here we see the way to the top path: the platform to the left. But, there is also the more subtle entrance to the lower path. The torches are meant to imply to the player that the pit is not a deadly one, and they will be rewarded with the health and shard pickups shown earlier. That is, after defeating the more aggressive enemies that lie below.
The enemies in this winding section are still until you jump up to their level. The player only has to deal with one first, but there is an additional enemy added each level, so the difficulty ramps up as you go.
As this is the final challenge of this level, these enemies are also the more aggressive variants. I hope to alter their color or design in the future to indicate this.
After that is the end of the level. Who knows what awaits you there…

Rewards – Leighton

For rewards in the game, I have “soul shards” as collectibles and little soul-fire orbs as health restoratives. They are placed around the level to collect and are also contained in destructible torches with corresponding colored flames.

I put all the sprites (idle and collected) on one sheet for convenience:

Here they are working in-game:

Designing with Tilemaps – Leighton

I used the tilesets from the art lab for this tilemap. They seem to work well enough for my platformer, but I might spend time after the semester going back in and improving some of the art for the weirder intersections.

Here’s the tiles in-game in the beginning of what will be my level:

Here’s a very short clip:

Tilesets and Platforms – Leighton

I used the program Ben had mentioned, Tilesetter, and it definitely made it quicker to set up the tilesets. I made one for the solid ground:

And one for the platforms you can jump through:

Kinda like a… stained glass looking floor or something.

Obstacles and Enemies – Leighton Snyder

I felt bad about my character murdering a bunch of snakes, so I decided to do this lab.

Like I mentioned in my character design lab, the main character is shooting here way through the celestial planes of heaven or some such. So, I’ve made a low-tier enemy called Thrones, inspired by biblical descriptions of angels that guard god’s throne.

It’s a wheel covered in human-like eyes, surrounding the blue eye that contains it’s soul-flame (and also acts as the hitbox for you to shoot).

Idle/Moving (the same because they float):

Attacking:

Hit and death:

I also made some obstacles more in the style of the eerie angelic setting. Here are sprites of two different heights.

The grass tileset remains as the only thing out of place setting-wise.

Here’s a video of them in motion:

Projectile Physics – Leighton Snyder

This one took a bit to get right, but I have something operational I think. Multiplying the bullet speed by delta gave me some weird effects when moving while shooting, but removing that seemed to fix it. I’m also still trying to find the best way to align the bullet and the gun. Currently I have a point on the gun barrel where it spawns, but that can create weird effects when the cursor gets close to the player.

Also just a note for others, if you are concerned with crosshair accuracy: make sure that when you change the cursor to your crosshair sprite in Godot, you change the “image hotpost” in settings to align with the center of your crosshair. It makes it the top left of your sprite by default, which makes your shots a bit less accurate. My cursor sprite was 17 x 17, so I set my hotspot x=9 and y=9 to align with the center of the crosshair.

Here’s my player exterminating a bunch of snakes:

Enemies – Leighton Snyder

Definitely a lot going on in this lab. I think for the game I had in mind, I will probably rework some things, since the combat will mostly be ranged, but I was able to get everything working that was covered in the lab.

A weird blip was that after adding the stay_on_platform functionality, enemies without that check wouldn’t turning when hitting a wall. So I separated the wall collision part from the stay_on_platform argument:

Probably a prettier way to do it, but this ended up working.

Here it is all together:

Obstacles and Collisions – Leighton Snyder

After doing the obstacles lab, I think I understands signals a little bit more. I think I’m getting the hang of some of the code stuff now, so I didn’t have too many issues. Because I have my character’s arm as a separate sprite (to follow the mouse for aiming) I needed to do an extra step, to make sure it turned invisible when the character takes damage and dies. So I added that here:

Here’s it all together:

Five lives so I could do that last three-plant-hit combo…

Player Physics – Leighton Snyder

I finished the player physics lab, and while it’s still rough around the edges, I think it’s a good place to stop for now. There are a lot of things to keep track of code-wise, but I think I was able to get a hold of it eventually.

I was able to add a double-jump (although there’s likely a better way) and here’s how I went about it:

I added two new variables: jump_max for the maximum number of jumps you can take (which I exported so you can edit it quickly) and jump_count for keeping track of how many jumps the character has left.

Jump Max in the Player properties.
I added “jump_count > 0” as a condition for can_jump.
The jump_count resets every time you touch the ground.
And 1 is subtracted from jump_count everytime you jump.

So, here is everything together. I also added the arm to the player (doesn’t follow the mouse yet) and changed how gravity and jump height is calculated so I could get more consistent jumps.

I swear there is sound; it just wasn’t recorded. I’ll fix that one of these days.

Thanks!

Collecting Items – Leighton Snyder

Pink person eats apples and gets a life.

There is sound, but it wasn’t captured…

I didn’t add any additional items or graphics for this assignment, but plan to use this file as a template when doing the rewards art and might use that as an opportunity to add more stuff/things. I’d also like to go more in depth into how the metrics works, as I imagine they’ll be key if I want to integrate ammo/additional guns into the game in the future.

Thanks!