Work Log

If you don’t see any updates for a while, check my Work Log. I keep it updated with technical stuff, some ideas, to do lists, upcoming objects, etc. Sometimes I don’t have much to say and don’t want to make a post here just to say I’m still around. I’ve added a link at the top of all pages.

Testing refined ghost movement.

 

Little Light

Technical Design
GameMaker really works well when it comes to reuseability. I will code something directly on the player object, the code to initialize the sound emitters for instance, then refactor that code into a function that accepts the target object as a parameter. This isn’t groundbreaking or anything. The great part is the way GameMaker facilitates this type of design and makes it easy to do. It agrees with my style very much.

Let’s get to some specific things I’m working on…

The Player
The main character was originally written as a guy like me named Elliot Ever. However, this quickly lead to me referring to the world as the Eververse, which is not good. I’m not sure what to name him now. I was thinking of letting the player name the character and not referring to the character by any specific gender. This way, the person playing the game can pour themself into the main character container and not feel out of place. I’d like anyone to be able to imagine that if they were put in the hero’s place, they could fill the role very well!

Not having a specific character to work with got me thinking about the hero’s interactions with other characters in the game. How would a hero with no personality decide what to say, what to do? So I decided to give the hero a personality type, akin to how the hero is defined in Just Cause 3. Rico Rodriguez has a very well defined personality and set of needs.

“The child of one thousand comic books and action movies. He is James Bond, Mad Max, Jason Bourne, El Mariachi, Wolverine, Punisher, Rambo, Tony Montana and Han Solo all rolled into one. With a touch of Enrique Iglesias to top it all off!”

I’ve thought about giving the hero a personality that is loosely based on one of the Myers-Briggs types, speficially, INTP. That’s probably where I will start as far as interactions go.

Little Buddy
I wanted to have a buddy companion for the player. Think, Destiny’s Ghost, Halo’s Cortana, or System Shock’s SHODAN. I picture the companion traveling with the player like the Ghost, giving the player real-time augmented reality feedback. For instance, when you walk up to an NPC, the companion will display the active quests involving that NPC. How or where these would be displayed is unknown.

GameMaker works in such a way that I will code the logic for these augmented reality components into the companion’s game object. They will activate and deactivate based soley on the Ghost’s presence in the world and will operate entirely independent of any other object in the game. The ghost requires a follow target, in our case it’s the player. From that follow object, the ghost gets the viewport and uses that to display its augmented reality information. You could attach it to any object with an active viewport and it would display its information correctly.

I liked the Ghost idea until I played Hyper Light Drifter and saw their Ghost. That game already has so many similarities to mine that adding a ghost just seems like it will invite even more comparison. Part of me doesn’t care about the similarities. I’ve known about the type of game I want to make for 10 years and that’s what I’m going to make. Another part of me says, get rid of the ghost, get rid of the work required to make the ghost. I’m leaning towards an in-ear companion, much like Jane from the Ender book, “Speaker for the Dead.”

The Game World
Earth
This has been tough for me. I want so badly to integrate unexplained real world events into my story, explaining them as consequences of the game’s events. It just doesn’t seem like it’s going to line up. I will take another pass at it though, I really enjoyed writing those parts of the story.

Roma
The ‘alien’ world is called Roma in everything I’ve written. Inhabited by Romans, which aren’t from Romania. They are ‘robotic human.’ Not really robotic at all, but that’s how we can understand them from our frame of reference.

Romans
They are a lot like we could be a few hundred years from now. Their planet is dying and has recently reach the tipping point. They disregarded any concern for the planet because they had an extremely advanced space program. It was very nearly ready to support a full blown planet-wide emigration when they were attacked on a global scale. The assailant, an alien race that frequented the Solar system, was thought to be an ally and attacked with little resistance. By the time the Romans were able to respond, the war had already been lost. The Romans presence in space was nearly wiped out when the capital spaceport, Porta De Ceu, was totally destroyed. Millions died in the unprovoked attack.

