Skip to main content

Strange update 10-22-18 : Low level design pain + pain

One of my new friends I bought for $15

Hello there to anybody that still reads this old blog or might be reading 100 years in the future-

It's been some time since I wrote anything here- I have been posting pretty regularly on my youtube channel though-

Ok, so where are we in October 2018?

I'm still working on my big game thing- latest video on that here

I'm through the majority of the coding for the game OR SO I THOUGHT I WAS...more on that later ^_^

I've been learning/working on games for 4+ years now... I brought my wealth of experience from film/animation/music etc into this venture BUT it only helped me a little.... why?

I've found that when making "static" things like film/animation/music/writing you are forgiven for your lapses in organization because once individual parts (scenes animated, chapters written, music recorded) have been finished they cannot be "broken"

Now, in order to complete the static projects I did I needed to be better than average at organization BUT from working on a huge game I've become well aware of my shortcomings in the space-

So, there's been a lot of time spent grinding, iterating, analyzing how to best organize all the pieces of information that is required to create a big game like I am doing now-

I've always used notebooks to dump my thoughts onto paper which has helped me immensely get things done and not be a basket case of lost memories and broken thoughts-



Three shelves in my bookcase are taken up by these old notebooks- I can travel back in "idea time" over 20 years flipping through the old notebooks-

But for this new crazy game making mayhem space notebooks are NOT enough-

Why?

For the things I'm doing at this point in the game- low level game design- you not only need all the data laid out nicely to view at a glance, you need to see how the data relates to other data in the game-

For example- let's say you are trying to keep track of what NPC's send you on a quest to get an item to open a door on a "level" that is different than the one the NPC is currently on-

How do you keep track of what "key" opens what "lock" across the game?

Now- I want to go back to the film/animation space- in that space once the script and storyboard is completed you are attacking very specific, encapsulated problems- your current problem is the current shot- you do whatever you need to do to hack through the shot, and when you do the problem is solved-

Other than how it fits in the overall narrative as dictated by the script/storyboard there are no other issues that arise once the shot is done- you can dump it out of your mind at that point-

The thing with game design is that you cannot dump anything out of your mind because the whole thing is LIVE and interactive- a change you make at the "end" of the process can affect everything that came before it--- and there is much too much data to store in your mind at one time-

NOW I've read all the game design books I could get my hands on and watched all the lectures I could find so I know from that stuff that the "Game design document" is supposed to handle all that data for you...

Well, it is in theory according to the books BUT what is covered in the books with examples and the like is the HIGH LEVEL DESIGN- which is an overall outline- it lacks the details- when reading through the books and looking at those examples it all makes sense BUT when you come to the point of laying out your level you realize the high level design doesn't help much- you need the LOW LEVEL DESIGN details and examples-

The ONLY two examples I've managed to find that showed low level design details that have been helpful too me are the Grim Fandango documents linked here and the "Game Flow" section of the book "Game Design Theory and Practice"

Both of these documents helped a ton- especially the example in the book from "The Suffering"- a great game I played back in the day btw- In that example they have a chronological list of the critical path elements on the game with an alphanumeric code that corresponds with a drawn map of the game- THIS is the kind of low level design stuff that is REALLY HELPFUL

(If you have found any good low level design examples like the above please post them in the comments- thx)

All the rest of the material I've found has been high level design which as I've said doesn't help much when its time to actually make your levels/game etc- NOW this hasn't been an issue on any of the previous games I've made because they were all pretty simple- so I didn't notice any problems-

So once I started to get to the point in the games progress where the "rubber has to meet the road" as its said I quickly realized I was out of my depth- the project seemed huge and unwieldy- I couldn't tell up from down and felt totally lost and defeated at that point-

I spent a good part of the past year just programming stuff for the game and studying the craft of programming with books like "Clean Code" and "The Pragmatic Programmer" amongst others-

Through studying that stuff I've learned that one of the biggest hurdles to get over in solving a problem is actually knowing what the problem is that you are trying to solve!

For example- Let's say you think that your current problem to solve is making a laser hit an explosive barrel- your REAL problems are something like-


  1. How do I get a Raycast to fire? 
  2. Then- 
  3. How to get a Raycast to fire in the direction of a target object? 
  4. Then- 
  5. How do I get a Raycast to collide with an object on a particular layer?
  6. Then-
  7. How do I return the game object from the collider hit by the Raycast?
  8. Etc....


So I've learned from my experience in programming/problem solving is to make sure you are attacking the right problem- to make sure you are asking the right questions-

In order to ask the right questions or attack the right problem you need to be able to see things clearly- you need to be able to view the data and the relationships it has with other data-

So at this point writing things in my physical notebook weren't helping much so I enlisted the help of Microsoft OneNote- I started organizing my data into the appropriate "notebooks" in OneNote using text and images-



