<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4609578496969861287</id><updated>2012-02-13T10:36:16.023-08:00</updated><category term='maze generation'/><category term='reading'/><category term='senior design'/><category term='procedural generation'/><category term='sleep deprivation'/><category term='health'/><category term='gaming'/><category term='mu'/><category term='programming'/><title type='text'>Dungeons and... More Dungeons.</title><subtitle type='html'>A procedural dungeon generator for Unity.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-3621081970161794197</id><published>2012-02-12T20:03:00.000-08:00</published><updated>2012-02-12T20:03:43.137-08:00</updated><title type='text'>Quick Update on Corridors</title><content type='html'>Changed it to grow the corridors in a breadth first instead of depth first manner. It looks WAY better now. And now on to rooms!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Kg3w-Tfgelc/TziLkCmsNQI/AAAAAAAAAHM/oOwA2eTW6U8/s1600/MapSample2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-Kg3w-Tfgelc/TziLkCmsNQI/AAAAAAAAAHM/oOwA2eTW6U8/s400/MapSample2.PNG" width="368" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-3621081970161794197?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/3621081970161794197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/02/quick-update-on-corridors.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/3621081970161794197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/3621081970161794197'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/02/quick-update-on-corridors.html' title='Quick Update on Corridors'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Kg3w-Tfgelc/TziLkCmsNQI/AAAAAAAAAHM/oOwA2eTW6U8/s72-c/MapSample2.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-5163010349679277110</id><published>2012-02-12T15:54:00.000-08:00</published><updated>2012-02-12T15:54:41.664-08:00</updated><title type='text'>Corridor Mapping is Go!</title><content type='html'>It's been a while since my last post, and I apologize. I've been busy with trying to get a job for last year, and a lot happened this week. That having been said, I've made some progress. I've switched over to prototyping in processing for the time being, because it is quick and easy. All I'm trying to do right now is get out a floor plan, and then I can turn that floor plan into something pretty in Unity.&lt;br /&gt;&lt;br /&gt;Last week, I was trying to generate my maps rooms-first, by generating a bunch of rooms and then trying to connect them. This proved to be problematic, as finding paths between rooms, and for that matter, picking which rooms to connect was proving computationally expensive. So, now I am generating corridors-first, and the results are looking promising.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-KDChz-8gBNs/TzhN7Q9CNgI/AAAAAAAAAG8/TGCppI3IxLA/s1600/MapSample0.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-KDChz-8gBNs/TzhN7Q9CNgI/AAAAAAAAAG8/TGCppI3IxLA/s320/MapSample0.PNG" width="297" /&gt;&lt;/a&gt;&lt;/div&gt;Basically, each corridor is given a starting location, a direction and a width. The corridors are drawn outwards from the starting position one row at a time. At each location, there is a certain probability that a new corridor will be drawn starting at that position perpendicular to the current corridor. There is also a set probability that the new corridor will be smaller than the current corridor. There is also a set probability that a given corridor will stop short. All of these probabilities are controllable by the user. For example, here is another maze with the probability of spawning a new corridor turned down:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7gFJQ0sG5zA/TzhQSnC1mqI/AAAAAAAAAHE/EYCljWBzG_c/s1600/MapSample1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-7gFJQ0sG5zA/TzhQSnC1mqI/AAAAAAAAAHE/EYCljWBzG_c/s320/MapSample1.PNG" width="298" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;As you can see, the maze is considerably sparser. The next step is to give corridors some probability of spawning rooms as well as corridors. This behavior is similar to spawning a new corridor, so I do not anticipate it causing problems. Because there will be rooms taking up space and obstructing corridors, this will have the effect of making the mazes much sparser. I suspect that the solution to this problem will be to fiddle with the weights of various behaviors.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Will post again once room placement is up and running.&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-5163010349679277110?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/5163010349679277110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/02/corridor-mapping-is-go.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/5163010349679277110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/5163010349679277110'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/02/corridor-mapping-is-go.html' title='Corridor Mapping is Go!'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-KDChz-8gBNs/TzhN7Q9CNgI/AAAAAAAAAG8/TGCppI3IxLA/s72-c/MapSample0.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-971682877901146443</id><published>2012-01-31T13:09:00.000-08:00</published><updated>2012-01-31T13:10:02.377-08:00</updated><title type='text'>Processing is my Favorite</title><content type='html'>Things are moving slower than I'd like in Unity, so I'm trying a new tactic - I'm making a 2D prototype in &lt;a href="http://www.processing.org/"&gt;Processing&lt;/a&gt;. I should have an overhead map ready by the end of the week, and then I can translate that code into C# and start assembling that 2D overhead map into navigable Unity scenes.&lt;br /&gt;&lt;br /&gt;(Note on post frequency: As a means of keeping me on track and of giving you - my peers and advisors - more opportunities to call me if I get off track, I'm trying to post way more frequently than I did last semester. Hopefully this'll help. I apologize if this clogs up your RSS feeds.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-971682877901146443?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/971682877901146443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/01/update-for-today.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/971682877901146443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/971682877901146443'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/01/update-for-today.html' title='Processing is my Favorite'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-8721614424700146436</id><published>2012-01-30T20:40:00.000-08:00</published><updated>2012-01-30T20:40:59.371-08:00</updated><title type='text'>Some Cool Stuff I Found</title><content type='html'>I am still working on getting random rooms up and running, so while you wait, here is &lt;a href="http://gamedeveloper.texterity.com/gamedeveloper/201002?pg=42#pg42"&gt;something really cool&lt;/a&gt; that I found. It's an article in Game Developer Magazine by Adam Saltsman about procedurally generated content. Although most of this was old news to me, it offered some interesting avenues to pursue. One came from Saltsman's own procedural level generator. (It's in the references of the article, but you can find it &lt;a href="http://www.gamasutra.com/blogs/AdamSaltsman/20090529/1562/Procedural_Level_Generation_for_Artists.php"&gt;here&lt;/a&gt; if you're lazy.) His basic idea was to set key locations that you want the player to visit first, and then dig a series of successively smaller tunnels towards these key locations. I like it because it allows a little bit more control on the part of the designer.&lt;br /&gt;I've also been looking at the documentation of a program called &lt;a href="http://dungeonmaker.sourceforge.net/DM2_Manual/"&gt;DungeonMaker&lt;/a&gt;, which is a simple dungeon generator for 2D dungeons for Roguelike games. The strategy behind DungeonMaker is that the dungeon is "carved" by a series of agents. Big tunnelers crawl around digging large tunnels and spawning a series of smaller tunnelers who dig side passages. These tunnelers have the option of spawning a room digger, which will cut out a room if there is enough room. DungeonMaker takes the opposite approach of what I want to do. I intend to place the rooms first, and then use a variant on Kruskal's algorithm to connect them. Nonetheless, he provides a different interesting solution to the problem I'm trying to solve.&lt;br /&gt;&lt;br /&gt;That's all for now. Once I get Unity to stop being so finicky, I'll show off some room generation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-8721614424700146436?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/8721614424700146436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/01/some-cool-stuff-i-found.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/8721614424700146436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/8721614424700146436'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/01/some-cool-stuff-i-found.html' title='Some Cool Stuff I Found'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-7298605815388137483</id><published>2012-01-27T14:38:00.000-08:00</published><updated>2012-01-27T14:38:06.563-08:00</updated><title type='text'></title><content type='html'>Hi! This is post number 0 of my blog on my dungeon generator. My proposal is basically to make a procedural level generator for video games built in Unity. Where most games have a level generator built specifically for them, however, I will be making a general purpose level generator that allows artists to input their own assets and set preferences as to how they want the dungeon to look and feel. Additionally, the generator will allow for non-procedurally generated content to be seamlessly integrated with the dungeon. For example, if a designer wanted a procedural level, but then wanted to design the boss chamber by hand, he or she could do so and the chamber would be connect properly with the rest of the level.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;This is an offshoot of my project from last semester, so there is already some progress. However, much of this is being rewritten. This past week, I have been brainstorming redesigns of my old system. Last semester's generator used a tile based system to create a sprawling series of tunnels. I would like something that feels a little bit more like it was constructed by humans, so I will be rewriting it to take an approach more similar to the building process. Instead of sending corridors all over the place randomly, the generator will take the space and divide it up into bounding boxes that will eventually contain rooms. It will then design an outline for the room to be constructed. It will then connect the rooms via tunnels and doors to create a minimum spanning tree. By controlling access to the various branches of the MST through locked doors, the generator can know the order in which the player will have to explore the rooms (or at least, which groups of rooms will be accessible before others). This means that a game designer who is using this system can say "I want the player to see X before Y" and the generator will be able to make sure this happens.&lt;br /&gt;&lt;br /&gt;This is the basic idea. I will go into more detail about specific features as I implement them. However, if you are interested, you can see my design doc &lt;a href="http://dl.dropbox.com/u/49153/Semester2DesignDoc.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Looking forward to updating you as I go.&lt;br /&gt;&lt;br /&gt;-Eliot J. Kaplan&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-7298605815388137483?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/7298605815388137483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/01/hi-this-is-post-number-0-of-my-blog-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/7298605815388137483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/7298605815388137483'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2012/01/hi-this-is-post-number-0-of-my-blog-on.html' title=''/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-8330679766345471091</id><published>2011-11-03T22:01:00.000-07:00</published><updated>2011-11-03T22:01:49.146-07:00</updated><title type='text'>Procedural Storytelling</title><content type='html'>My idea for creating a procedural story based around an archaeology dig has always been that the character travels around the ruins, gathering artifacts and learning about the ancient civilization. In order for the game to be successful, I need two things. First, I need to be able to dynamically generate a history about which the player can learn, and then the player needs some means for tracking their process in learning about that history.&lt;br /&gt;&lt;br /&gt;The fact that the player is the only character in the game helps me a lot - it means that I just need to generate what happened without needing the character to have to interact with the stories as they occur. In the game, history will be made up of distinct events. Each event keeps track of which historical characters were involved in the event. Characters only need to keep track of their relations to other characters.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;The player keeps track of his or her progress in learning the full history of Mu in a journal. As the player makes new discoveries, these discoveries are tracked in the journal, which acts as an encyclopedia of Mu. The journal will have two kinds of pages: character pages and event pages.&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-HgeqRfYOr9I/TrNnEw3_NmI/AAAAAAAAAFk/CIl92PyFGM0/s1600/Taft_Journal.png" imageanchor="1" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;img border="0" height="326" src="http://4.bp.blogspot.com/-HgeqRfYOr9I/TrNnEw3_NmI/AAAAAAAAAFk/CIl92PyFGM0/s400/Taft_Journal.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;A quick mock-up of a character page.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;The character pages will display information that the player has discovered about a particular Character. Most importantly, their dates of birth and death, their relationships to other players and a fact sheet, which will mainly serve to link to the event pages of events in which the character was involved. This page may also include some flavor text.&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3KKwlBGUDjo/TrNppf7cF_I/AAAAAAAAAFs/QCzFEfFz3eU/s1600/Taft_Event.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="326" src="http://2.bp.blogspot.com/-3KKwlBGUDjo/TrNppf7cF_I/AAAAAAAAAFs/QCzFEfFz3eU/s400/Taft_Event.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;A quick mock-up of an event page.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The event pages display information that the player has discovered about a particular Event, most importantly the people that the player knows were involved so far, and the player's progress in learning the three big facts about the event. Whenever the player finds an artifact, journal entry, carving or painting, a new event-piece is revealed in the journal, and all relevant character pages are updated/created.&lt;br /&gt;&lt;br /&gt;The journal serves as a scoring mechanism (you are a better and better archaeologist as you fill out more and more pages) and as an events-in-progress page (You still need to investigate X to fill in the blank on this page.)&lt;br /&gt;&lt;br /&gt;So, with all of this in mind, generating new events actually becomes really easy:&lt;br /&gt;1) Pick an event template to base your event on.&lt;br /&gt;2) Cast characters to play the various roles in the event. A character can be cast in a role if nothing in the character's history conflicts with events that happen during the event. So, requirement for the role of the groom in the wedding example would be:&lt;br /&gt;hasn't already played the role of groom at a wedding AND is male AND (spouse not yet assigned OR spouse was assigned as this character's bride as part of a different event) AND there is no temporal conflict. (That is, nobody should be marrying someone who lived 200 years before they were born.) AND isn't already assigned to some other role in this event.&lt;br /&gt;New characters should only be created if no character already created fits the requirements.&lt;br /&gt;3) Spawn an item in the world that is related to the first of the three plot points in the event. The second and third items should only be spawned after the first item to make sure that the player discovers the story in the correct order.&lt;br /&gt;&lt;br /&gt;Done. That's the plan so far. I'll be discussing it with Dr. Lane when I meet with him on monday. I'll also be talking with Matt from the SIG Lab later that day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-8330679766345471091?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/8330679766345471091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/11/procedural-storytelling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/8330679766345471091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/8330679766345471091'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/11/procedural-storytelling.html' title='Procedural Storytelling'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-HgeqRfYOr9I/TrNnEw3_NmI/AAAAAAAAAFk/CIl92PyFGM0/s72-c/Taft_Journal.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-5752844168551099745</id><published>2011-11-03T19:52:00.000-07:00</published><updated>2011-11-03T19:52:06.075-07:00</updated><title type='text'>Regarding My Alpha Review:</title><content type='html'>First, if anyone wants to see it, here is my alpha review demo:&lt;br /&gt;&amp;nbsp; &lt;embed allowfullscreen="true" allowscriptaccess="always" bgcolor="0x000000" flashvars="&amp;amp;backcolor=0x000000&amp;amp;file=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DWQav3mRpsBw&amp;amp;frontcolor=0xffffff&amp;amp;image=http%3A%2F%2Fi.ytimg.com%2Fvi%2FWQav3mRpsBw%2F0.jpg&amp;amp;lightcolor=0x000000&amp;amp;plugins=viral-2d&amp;amp;screencolor=0x000000&amp;amp;skin=http%3A%2F%2Fwww.seas.upenn.edu%2F~cis497%2Fnacht.zip&amp;amp;stretching=fill" height="191" src="https://www.seas.upenn.edu/~cis497/projects2012/player.swf" width="300"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Regarding the comments on my alpha review...&lt;br /&gt;It's disappointing, but I agree with the comments - I got carried away on the maze generation bit, and my gameplay concept wasn't quite as clear as I would have hoped. I've spent the week really buttoning down a plan for how the game is going to play out, and I think I've got a plan of action that will carry me through the rest of the semester.&lt;br /&gt;I am beginning to have serious doubts about whether or not I'll be able to make something for sick kids. I like the idea of a game that reacts to treatment, but now that I've taken some time to step back again and look at broad concept, I'm rapidly losing confidence in my ability to make something that would actually be helpful for someone who is sick. I don't have a good resolution to this problem. I suppose I could just turn my project into an experiment in procedural gameplay, but I feel pretty awful about that option. Feedback on this point would be greatly appreciated.&lt;br /&gt;&lt;br /&gt;Anyways, on to my next post where I'll inform you on how I can make this thing work in some form or another.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-5752844168551099745?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/5752844168551099745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/11/regarding-my-alpha-review.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/5752844168551099745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/5752844168551099745'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/11/regarding-my-alpha-review.html' title='Regarding My Alpha Review:'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-1006230347314431551</id><published>2011-10-21T02:24:00.000-07:00</published><updated>2011-10-21T02:24:09.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='senior design'/><category scheme='http://www.blogger.com/atom/ns#' term='sleep deprivation'/><category scheme='http://www.blogger.com/atom/ns#' term='procedural generation'/><category scheme='http://www.blogger.com/atom/ns#' term='maze generation'/><title type='text'>Mazes! Finally!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-tyQLWAXJ9R4/TqEpkSQpqLI/AAAAAAAAAEY/AHOnwW66JCM/s1600/TestMaze1_BIG.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-tyQLWAXJ9R4/TqEpkSQpqLI/AAAAAAAAAEY/AHOnwW66JCM/s1600/TestMaze1_BIG.png" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/-8VpXL1nngOU/TqEpkk98C5I/AAAAAAAAAEc/Q8a-d4VxS0E/s1600/TestMaze2_BIG.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-8VpXL1nngOU/TqEpkk98C5I/AAAAAAAAAEc/Q8a-d4VxS0E/s1600/TestMaze2_BIG.png" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/-rWAH10yTWVY/TqEpklp3hpI/AAAAAAAAAEk/67hcjqBhIdg/s1600/TestMaze3_BIG.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-rWAH10yTWVY/TqEpklp3hpI/AAAAAAAAAEk/67hcjqBhIdg/s1600/TestMaze3_BIG.png" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/-bESYle_Naio/TqEpk-bz1eI/AAAAAAAAAEs/ov-RV2iBiAw/s1600/TestMaze4_BIG.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-bESYle_Naio/TqEpk-bz1eI/AAAAAAAAAEs/ov-RV2iBiAw/s1600/TestMaze4_BIG.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-lCHD1Eb7Fw0/TqEplFReHyI/AAAAAAAAAE4/uoqvPOnmtyg/s1600/TestMaze5_BIG.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-lCHD1Eb7Fw0/TqEplFReHyI/AAAAAAAAAE4/uoqvPOnmtyg/s1600/TestMaze5_BIG.png" /&gt;&lt;/a&gt;&lt;/div&gt;It took me all week, but I've finally got the rooms linked up. So now, I can take a series of room maps like those above and recursively generate a full maze by tiling the rooms. The red pixels represent traversable terrain, black represents empty space, and green represents doors. By recursively adding tiles to the maze, I can now generate a maze through which the players can travel.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nd5gNLD5Zmw/TqEzKaFgxlI/AAAAAAAAAFA/iw7UA-E0LA8/s1600/3DMaze.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="291" src="http://2.bp.blogspot.com/-nd5gNLD5Zmw/TqEzKaFgxlI/AAAAAAAAAFA/iw7UA-E0LA8/s640/3DMaze.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;In the screen capture, you can see that the program has taken the 5 maps above and generated a maze. There are some problems with connectedness - if you look to the upper right hand side of the maze, you will see a tunnel system that in no way connects with the rest of the maze. The maze is building just fine, however the dead ends are causing a little bit of a problem. I'll have to figure out some way to neatly tie up the ends and enforce connectedness later on. Alternately, I could just create tiles that fit together more nicely.&lt;br /&gt;In the near future, I will draw the tiles bitmaps myself, but ideally at some point in the future, possibly after this semester has ended, I'd like to see the program generating new tiles on the fly.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-XWwifUpv7ZI/TqE3mqlaibI/AAAAAAAAAFI/LbcuQwmoC6I/s1600/MazeInterior.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="181" src="http://3.bp.blogspot.com/-XWwifUpv7ZI/TqE3mqlaibI/AAAAAAAAAFI/LbcuQwmoC6I/s400/MazeInterior.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;As you can see, the player can travel through the maze freely. There are some interesting issues with the lighting that I need to work out, but as a maze it works well enough.&lt;br /&gt;Getting this thing to work has been a source of frustration during this week - the way that Unity handles the creation of new objects more complex than a single repeated shape is complex and irritating. I had intended to go to bed much sooner than 5:30, but I got a little carried away with it. I will make another post in the very near future with more details on the clinical side of things.&lt;br /&gt;&lt;br /&gt;Eliot out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-1006230347314431551?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/1006230347314431551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/mazes-finally.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/1006230347314431551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/1006230347314431551'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/mazes-finally.html' title='Mazes! Finally!'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-tyQLWAXJ9R4/TqEpkSQpqLI/AAAAAAAAAEY/AHOnwW66JCM/s72-c/TestMaze1_BIG.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-8819784806804533478</id><published>2011-10-13T21:27:00.000-07:00</published><updated>2011-10-13T21:27:12.911-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='senior design'/><category scheme='http://www.blogger.com/atom/ns#' term='health'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='procedural generation'/><title type='text'>Rooms, y u no connect?</title><content type='html'>Ok, the title of this blog is a bit deceiving. Each room now stores a pointer to the rooms to the north, south, east and west, and I can get a room to load all of the rooms within N of that room by way of recursion. This means that all that I need to get the rooms to load as the character moves is to have the process be triggered by the character's movements. (Character enters a room --&amp;gt; Load all not-loaded rooms within 5 rooms of the current location.) I'm having a lot of trouble getting the program to load multiple instances of the same room. I might try passing maps rather than full room objects. The room maps have also changed - I'm not using arrays of 0s and 1s. I am now using PNG files, where each file is a room and each pixel is a tile. This lets me quickly draw up new rooms, and also is a nice neat storage format with a lot of room for adding new features in different colors.&lt;br /&gt;&lt;br /&gt;Per my meeting with Norm and Joe a week ago, I've been thinking about some canonical features of the dungeon. Norm raised the possibility of having specific rooms represent specific treatment features as a commentary on the repetitive nature of treatment. In this case, allowing the player to have a common feature that they are battling, with variations each time they come back. So instead of "treatment" being associated with random encounters, there is a chemo room (which will NOT be called "the chemo room") that the child defeats during every chemo cycle. I do not have any canon that i'd be willing to publish right now, but soon.&lt;br /&gt;&lt;br /&gt;For this upcoming week, I need to:&lt;br /&gt;- Get the room links completely working so that I've got a complete dungeon-graph structure.&lt;br /&gt;- Get stairs working&lt;br /&gt;- Arrange a meeting with patient life at CHOP - I'm starting to get to the point where a health perspective will start being really helpful. Right now, I can do without because I'm just working on nuts and bolts, but no harm in starting putting together a meeting or two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-8819784806804533478?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/8819784806804533478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/rooms-y-u-no-connect.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/8819784806804533478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/8819784806804533478'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/rooms-y-u-no-connect.html' title='Rooms, y u no connect?'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-7673378895638212366</id><published>2011-10-04T00:09:00.000-07:00</published><updated>2011-10-04T00:09:37.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='senior design'/><category scheme='http://www.blogger.com/atom/ns#' term='mu'/><category scheme='http://www.blogger.com/atom/ns#' term='reading'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>Introduction to Game Development (2nd Edition)</title><content type='html'>I am reading chapter 2.1 (Game Design) in the second edition of &lt;a href="http://www.amazon.com/Introduction-Development-Second-Steve-Rabin/dp/1584506792/ref=dp_ob_title_bk"&gt;Introduction to Game Development&lt;/a&gt;, which was graciously lent to me by Ryan. (Thanks) And I'm jotting down some preliminary notes here. The section on flow raised an interesting point that I hadn't thought about regarding player feedback. Obviously, there will be feedback when the player becomes aware of a new quest, and when the player succeeds at a quest, but in order to keep the character moving, I may need some form of regular feedback when the player is just exploring. Even something as simple as a hot/cold meter could make a big difference in-game. I'll need some way of letting the character know "hey, you're on the right track." Perhaps a seeing stone that serves as a hot/cold meter. I'll have to give this more thought.&lt;br /&gt;The book cautions against randomness, which was unsettling, but I don't think it affects my design. The point in the book was that random outcomes often make the player feel cheated when the randomness works against them, and underwhelmed when they succeed because it was not due to their own labors. I don't think that this game falls victim to this problem because once the random problem is set out, the player's solution is entirely their own work. Nevertheless, when introducing a randomized element, I'll keep this in mind.&lt;br /&gt;&lt;br /&gt;Tomorrow, I'll read 2.2 (Game Writing and Interactive Storytelling) and give it a quick writeup. Unless life is too hectic, I'll also be starting on getting my rooms connected with one another. I'd also like to take ryan's suggestion and convert my room maps into bitmaps - this will probably help make the maps a bit more multipurpose as I'll be able to easily save the maps and I'll be able to store more information than "there is room here" or "there is not room here."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-7673378895638212366?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/7673378895638212366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/introduction-to-game-development-2nd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/7673378895638212366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/7673378895638212366'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/introduction-to-game-development-2nd.html' title='Introduction to Game Development (2nd Edition)'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-3193557543364982933</id><published>2011-10-02T15:13:00.000-07:00</published><updated>2011-10-02T15:28:30.459-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='senior design'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='procedural generation'/><title type='text'>Room Maker!</title><content type='html'>Unity is amazing. I am absolutely in love with it. I have finished the script that takes an array of ones and zeroes and turns it into a room. Eventually I'll have another script that creates the room maps from scratch, but for now I need to create my own. Examples at the bottom of the page.&lt;br /&gt;&lt;br /&gt;The script puts together the rooms out of 5 sets of tiles: Walls, Corners, Floors, Corridors and Dead Ends. It picks randomly out of these sets - that is, when placing a corner if I've given it more than one corner to choose from, it picks randomly. The tiles do not need to be perfectly square, but they do need to fit together evenly at the seams. This will allow me to dynamically create varied rooms by creating a palette of tiles that Unity can use. I can define which tiles go into which categories in the Unity editor, without having to change any scripting. If I want to have multiple kinds of rooms, I can create multiple room generator objects and give each of them a different&amp;nbsp;tile-set&amp;nbsp;to work with.&lt;br /&gt;&lt;br /&gt;I need to work on the lighting - right now i'm just throwing a point light in at each tile so that I can see for debug purposes. I know that this isn't an efficient or pretty solution, but it works for now.&lt;br /&gt;&lt;br /&gt;This upcoming week, I'll work on getting multiple rooms connected by functional doors and (time permitting) corridors. I'll also be reading those books that Ryan lent me. (Thanks, mate.) Up to now, all of my reading has been Unity tutorials.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-HTeoLapetw4/Tojh09VzETI/AAAAAAAAAEQ/3GMupy7XKNE/s1600/SquareRoom_1stPerson.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="373" src="http://1.bp.blogspot.com/-HTeoLapetw4/Tojh09VzETI/AAAAAAAAAEQ/3GMupy7XKNE/s400/SquareRoom_1stPerson.PNG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-LTNFNAW65WI/Tojh1AgiERI/AAAAAAAAAEU/Pd8M2t0-yEA/s1600/SquareRoom_Overhead.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="373" src="http://4.bp.blogspot.com/-LTNFNAW65WI/Tojh1AgiERI/AAAAAAAAAEU/Pd8M2t0-yEA/s400/SquareRoom_Overhead.PNG" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-38Jb07j9CJk/Tojh0cdTkZI/AAAAAAAAAEI/rDVulH9bTU4/s1600/Donut_1stPerson.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="373" src="http://2.bp.blogspot.com/-38Jb07j9CJk/Tojh0cdTkZI/AAAAAAAAAEI/rDVulH9bTU4/s400/Donut_1stPerson.PNG" width="400" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-zjUqTkefQFU/Tojh0sXJXUI/AAAAAAAAAEM/fulCGpajzZE/s1600/Donut_Overhead.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="373" src="http://1.bp.blogspot.com/-zjUqTkefQFU/Tojh0sXJXUI/AAAAAAAAAEM/fulCGpajzZE/s400/Donut_Overhead.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-3193557543364982933?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/3193557543364982933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/room-maker.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/3193557543364982933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/3193557543364982933'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/10/room-maker.html' title='Room Maker!'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-HTeoLapetw4/Tojh09VzETI/AAAAAAAAAEQ/3GMupy7XKNE/s72-c/SquareRoom_1stPerson.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-7735938931562417490</id><published>2011-09-27T20:40:00.000-07:00</published><updated>2011-09-27T20:40:10.388-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='senior design'/><category scheme='http://www.blogger.com/atom/ns#' term='mu'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>Unity!</title><content type='html'>So for the past week-ish, I've been teaching myself Unity, and it is amazing. I am sure that I am nowhere close to mastery, but it is remarkably fast to pick up. Below is a video of what I've been doing so far. I'm on track with where I'd intended to be - I can do basic stuff like create and light a scene, move around a character and dynamically create objects in the scene, which means that the next step is being able to create a scene from a text file, which should be pretty straightforward.&lt;br /&gt;&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/VKgwCzHwUdQ/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/VKgwCzHwUdQ?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/VKgwCzHwUdQ?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;So I guess I should talk a bit about the actual game. I want it to be a dungeon crawler, kind of like one of the early 3D Ultima games. You play the role of a master archaeologist who has gotten the opportunity to be the first to explore a ruined temple in the (no longer) lost continent of Mu. As you explore the temple, you discover that the deities that the people worshiped there aren't as mythological as previously thought.&lt;br /&gt;&lt;br /&gt;The big defining feature for the game is that it's designed with sick kids in mind. I want the exploration to be an analog for the player's battle with their disease. This means two things: first, the game needs to be potentially infinitely long. I do not know how long the player will be sick, but I want the big ending where he or she discovers the big secret at the center of the temple to happen when they finally get better. This means that the temple itself needs to be procedurally generated. I also want major events in the game to coincide with major treatment events. I will have to talk to a doctor about the exact timings - whether these events should happen before or after treatment. So, in the case of a player with childhood leukemia, these events will coincide with chemotherapy or radiation treatments.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;From the player's perspective, a play session might go as follows:&lt;br /&gt;The player loads up the game. She had been in the middle of exploring the living quarters of some of the monks. (Living quarters might be a type of room that the game will generate. The game would add small touches to personalize the living quarters and keep them varied.) She is looking for the key to a locked section that she found earlier in a different part of the ruins. The player's mother had indicated to the game after the last play session that the player is about to have another round of chemo, so the game starts a major event. In this case, it does so by adding a strange device to the room so that the player will find it. The player has been studying the Muan culture for a while, and will have already found out that the device is ancient Muan technology and is used to converse with the living stone that makes up the temple. The player uses the device to talk the wall into opening up and allowing the player access to a secret area where she can find previously inaccessible treasures and learn new lore about the Muans.&lt;br /&gt;&lt;br /&gt;I'll need to work out a way to keep the quests varied - I know that I can randomize elements of the quests mad-libs style. For now, I'm just working on getting the game working on a most basic level, so I have time to think about it. I'll post back later this week once I've got some actual mazes to show off.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-7735938931562417490?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/7735938931562417490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/09/unity.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/7735938931562417490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/7735938931562417490'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/09/unity.html' title='Unity!'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-5307172560905567875</id><published>2011-09-22T23:18:00.000-07:00</published><updated>2011-09-22T23:18:04.107-07:00</updated><title type='text'>Getting Started</title><content type='html'>It's been a pretty uneventful first week here in Muville. For those of you who don't know, this is my senior design game in which I will be making a game for kids enduring long-term illnesses. The game is going to be a dungeon crawler where major in-game events coincide with treatment events. As I research the treatment side of things, I'll write more about that. For now, the big news is: I'm learning Unity!&lt;br /&gt;It's actually a really cool tool. I've been running through some tutorials, including te Unity Game Development Essentials, which is helping me jump in pretty quickly. Seems really easy to pick up - Unity accounts for a lot of things that I was worried would take me a while to implement. It's a really clever game engine - props to Joe for suggesting it to me. I was considering using the &lt;a href="http://lwjgl.org/index.php"&gt;Light Weight Java Game Library&lt;/a&gt;&amp;nbsp;before. But might as well get fancy and use Unity, eh?&lt;br /&gt;&lt;br /&gt;Will post again this weekend, but right now it's time to get some sleep.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-5307172560905567875?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/5307172560905567875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/09/getting-started.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/5307172560905567875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/5307172560905567875'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/09/getting-started.html' title='Getting Started'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4609578496969861287.post-123815093168349038</id><published>2011-09-20T23:19:00.000-07:00</published><updated>2011-09-20T23:19:34.769-07:00</updated><title type='text'>Eliot's Year of Coding: Idea Vomit</title><content type='html'>&lt;a href="http://yearofcode.blogspot.com/2011/09/idea-vomit.html?spref=bl"&gt;Eliot's Year of Coding: Idea Vomit&lt;/a&gt;: This blog post was written before the first draft of my senior design project in my personal blog. I'm including it here for completeness' sake.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4609578496969861287-123815093168349038?l=dungeonsanddungeons.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dungeonsanddungeons.blogspot.com/feeds/123815093168349038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/09/eliots-year-of-coding-idea-vomit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/123815093168349038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4609578496969861287/posts/default/123815093168349038'/><link rel='alternate' type='text/html' href='http://dungeonsanddungeons.blogspot.com/2011/09/eliots-year-of-coding-idea-vomit.html' title='Eliot&apos;s Year of Coding: Idea Vomit'/><author><name>Eliot J. Kaplan</name><uri>http://www.blogger.com/profile/11731969709141391646</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-Mifazk7D6hU/TmnAorjlqcI/AAAAAAAAADg/mG0VUUd8Y1o/s220/262909_10150246487117676_628702675_7734159_7568552_n.jpg'/></author><thr:total>0</thr:total></entry></feed>