Collusion and the Altayih
Once the dust had settled from the invasion, It was found that many Romans had colluded with the Altayih to ensure the effectiveness of the attack. These traitors, known as Tamurins, were critical to the Altayin’s understanding of the Roman defenses, helping to detail and map out the Roman response to the surprise attack. The Roman’s faith and trust in the Altayih was mirrored by the Tamurins, and they too were betrayed. The Tamurins were promised positions of power once the Romans were conquered, but few survived the attacks and many were executed by their co-conspirators. Within a few weeks, the Altayin’s had taken control of every one of the Romans offworld mines. They enslaved the inhabitants of the mining colonies and eventually worked many of the colonists to death. It turned out that the Altayih had no desire to conquer the Romans and were merely doing what had to be done to collect as many resources as they could. After a few decades, the Altayih moved on to a new system.

This goes on and on…

 

Collision Detection

I’ve been working steadily on collision detection. Here is a bug with collision detection and dashing.

The problem is that my player is moving more pixels per game tick than the collision object is wide. The player passes right over the collision block without ever setting foot on it, then it collides with the next one and stops. What I’m doing now is checking to see if my destination location would cause a collision. I need to check for a collision at any point from my current position to my destination. Fun stuff!

Here is a short clip of the city.

 

GameMaker and Pixel Art

Game Design
I am going to use GameMaker Studio as my engine. It is a nice middle ground between ‘build your own’ and ‘drag and drop.’ I think it will be good for me. I can go on to something like Unreal or Unity next time.

Art Design
Pixel art is so tough, I can’t get over how easy some people make it look. Check out the image in this tweet…

Pretty, pretty cool. I’ll try that with my Hunter from yesterday’s entry.

I have a story written that includes a bunch of real world events. I liked the idea of explaining a couple of well known mysteries with events from the game’s story. For example, explaining the cause of the Tunguska event by showing that the meteoroid responsible for the explosion was actually jettisoned cargo from an alien spacecraft. What I don’t like about that parts of the story take place on Earth, so you’re kind of bound to having a portion of your story on the pale blue dot. Nothing wrong with that from a story standpoint, but then you have to create assets for Earth as well as what we’re calling Roma, the beautiful but negelcted planet on which the bulk of the story takes place. Here are my drawing skills, to show you how much of a burden a second location will be on me.

   
Such Art Whiteboard City

Yeah, so… on to music. My friend sent me to Audio Jungle to check out some royalty free music. There is so much available, I’m pretty hopeful I can find something to use for sharing clips of the game.
img

 

Kick and Pitch

General Updates
I made a few updates to the Inspiration page. I will be adding a Pitch page for the ‘Kickstarter’ presentation, which is basically an overview of the game I am making.

Here is a hunter from Destiny. I want to try some pixel art to make this a real character.

 

Two More Engines

Technical Design
Well maybe not down to three! I decided to go to the opposite end of the spectrum from building my own engine, to a codeless engine. I wanted to try a couple of those, since some pretty good and successful games have used them.

  • Construct 3: This really seems to be a 100% codeless game maker. You use event and actions to build your scenes. Everything is an object and has events and actions based on its object type. There is No Game is made with Construct.

  • Gamemaker Studio: This is an awesome product. There are some really great games made with Gamemaker, including Hotline Miami and Hyper Light Drifter. Showcase here.

I am definitely doing a 2D, top down game. I am working on a Kickstarter-like pitch for the game. It will give an overview of what I want to achieve. I plan to include a summary of the story, list core mechanics, outline the gameplay loop, and describe the game’s aesthetic. I am working on this now.

 

Three engines, which one?

Technical Design
I think I’m down to three choices for the game engine, ordered by my preference.

Unity, 2D: Top down, sprite based 2D. Unity is great to work with and has a solid 2D component that has been pretty easy to work with.




Unreal, 3D: Third person, low-poly. I love to code and that kind of leaves Unreal out in the cold. It has an amazing visual design system called Blueprints. You can also write everything in C++, which I’m not very proficient with. By far, Unreal has the most potential graphics wise. It also ships with a very good multiplayer system.




In house, 2D: Top down, sprite based 2D. From a code persepective, this has the most potential. I get to write everything from scratch and control every aspect of the design. On the downside, I have to write everything from scratch. I actually think this is a very cool option.

 

Dream State: Pittsburgh

pittsburgh
This is where I spent most of a dream I had last night. I was in the city, walking around, looking for something. Everything looked a lot like this picture. Eventually, the USX tower collapsed as we drove away from the city, heading into the Liberty tunnels. It reminded me of what Quake 2 looked like when I first played it with the hardware renderer at 640x480. Remember when colored lighting was new?