Back to… Prototyping? – June Update

As I said on my last update, now I’m studying Game Design Master’s at Full Sail and a lot of things are going on here, also last month I said I was going to work on a new platformer game, Midnight Journey.

But before getting into all game related stuff, a paragraph about school.

So at Full Sail, you have what is called a “Capstone Project” which involves you working somewhere in University for the last 8 months of the program, there are 5 capstones in total. 2 works just like a real studio, one focuses on bigger projects and one focuses on smaller and faster projects, one is a research lab for user experience and two are focused on Producer activities.

Before Capstone, you do what is called “shadowing”, where you are not officially working there but you go there and work there, the thing is that I’m shadowing 4 of the studios and almost all of my time is going to them!! I would show things here if it wasn’t NDA related, in fact, 1 doesn’t have an NDA and resulted in a cool portfolio piece for me, I’m going to talk about that.

Now, games.

Yes, I have to make games as homework.

Month 2 class is “Research on Team Dynamics” and, as the name implies, is about working in teams, so, what happens in a team dynamics class on game design masters? you get into a team and make games!

That’s when the first 3D platformer I’ve ever worked on was born.

3dplatformerprototype4.gif

My team consists of 2 designers, which are designing different levels and doing producer work, 1 3D artist and 2 programmers (I’m one of them!) – I programmed the player controller, it was interesting how much of the 2D Platformers knowledge translated to 3D, I could achieve something I’m happy with on my first try. There are lots to improve, but it is a 3D platformer that at least feels ok.

I will be working on that until the end of the month to get a better feel on the player controller and figure out the camera.

Make a Jump.

One of the capstones gave me a task in order to understand my problem-solving skills and see a little bit of my code. The task? “Make a Jump – Pick a game, and make a jump”.

ME? MAKING A JUMP? I’VE MADE 4 2D PLATFORMERS BACK TO BACK, I WILL MAKE THE BEST JUMP THIS GUY WILL EVER SEE.

That’s what I thought on that day.

But seriously, there were still plenty of things for me to learn on the land of 2D platformers, this time I tried something new: describing the player jump in function of:

  1. height of the peak of the jump;
  2. distance on x-axis to the peak of the jump;
  3. character’s movement speed.

And oh boy, I think I’ve reached the perfect formula for programming 2D platformers. I’ve decided to pick Super Mario Bros 3 and try to get its feel.

marioJumpPrototype.gif
It started like this

 

The first thing I wanted to do right is the damping, how Mario takes its time to change directions and stop moving, after that, I decided I could use some beautiful 2D art.

marioJumpPrototype2.gif
And it turned into this!

At this point, the task of “making a jump” was pretty much complete, but I decided to play some more, I liked the feel and the code so much that maybe I could use it as a Gameplay Programming portfolio piece, maybe I can use the code in the future for a 48h game jam.

So the end result is this:

marioJumpPrototypeFinal2.gif
That’s the final result.

I’m really proud of this platforming code, to be honest, and it’s Open Source!

https://github.com/guilhermepo2/JumpyJump

Midnight Journey

Oh yes, finally the game I’m really working on!

Last Update I’ve just said that:

  1. Midnight Journey is a platformer with exploration elements.
  2. Rooms that changes.
  3. Explore a tower collecting pieces of a story to know what happened there.

The first thing I wanted to do to get this game up and running was (a) basic platforming, which is already outdated since I’ve started this before the Super Mario Bros 3 reverse engineering, I will rewrite that, and (b) THAT camera transition (you know which one I’m talking about)

screenTransition.gif
THE camera transition

After that, the next step I wanted was to get the “Rooms that changes” part of the equation done, I did that based on my level generation for the Mobile Roguelike, which maps individual colors of an image into specific objects to instantiate. But I made a very welcome and important change, it doesn’t instantiate objects anymore, it has a tilemap to work on and it maps color to a tile and fills the tilemap according to the template. And also, I’ve incorporated rule tiles into it.

RuleTile.gif
Changing Rooms with Rule Tile

The last thing I’ve worked on this game was an aesthetic element, I want the player to have a cape, and I want its behavior to be interesting, it should follow the player and really act as a cloth, think something similar to Madeline’s hair in Celeste.

Image result for Celeste Madeline hair gif
Madeline’s hair in Celeste

I wanted the cape to have the same effect, but it should be bigger and more visible, so I believe it would be something very interesting to have on this game. I started prototyping possible solutions and this is what I have.

CapePrototyping.gif
My cape Prototype

Right now it is just some round sprites that follow the player with an offset and some frames of delay, but I want to use the glorious power of Trigonometry to add an interesting behavior to them and after that, I would make it look like a cape and not just a bunch of balls.

So that was it for this monthly update! Now I have a Windows PC and I can record gifs very easily, which is something I always liked to do. It’s way better than trying to describe things, so expect lots of gifs on every update from now on!

Hope you all have a good month!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s