2018 - March  |  2018 - February  |  2018 - January  |  2017 - December  |  Work Log
2018.03.18 - Sunday
Technical Design
Holy hell, March is half over! I'm picking at things, trying this, that... mostly to see how Game Maker works and what's possible. I did something with the background sky that's been behind the buildings in many of the videos below, replacing it with a shader instead of a texture. It works really well. If the shader was some type of cloudy sky, it would look a lot like the sky in Breath of the Wild, which is definitely a dynamic shader. Something very much like this.

Game Design
One of the problems I'm having is how to handle the camera perspective. Think of a first or third person game, when the camera is low to the ground and you can see off into the distance. When the camera is high, you are above the player, staring down at the ground. These pictures illustrate the difference. These are all pictures of the same scene, with only the camera's height changing.

In my opinion, the first one looks the best and the third the worst. My game is a top down game, which is a lot like the third picture. My dilemma is: How do I make something that looks more like the first picture, than it does the third? The awesome feeling that I get from being able to stand atop a big mountain and look out over the landscape can't be overstated. I don't know that it's possible to replicate that feeling in a 2d world though. In an attempt to replicate the low camera look, you can zoom out, which will increase the field of view. This relieves some of the claustraphobic feeling from the third picture. If that view was zoomed out, allowing you to see the sorroundings, it would be a little more playable. I tried this with my protoype and zoomed the camera out around 100%. It gives a much larger field of view and feels a little more substantial, which you can see in the video below.

I'm going to keep experimenting. I'll check out some other games to see how they handle it, as I'm sure someone already has a great solution.
2018.03.15 - Thursday
Tonight, I'm working on something a little different for me. I need a 'scan' effect for when the ghost highlights something, which seems like something I can do with shaders. I've never used shaders before, so I'm looking at this tutorial to help me out. This VCR distortion shader is out of control! I'm looking to do something like this scanning shader.
2018.03.13 - Tuesday
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.
2018.03.12 - Monday
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."

Samus and the Ghost

The Game World
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.

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.

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...

Vapor Board
I made some wallpaper versions of the vapor board. One with a black background and one with a transparent background. They are 2048x1706.
2018.03.08 - Thursday
I've been working steadily, currently 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.
2018.03.04 - Sunday
I wanted to show what the vapor board looks like in Magica Voxel.
2018.03.03 - Saturay
Technical Design
I was spending some time in MagicaVoxel and started on some kind of diorama for the title.
Work in progres...
Project Ever Design Edicts
  1. Figure out what FUN is and make it rewarding.
  2. Make the FUN competitive, and let people compete.
  3. No fetch quests. These are not FUN.
  4. Have lots of guns, really hundreds.
  5. Drop loot from the enemy that awards it.
  6. Breadth, then depth. Iterate to add depth.
  7. Loot must change gameplay, must be interesting.