I started making some diagrams then realized the diagrams helped BUT I needed to see the relationships between nodes on the diagrams-

So I found this program called Scapple and started to create diagrams for some of the data like character relationships-



This was moving in the right direction but when I tried to diagram the relationships between levels/locks/keys it got too chaotic-



I decided to go for it and wrote out the first 4 areas of the game in a movie script like format that I had seen in some of the game design document examples-



It was useful but I still needed to tie the events to a physical place in the games environment- I still felt confused-

I looked around for tools/techniques that would help me map out the data- I came across the program Scrivener from the same company that makes Scapple

It's a pretty versatile program that allows you to write in a notecard form while at the same time displaying/working with the same data in a movie script format or a list-





I mapped one of the area I had already done the script for as notecards- it was good BUT I was still missing something- I still needed a physical map for the events- all the events were tied to an imaginary geography in my mind roughly described on paper- this still didn't cut it-

So the workflow I'm going forward with now that feels like I have a handle on all the data is the following-

For each "Level" or "Area" in the game


1.        Create text list of key items, NPC’s, bosses
2.        Create text list of any key/cool locations you want to include
3.        Make text list of key events in order for critical path
4.        Draw map with raw geography and note item/event locations
5.        Create detailed text level description including any NPC dialogue
6.        Convert level description into Note Cards/Script in Scrivener
7.        Create nicer map with icons for events in Photoshop

I just decided on this workflow today and only have bits of it finished as of now for the first 6 areas of the game- I'll be filling out all the sections now- once I have finished examples I'll update this post-

*Update1 after going through and using this workflow for the game's first six areas I have to edit it a bit- I found it's really awkward to draw a map of an area before it has a detailed description-

I've been reading a bit about architecture and the like- you need to know what a place is for- you need to know its intent/spirit etc before you can draw it out/design it-

So a better order of my steps above is this- switching 4 and 5

1.        Create text list of key items, NPC’s, bosses
2.        Create text list of any key/cool locations you want to include
3.        Make text list of key events in order for critical path
4.        Create detailed text level description including any NPC dialogue
5.        Draw map with raw geography and note item/event locations
6.        Convert level description into Note Cards/Script in Scrivener
7.        Create nicer map with icons for events in Photoshop

I did 5 of the first 6 areas by doing the detailed text description first and it worked well but for some reason I thought it would be better to draw the map first- it wasn't ^_^

Here's some screencap's from some of the finished work from this segment-

This is for a relatively small area called CHURCH OF GENERIC


1.        Create text list of key items, NPC’s, bosses


2.        Create text list of any key/cool locations you want to include


3.        Make text list of key events in order for critical path
(This one is pretty sparse- the others have more steps)


4.        Create detailed text level description including any NPC dialogue


5.        Draw map with raw geography and note item/event locations



I've yet to do strps 6 and 7 for this area yet-  I posted an example or step 6 and 7 above but here it is again in two different views-

6.        Convert level description into Note Cards/Script in Scrivener





 So that last script example will be the file I'll be working with the most to go along with the detailed map I'll make in step 7-

For the detailed maps in step 7 I'll add icons like this to give the map a clear visual language for me to work with when creating the actual levels-



Update 2! I got some more reference, the most helpful being the book 
In the book the author details his level design workflow and it is chocked full of all the low level game design information I was looking for!

So now I'm redoing my current level designs to use a lot of the techniques included in the book- the most important one for me is his objective--> Obstacle chart- this was a big missing piece to my workflow- with this chart you can see the level progression + obstacles in an easy to read chart- here's a screen capture example from the book...



So simple but so useful! Its a very helpful book overall as well- Ok I'm back to reorganizing my level design data for the 4th time haha- this sort of grinding on paper is all a part of the process- better to grind and go in circles now ON PAPER instead of with polygons and code-


So yeah, I'll keep grinding on trying to get a grasp on this BEAST......

ALSO----------------------

I've also made 35 new instrumental songs for the game's soundtrack-

I've used the music creation as part of the level design workflow- So I have an idea for an area/game event then I'll go make some music for it- then I'll listen to the music while writing the details of the level-

I've also just created a lot of the music with no concept but recently I've been making songs to go along with my current design ideas--

Here's one of the songs-



I only just started ramping up to full productivity-

We had to euthanize our one year old Cat Lynx late in the summer as he had terminal Lymphoma- We did the chemo+radiation therapy + everything else but our little buddy was just dealt a bad genetic hand of cards to play with-

I usually posted a little tribute to people/animals that have died here on this blog- I did a post when we got the diagnosis but I posted about his death on Peepeth here as the past there is on the blockchain forever-

