DD Week 2

This week I have learned: A* & GOAP (and a little bit of D*)

A*

I spent a long time trying to implement a pathNode generation system. That honestly turned into a pile of crap. But that’s how first attempts go. All it all it looked good:

After I had this thing working I begun to try to implement A* base off the class presentation. But quickly realised that the way I had done the grid implementation did not work effectively enough for a good implementation of A* as the two systems generated problems that I did not understand in their entirety. So I decided to make use of a previous tutorial(Sebastian Lague A*), that I have worked through before, this was a good result as I gained a better understanding of each part and its function.

GOAP – Goal Oriented Action Planning

Basically just read this and watch your horizons expand: Three States and a Plan: The A.I. of F.E.A.R. – Jeff Orkin

But in case you are to lazy to read it(Seriously, take the time to read it!) The gist of it is: Their are goals and actions. Entities have their own internal understanding of the world, and how it can effect that state to complete a goal. To do this goals are generalized to a desired world state. This means that any entity in the game can be given the same goal. And it must use its own abilities to attempt to shift the current world state to the goal state. To do this it has a range of actions that it is able to take. These actions can be anything that is relevant to the entity, the actions have prerequisites, and effects. And the system calculates the cosings of each action to stack them in an order that will hopefully result in goal state.

The little bit of D*

D star is a path originally based off A* pathing, it is designed to be able to handle the possibility of unknown path data. And to be able to improve the efficiency of repathingas the pathData is updated. To do this it makes use of propagation waves that are used on repathing as the propagation waves make it less likely or more likely to plan paths through areas based on the result of the previous pathing attempts. This alongside the fact that It plots its from target to current location make it able to update the path from a position up the chain allowing the entity to continue to Navigate along the old path while a new path is planned from the updated PathData. This can then be spliced into the current Path, allowing a continuous flow.

Advertisements

Banksy Patrol

Banksy Patrol is a game about avoiding the authority, to upset the status quo through street art.

Check out the game here!

We had to do a video Pitch, Here is mine.

Art

I used a lot of Banksy’s work in this project, I lay no claim to any of their work. But I also made a bunch of custom art assets for this project as well, using my personal style;

I can create these assets rather quickly, as I find a silhouette that I like as a base, use Adobe Photo-shops warp tools to adjust it to my needs. Then I have two workflows depending on if the asset is for a grayscale finish or a colour finish.

The former being start with the silhouette in black, and use a soft edged brush on 1%-8% fill depending on the size and focus of the area being worked on, and I paint in the light, with #fff for the highlights, and #000 for the shadows, this gives a very high contrast, glossy, faked detail look, where they can pass for high detail assets, but they take relatively little time to produce. The quality scales well with time spent. For quick colour, you can simply use Photoshop’s colour overlay tools to add a single colour, Like I have done with the spraycan as seen above, or spot colours with masked colour overlay, this method is quick but returns a limited quality.

The later of the two workflows is a longer process for a colour version. Start with a picked colour pallet, keep the colour pallet locked and on a separate layer to avoid misrepresenting the colours through paint overs and smudges(what I call miss-click’s when painting in Photoshop) you want this layer at the top of the stack as well. You also want a #808080 or 50% grey fill of the silhouette at the bottom of the layer stack, you want to lock this layer and never touch it again. Once you are set up you want to work on the project in a number LOD(level of detail) passes. Start by block colouring the areas of the silhouette, I find using a solid colour fill and a mask makes this step easier, as you can quickly change a colours fill, without messing up the mask. Now comes the first lighting pass, you want to make a copy of the silhouette layer and put that layer above the block colours, but below the colour pallet layer. The layers lighting mode should be switched to “Overlay” this will effectively make it completely transparent, but that is what we want, next same as the grayscale workflow we want a soft edged brush on 1%-8% fill depending on the size and focus of the area being worked on, but as you work change the layers Opacity to see the colour come through, this is useful to adjust how aggressive the lighting is, I like to start out with the Opacity on 65%, but be sure to adjust it as you work, moving it up and down to help you keep perspective of the colour to light mixture. Now this is only LOD 1 so don’t worry too much on how realistic the lighting is, this is just to help you confirm the block colour on the silhouettes. Once you are happy, you want to hide top colour pallet layer and make a flat layer of everything so far, the Photoshop hotkey for this is “shift+ctrl+alt+E” then you want to continue adding detail in steps, but instead of using black and white, you want to spread the light and dark areas of colour around while using them to add detail, for this use the eye dropper, keep the fill rate very low, and work slowly, every time you are happy with a “step”, continue working on another layer up as to not ruin past work as painting with dynamic grabbed colour is destructive (cannot be reverted past the undo limit) method. Keep working and adding layers until you are happy or hit the deadline. I bet it’ll be the deadline. Happy painting!

Notes:

Thanks Sey for all the help and motivation on this project.

I’ll add pictures to better show how I do my art, later if I remember.

This project did not turn out as successful as I would have liked, and I plan on revisiting my coverage of this project on this blog when I feel I have the motivation, and time to do so. (but I make no promises)

 

Pitching an APOCALYPSE

Here is my pitch video.

Feedback

From this pitch and presentation I received a small amount of feedback. The feedback and my response, thoughts and planning is as follows:

#1: Silhouettes, colour and negative space should be the primary focus.

Agreed, Olly Moss’ use of these elements is iconic and essential to his work. I have already been brainstorming and considering how i will use these elements and am planning to do more mock-ups and tests to play with different uses of silhouette, colour and space.

I am also considering how the message and tone of the game will be conveyed through the silhouettes, colours and space. As mentioned by my facilitator, Missile Command makes a very clear statement about nuclear warfare through its use of the words “The End”. I will be considering what my game is saying about this ending. I still need to figure out and define what this game is the end of, what nuclear war is the end of. Going deeper than that, endings can be beginnings. Does this mean my game is about the beginning of something?

These are things that I still need to brainstorm and work out. Once I do, it will very much inform the use of silhouettes, colour and negative space.

#2: Does the player have to move between depth planes?

No. Despite the 3d environment, players will interact with the game as though it as 2d, just like the original Missile Command. Also, players defensive interactions will effect everything, regardless of depth.