{"id":10806,"date":"2019-01-03T06:46:49","date_gmt":"2019-01-03T06:46:49","guid":{"rendered":"http:\/\/astoryisnotatree.net\/?p=10806"},"modified":"2019-01-03T06:48:24","modified_gmt":"2019-01-03T06:48:24","slug":"level-design-monstergame-cassadys-monster-adventure","status":"publish","type":"post","link":"http:\/\/astoryisnotatree.net\/?p=10806","title":{"rendered":"Level Design: MONSTERGAME\/\/Cassady&#8217;s Monster Adventure"},"content":{"rendered":"<p><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/basic.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10807\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/basic.png\" alt=\"\" width=\"1345\" height=\"578\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/basic.png 1345w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/basic-300x129.png 300w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/basic-768x330.png 768w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/basic-1024x440.png 1024w\" sizes=\"auto, (max-width: 1345px) 100vw, 1345px\" \/><\/a><br \/>\nThis is my shooter mod. It retains most of the original features of the original space tutorial, including a scrolling background and two types of enemy AI. The basic world metaphor is that of a monster-infested bedroom, and the protagonist\/player is a dog. When making my first game and conference expansion, which were rooted more in a concept, I found myself devoting a disproportionate amount of my time to the aesthetics and visual design. While I definitely paid my debt in the time spent on game mechanics later on, for this shooter mod I wanted to give myself license to start with imagery and work from there.<\/p>\n<p><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10812\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster2.png\" alt=\"\" width=\"202\" height=\"116\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster2.png 1022w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster2-300x172.png 300w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster2-768x441.png 768w\" sizes=\"auto, (max-width: 202px) 100vw, 202px\" \/><\/a> <a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10814\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster3.png\" alt=\"\" width=\"150\" height=\"143\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster3.png 634w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster3-300x285.png 300w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10813\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster1.png\" alt=\"\" width=\"159\" height=\"120\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster1.png 776w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster1-300x226.png 300w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster1-768x579.png 768w\" sizes=\"auto, (max-width: 159px) 100vw, 159px\" \/><\/a> <a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10818\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster4.png\" alt=\"\" width=\"253\" height=\"85\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster4.png 1250w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster4-300x101.png 300w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster4-768x257.png 768w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monster4-1024x343.png 1024w\" sizes=\"auto, (max-width: 253px) 100vw, 253px\" \/><\/a><br \/>\nI began by designing these monsters, and they\u2019ve stayed consistent all the way through. My favorite is either the cloud-like eyeball creature, or the beetle at the end &#8211; the latter was pretty literally modeled off of an actual bug, as I figured a giant beetle with some goop dripping would be \u201cscary.\u201d<br \/>\nOur second in-class crit of paper games, I brought in a level (sadly not pictured here) which depicted a polluted natural landscape the player was fighting monsters within. I had at that point been thinking of doing this game for conference, but soon changed my mind and followed through on my WWII Willow Run game, which otherwise would\u2019ve felt like a loose end. My paper game for level 2 had numerous disparate elements and the design of the landscape itself was severely underdeveloped; due to the amount of time and care I was spending on the graphics, I ended up not including the pollution\/climate change concept at all. Had I done this game for conference, it would have started in a bedroom with a non-scrolling background where you fight each of the four monsters, one at a time. When the last monster dies, the UI says something to the effect of \u201cyou can finally sleep!\u201d which prompts the character (in this case probably a child, not a dog) to go towards the bed. The lights would turn off and level 2, a polluted dreamscape, would initiate. There, you would fight the same monsters in a scrolling background, with both player and enemy shooting different, thematically appropriate bullets.<br \/>\nAlas, this was not to be! I stuck with a simple bedroom level, which many people expressed liking in crit, and focused on making it a visually compelling environment.<\/p>\n<p><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/laundry.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10810 alignleft\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/laundry.png\" alt=\"\" width=\"269\" height=\"165\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/laundry.png 392w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/laundry-300x184.png 300w\" sizes=\"auto, (max-width: 269px) 100vw, 269px\" \/><\/a><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10816\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/bed.png\" alt=\"\" width=\"188\" height=\"254\" \/><\/p>\n<p>The laundry pile and bed are both at a higher layer than the player and all enemies \u00a0(except the cloud monster, which floats over them) and their bullets; in a sense, they act as visually disruptive zones.<\/p>\n<p><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/floor1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10822\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/floor1.png\" alt=\"\" width=\"199\" height=\"251\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/floor1.png 459w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/floor1-238x300.png 238w\" sizes=\"auto, (max-width: 199px) 100vw, 199px\" \/><\/a> <a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxl.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10819\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxl.jpg\" alt=\"\" width=\"177\" height=\"251\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxl.jpg 1000w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxl-211x300.jpg 211w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxl-768x1090.jpg 768w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxl-722x1024.jpg 722w\" sizes=\"auto, (max-width: 177px) 100vw, 177px\" \/> <\/a><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10820\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxfuncolor.png\" alt=\"\" width=\"178\" height=\"252\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxfuncolor.png 1000w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxfuncolor-211x300.png 211w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxfuncolor-768x1090.png 768w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/monsterfloor1000pxfuncolor-722x1024.png 722w\" sizes=\"auto, (max-width: 178px) 100vw, 178px\" \/><br \/>\nThe floorboard&amp;rug background was a late-in-the-game (so to speak) addition. The previous image, a blue carpet, wasn\u2019t terrible, but I knew I would have to remake it anyway as the scale was not working. To take up the entire screen, it had to be large enough that the black lines were fully pixelated, and it wasn\u2019t clear that it was a carpet. I also didn\u2019t love how my sprites showed up against the carpet, and wanted something with richer color that would be more compelling. I drew the background with alcohol-based markers, and spent at least two and a half hours on it, which was definitely overkill, but the final product does look nice. The \u201creal\u201d drawing contains the blue and cream color scheme, while I lifted the rug into a separate layer in pixlr and messed around with alternate colorations there.<\/p>\n<p><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/car.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10808\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/car.png\" alt=\"\" width=\"142\" height=\"198\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/car.png 438w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/car-215x300.png 215w\" sizes=\"auto, (max-width: 142px) 100vw, 142px\" \/><\/a> <a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/controller.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10815\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/controller.png\" alt=\"\" width=\"90\" height=\"119\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/controller.png 359w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/controller-228x300.png 228w\" sizes=\"auto, (max-width: 90px) 100vw, 90px\" \/><\/a> <a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/sock.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10809\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/sock.png\" alt=\"\" width=\"120\" height=\"79\" \/><\/a> <a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/soccer.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10817\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/soccer.png\" alt=\"\" width=\"115\" height=\"120\" \/><\/a> <a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/lego.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10811\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/lego.png\" alt=\"\" width=\"134\" height=\"105\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/lego.png 350w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/lego-300x236.png 300w\" sizes=\"auto, (max-width: 134px) 100vw, 134px\" \/><\/a><br \/>\nRight now the environment is just for decoration. I tried putting a BoxCollider on the legos so that the player\u2019s range of motion would be temporarily circumscribed, but it impeded the enemy\u2019s movements as well and I decided to spend my energy elsewhere. For most of development, I was using the RC Car as my avatar, as I simply hadn\u2019t purposefully drawn anything to fill the role. Toward completion, I decided this needed to be resolved.<br \/>\nFor audio, I recorded sounds made by my pug\/beagle puppy, Cassady. He is very ridiculous and while the beagle brings him closer to the norm in terms of safe airways and general health (his eyeballs will almost certainly never pop out), he still has pretty heavy breathing and makes many preposterous sounds. He\u2019s also pretty easy to rile up and lives with two other dogs, one of whom is a Great Pyrenees puppy, so it was good fun getting some recordings. This source of audio inspired me to make the avatar a dog, which then led me to change around some of the sounds; previously, the enemies getting hit triggered the \u201ccry\u201d sound, which is now given to the avatar, and, instead of a generic \u201cwhoosh\u201d at the avatar firing a sock, there is now a soft bark. These sounds are definitely what brought final life to this game, and, together with the artwork, immerse the player in this world.<\/p>\n<p><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/avatardog-e1546497810459.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10821 aligncenter\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/avatardog-e1546497810459.png\" alt=\"\" width=\"386\" height=\"102\" srcset=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/avatardog-e1546497810459.png 940w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/avatardog-e1546497810459-300x79.png 300w, http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2019\/01\/avatardog-e1546497810459-768x203.png 768w\" sizes=\"auto, (max-width: 386px) 100vw, 386px\" \/><\/a><\/p>\n<p>One of the biggest issues with this game right now is that when an enemy goes unkilled, it has the potential to run into the player at the bottom of the screen and become a real impediment, dragging them down off the screen. This isn\u2019t often a problem, as there are many features which motivate the character to kill enemies: the satisfaction of seeing an explosion and hearing a sound effect, adding points to your score, and just being under attack to begin with. The lethality of enemies also motivates the player to avoid any enemies which make it to the bottom of the screen. Nevertheless, to give an easy out, I created an ever-present restart button on the left side of the screen. Otherwise, I had few qualms; the background reset it a bit stark\/jumpy, and the audio could be more rewarding by having customized continuously looping, bullet firing, and damage-taking sound effects for each individual monster.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is my shooter mod. It retains most of the original features of the original space tutorial, including a scrolling background and two types of enemy AI. The basic world metaphor is that of a monster-infested bedroom, and the protagonist\/player&#8230;<\/p>\n","protected":false},"author":216,"featured_media":10807,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[409],"tags":[414,423],"class_list":["post-10806","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-level-design","tag-level-design","tag-game-mechanics","wpcat-409-id"],"_links":{"self":[{"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts\/10806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/users\/216"}],"replies":[{"embeddable":true,"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10806"}],"version-history":[{"count":3,"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts\/10806\/revisions"}],"predecessor-version":[{"id":10825,"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts\/10806\/revisions\/10825"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/media\/10807"}],"wp:attachment":[{"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10806"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}