I'm also including Lynx as a character in this game- you follow him to find a secret cave then later have to find him some cat food then he shows you another secret location to explore-

I was wrecked when I had to make the decision to take him in to get euthanized- I had done it before with other cats but never for one that young-

The night before we took him in I drank a bunch of beer and cried hysterically for like 2 hours- I'm not a big crier myself so I was a bit surprised after- I think it was a cumulative release of pain as in the past couple of years my dad died a terrible death alone, I had to euthanize my 17 year old cat, my wife's father died a surprise death at a young age, I spent a week at UCLA hospital with a friends father who was going through a life threatening surgery + recovery, and our previous cat was killed by a mentally ill homeless person then we had to euthanize our new 1 year old cat-

I didn't really express much pain from the previous things as I was able to focus on the projects I was working on at the time and chose to be stable for other people- but this time my work wasn't so intense so yeah it really got me-

Right after that we went to Kona, Hawaii for ten days- then I came back and got back to work- amongst all this stuff in the past year I've torn my rotator cuff twice in the same arm doing dumb shit with gymnastics rings and then with ghetto workout equipment I threw together with an olympic bar and some kettlebells because I was bored 0_0

So I've been learning the whole rehab thing amongst other things and just hoping I can use my left arm properly again- if it doesn't get better I'll go try stem cell treatments and all the other fancy stuff that is available now-

I've had to learn the "take things slow" patience lesson in so many different forms now 0_0 I better have learned my lesson by now-

I'm still working out everyday but not doing anything my shoulder can't take which is like anything except using a hand bike-

Anyway- thats an update from this obscure weirdo out here in the fast collapsing DuhMurica!

Silicon Valley, where people live in shacks made of blue tarps down near the railroad tracks, mentally ill roam the streets screaming at all hours of the night and addicts nod off on the sidewalks-

None of that matters though as I'm all about that Picasso quote...
“The important thing is to create. Nothing else matters; creation is all.”

So create however/whenever/whatever you can- people and the world will do what they do- we'll all come and go- I'll like to leave some cool stuff behind- so create I do, the best I can.

Comments

  1. Really sorry to hear about Lynx, and I hope you recover well from the injury!

    Interesting to see this in-depth planning stuff!

    ReplyDelete

Post a Comment

Popular posts from this blog

What format should I render out of Cinema 4d with?

UPDATED 2_27_13!  RENDER USING EXR Lossy Zip16! Since I'm working on a new feature film that will generate over 1500 shots made up of image sequences I need to make sure I choose the right file format to render to lest my hard drives explode. What I need from my format is  at least 16bit, an alpha included and preferably small size. I rendered out a frame from my film tallied up all the file sizes here- their all different types of codecs listed from smallest file size to largest. The render includes an RGBA pass, Depth pass, and Material Luminance pass because thats what I always render out. 1.00mb 8bit-Photo Jpeg %100 1.27mb 8bit-PNG 4.65mb 16bit- EXR lossy ZIP16 5.75mb 8bit-PSD 6.23mb 16bit-EXR lossy PLZ 6.44mb 16bit-PNG 7.94mb 8bit-TIFF 8.50mb 16bit-EXR Lossy 24 9.05mb 16bit-EXR Lossy Run Length 14.6mb 8bit-TARGA 22.4mb 32bit-EXR ZIP16 24.6mb 32bit-EXR Zip1 25.6mb 32bit-EXR PLZ 29.3mb 16bit-TIFF 29.3mb 16bit-PSD 40.0mb 32bit-EXR Run Length 58.7mb 16

Aggregated feedZ

So I totally aggregated all meh rss feedZ...So in this one handy like feed thing you can get... -Meh blog posts -Meh EXCITING Facebook status updates (ex. "I'm so FACE") -Meh youtube videos -Meh Vimeo videos -Meh Blogtalk radio episodes - and much more (actually just like some other xml code that i don't understand) Just subscribe via this link and you can get all that for a low low price of...oh wait it's totally FREE ^ ^

So a guy is trying to take credit for my film...

TLDR- Scroll down to THE THIEVERY My name is Mike- I make films under the name "M dot Strange" and I have done so for the past 10+ years- this is my story as a filmmaker culminating in a recent event wherein a "filmmaker" tried to take credit for my life's work Here's my imdb page with my film credits  My web site Here's a reel with stuff from my original films in which I wrote/created/designed/animated etc everything that you see- I can and have performed all aspects of animated film production on my films- thats sort of how I made a name for myself- by being a one man animated film studio Here's a presentation from 2014 with me discussing the production of my last film My first animated feature film "We Are The Strange" premiered at the Sundance Film Festival in 2007 Sundance archives link Article about the film Link to the film Film's site Because of the buzz that film generated I was given offers to sell the