<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.81 (http://www.squarespace.com/) on Fri, 01 Jun 2012 20:50:59 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>stream of conciousness|blog</title><link>http://www.simocc.com/blog/</link><description></description><lastBuildDate>Tue, 16 Aug 2011 15:53:37 +0000</lastBuildDate><copyright></copyright><language>en-US</language><generator>Squarespace Site Server v5.11.81 (http://www.squarespace.com/)</generator><item><title>Action Games Programming</title><category>DePaul</category><category>Joe Linhoff</category><category>OpenGL</category><category>asteroids</category><category>canabalt</category><category>design</category><category>game mechanic</category><category>gameplay</category><category>games</category><category>pong</category><category>programming</category><category>video game</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Wed, 09 Mar 2011 06:18:06 +0000</pubDate><link>http://www.simocc.com/blog/2011/3/9/action-games-programming.html</link><guid isPermaLink="false">679272:7932898:10721391</guid><description><![CDATA[<p>Perhaps  the essential foundation course for the game programming degree at  DePaul, is Action Games Programming. My first true training in the use  of OpenGL, the course utilized Professor Linhoff's QE Engine completing  assignments and projects using the core OpenGL pipelne from immediate  draw mode to the use of Vertex Buffer Objects, mapping and lighting. In  addition to learning how to use the graphic system, the objective of the  course was to teach us the fundamentals of gameplay and mechanics,  requisite linear algebra, collision, physics + motion, control, sound,  and heads up display.<br /><br />Each  week a new assignment was completed with three small game projects as  milestones which reiterated the weekly lessons leading up to them. Each  of the three games were realized as fully 3d environments with 2d  focused game mechanics<br /><br />The  first week long project was to create a two player pong game. The  keyboard is used for the control of both paddles. Physics of the ball  includes collision with walls and paddles, including &ldquo;english&rdquo; with off  center hits. Two different power ups become intermittently available,  one changes the size of the receivers paddle the other increases the  speed of the ball. A simple hud keeps track of scores, wins, and title  screens.<br /><br /><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=20822837&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=20822837&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><a href="http://vimeo.com/20822837">Pong Revisited</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><br /><br />The  second week long project was a recreation of asteroids, playable by  keyboard or joystick and as a single player or two player game.  Consistent with the classic game, the world wraps the edges with  asteroids and players able to drift from one side of the screen to the  opposite fluidly. A successful shot into an asteroid will break the rock  into smaller pieces once the third smallest size is shot it is  destroyed. Players change the orientation of ship with left and right  arrows, thrusting with down arrow and firing with up. Space bar engages  hyperspace transporting the player to a different but random location on  the screen. Player art inspired and derived from Muybridge.<br /><br /><br /><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=20822868&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=20822868&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><a href="http://vimeo.com/20822868">Asteroids Redux</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><br />In  the final project short project, we were able to design our own game. I  opted to complete the game individually rather than in a group. At the  time I was logging a lot of time in the iPhone version of Canabalt, a  fantastically simple 2d game of rooftop running. Inspired by the game  and considering how it would logically be made I began thinking about  the opposite approaches of player moving in static space vs. player  staying in place and objects moving. While the former is of course the  logical narrative model for such a game, and given that I could never do  such a perfect game justice, it became more interesting to think about  the space just out of frame of the camera and how my version of the game  might add a gameplay mechanic, while also revealing (in a kind of extra  diegetic moment) a mildly humorous narrative twist. As in the original,  the players character is running, and staying alive depends on the  players ability to time jumps across the gaps between buildings, with  speed increasing as time goes on. In my version however, players are  provided with the ability to climb back up (in a Prince of Persia  inspired ricochet jump between buildings) when falling in the gap.  Should players continue to fall they eventually encounter a ground  plane. If they aren't careful, they will then soon realize that the  ground plane is actually a conveyor belt on which the buildings are  placed. This conveyor belt will carry a player backwards from their  objective direction and eventually to their death when they collide with  the wall of death.<br /><br /><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=20822556&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=20822556&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><a href="http://vimeo.com/20822556">Roof Runner vs. Wall of Death</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><br /><em>I  would also like to mention that this particular course was by far and  away the most tightly organized and delivered course that I have had the  opportunity to experience as either a student or fellow teaching  colleague. anThe way in which each weeks lecture enabled the week's  assignment and the way each assignment coherently built on top of the  prior week was very impressive. It makes complete sense that Professor  Linhoff has been crafting a textbook from his course content and when  it's complete I highly recommend others check it out. Thanks Joe!</em></p>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-10721391.xml</wfw:commentRss></item><item><title>AI for games</title><category>DePaul</category><category>LUA</category><category>Robin Burke</category><category>artificial intelligence</category><category>fuzzy logic</category><category>game mechanic</category><category>gameplay</category><category>games</category><category>goal driven behavior</category><category>programming</category><category>state machine</category><category>video game</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Sun, 06 Mar 2011 15:41:26 +0000</pubDate><link>http://www.simocc.com/blog/2011/3/6/ai-for-games.html</link><guid isPermaLink="false">679272:7932898:10688001</guid><description><![CDATA[<p>In Robin Burke's "AI for games" course in my graduate studies at DePaul we learned about many common core systems used in creating "Artificial Intelligence" for video games.&nbsp; I should probably chime in now and make my overall commentary that while these methodologies are involved in creating "AI" characters for video games I would suggest that this is not "AI" in the strict sense of the term.&nbsp; As an introductory survey we are not investigating machine learning or neural networks which would begin to move us in the true direction.&nbsp; That said, the programming exercises were good insight into the practice as it relates to game development. <br /><br />In the soccer team development project we individually created strategic and tactical team game play using a combination of state machines, messaging systems, and steering behaviors.&nbsp; The core framework for the game, graphics, etc was provided as part of the text we were using for the course and it was our responsibility to refactor an existing team, adding behavior and increasing computational performance.&nbsp; The success of the assignment was then evaluated through a class tournament, pitting students and instructor teams against each other, with match scores and a computational performance rating determining the winner.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=20710338&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=20710338&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><a href="http://vimeo.com/20710338">AI Soccer Team</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>To achieve a winning team my primary goal was to implement a man-on-man defensive strategy.  In this strategy a player within a defined proximity would attempt to remain &ldquo;on&rdquo; the offensive opponent while positioning themselves between the player and their defending goal.  To achieve this and other tactical performance increases I increased the granularity of both the team and individual states and I tracked more than the original single closest player to the ball.  I also added a defensive support positioning grid similar to the existing offensive support grid.  From this grid defensive players were provided with cues as to optimal positioning. Among simple code optimizations I added a kind of persistence of state or delay mechanism which attempted to reduce the processor usage by reducing the  number of phase transitions, which also added to the tactical performance of the teams gameplay.</p>
<p>Ultimately my team came out on top of the class of 20 some students and our instructor, undefeated in points scored and computational performance.  Goooooooo Team.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=20709268&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=20709268&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><a href="http://vimeo.com/20709268">DeathMatch AI</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Unfortunately I did not fare as well in the second project of the term.  A 2d deathmatch game played similarly as an in class tournament.   In this second project, we built upon ideas explored in the first project.  Adding to it systems of sensory memory for sight, sound, and touch which allowed the ai player to respond to current and past events.  Seeing an opponent, hearing a weapon attack, taking fire, etc.  With the memory, we utilized goal driven behavior which allowed the ai player to switch objectives or strategies given particular conditions, attack, retreat, find health, etc.  In addition, we utilized fuzzy logic systems to make determinations about which weapon and which target a player would would focused on.&nbsp;  Sadly, my pacifist strategy did not work and I got pwned. On a related note, this project was also my introduction to using LUA as a scritping language for games.</p>
<p>In the end, I really enjoyed the coursework, focusing my precedent research assignments on a specific areas of AI in the game industry which I am particularly interested in, spatial perception and awareness, and the procedural narrative of the AI director used in Valve's Left 4 Dead franchise.&nbsp; I am very interested in pursuing these and other aspects of computional decision making in projects in the future.</p>
<p><iframe src="http://www.facebook.com/widgets/like.php?http://simocc.squarespace.com/stream-of-conciousness/2011/3/6/ai-for-games.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:20px"></iframe></p>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-10688001.xml</wfw:commentRss></item><item><title>Obstacle Design System</title><category>3d modeling</category><category>DePaul</category><category>design</category><category>dynamic</category><category>games</category><category>media</category><category>procedural environment</category><category>programming</category><category>tools</category><category>video game</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Mon, 21 Feb 2011 17:38:39 +0000</pubDate><link>http://www.simocc.com/blog/2011/2/21/obstacle-design-system.html</link><guid isPermaLink="false">679272:7932898:10554986</guid><description><![CDATA[<p><iframe src="http://player.vimeo.com/video/20202876" width="400" height="300" frameborder="0"></iframe></p>
<p><a href="http://vimeo.com/20202876">Obstacle Editing/Integration</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.<br /><br />In my history of working with game development tools I have always been  frustrated by the need to use intermediate tools to bridge between  applications like 3dsmax and the game.  These tools have always seemed like terribly limited, poorly designed cousins of the more robust modeling  environment that preceded it.  <br /> <br /> For my game and tool development it was important to me to be able to  create a pipeline that allowed my colleagues to participate in  development using tools they were familiar with.  To achieve this I am  using the FBX file format and the FBX sdk to integrate the design of  obstacles into the game engine.  <br /> <br /> In short designers may model and map the graphic meshes and maps, create and link  physics proxy meshes, define obstacle connections (range of gap length and drop, orientation of connection, and parent dock location) trigger volumes,  ideal viewing angle (influences the dynamic camera control), etc within the 3d modeler using the native tools.</p>
<p>In the game, an xml file list of desired obstacles exported in the fbx format is read and  obstacles are loaded upon startup, from here the procedural obstacle engine  takes over for the dynamic creation of the digital game space.&nbsp;</p>
<p><em>While not active in this demo, in parallel to the particulars of the thesis game I have been working on a custom set of objects created with the 3dsmax sdk which makes particular game elements such as digital/physical io, triggers, etc as cusom procedural objects.&nbsp; In assumption of future usage when the object/environments are more analagous to conventional games I have also worked on a load in place export strategy which packs the file in the requisite binary format to facilitate highspeed load of custom entities developed within 3dsMax.</em></p>
<p><em>
<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe src="http://simocc.squarespace.com/stream-of-conciousness/2011/2/21/obstacle-design-system.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:20px"></iframe></div>
<br /></em></p>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-10554986.xml</wfw:commentRss></item><item><title>Visual CV : Games, Interactivity, Design + Teaching</title><category>CV</category><category>architecture</category><category>design</category><category>games</category><category>interactivity</category><category>media</category><category>teaching</category><category>video game</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Tue, 01 Feb 2011 22:36:31 +0000</pubDate><link>http://www.simocc.com/blog/2011/2/1/visual-cv-games-interactivity-design-teaching.html</link><guid isPermaLink="false">679272:7932898:10323375</guid><description><![CDATA[<p><a style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;" title="View Thomas Kearns | Visual CV on Scribd" href="http://www.scribd.com/doc/47997172/Thomas-Kearns-Visual-CV">Thomas Kearns | Visual CV</a> <object id="doc_200338096292752" name="doc_200338096292752" height="600" width="100%" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;" >		<param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf">		<param name="wmode" value="opaque"> 		<param name="bgcolor" value="#ffffff"> 		<param name="allowFullScreen" value="true"> 		<param name="allowScriptAccess" value="always"> 		<param name="FlashVars" value="document_id=47997172&access_key=key-wespmu45tyopdfvcej3&page=1&viewMode=slideshow"> 		<embed id="doc_200338096292752" name="doc_200338096292752" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=47997172&access_key=key-wespmu45tyopdfvcej3&page=1&viewMode=slideshow" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="600" width="100%" wmode="opaque" bgcolor="#ffffff"></embed> 	</object></p>
<p>I recently had to put together a slideshow of work that was significant or relevant to the job I was pursuing/submitting for and thought I would share it with all of you.&nbsp; Gives a kind of look at my background, post graduation from architecture school and into the present.&nbsp; Not so much emphasis on my professional architecture work, but you can look at <a href="http://www.sndbx.com">www.sndbx.com</a> or <a href="http://www.mesh-arc.com">www.mesh-arc.com</a> if you want to see more of that.</p>
<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe src="http://www.facebook.com/widgets/like.php?http://simocc.squarespace.com/stream-of-conciousness/2011/2/1/visual-cv-games-interactivity-design-teaching.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:20px"></iframe></div>
<p>&nbsp;</p>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-10323375.xml</wfw:commentRss></item><item><title>Thesis: digital game progression [obstacle engine]</title><category>DePaul</category><category>dynamic</category><category>game mechanic</category><category>gameplay</category><category>games</category><category>mixed reality gaming</category><category>procedural environment</category><category>programming</category><category>simocc</category><category>thesis</category><category>video game</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Tue, 01 Feb 2011 22:16:16 +0000</pubDate><link>http://www.simocc.com/blog/2011/2/1/thesis-digital-game-progression-obstacle-engine.html</link><guid isPermaLink="false">679272:7932898:10323198</guid><description><![CDATA[<p><br /><iframe height="300" src="http://player.vimeo.com/video/19448308" frameborder="0" width="400"></iframe></p>
<p><a href="http://vimeo.com/19448308">thesis: digital game demo 2</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.    <br /> <br /></p>
<p>This video is demonstrating basic character control, camera logic, and obstacle generation.   <br /> <br />The character control is built upon the bullet library and integrated with irrlicht based graphics and input. For the time being walking, running, and jumping are the only required character control mechanics.    <br />most importantly what we see here is the base functionality of the obstacle engine, which manages the dynamic creation of obstacles for an ever expanding game space. The engine is overseeing the instantiation of new obstacles based on active zones within the physical game space.     <br /> <br />Abstractly the engine allows for unique obstacles, in this case represented by simple planes or floors. each obstacle can have a number of connectors associated with it, which parametrically define the possible relationships with future obstacles, effectively controlling the location and dimensions of the gap. While subtle, in the video you can see a growing number of obstacles with their orientation being determined by the orientation of the obstacle it is connected to and on which side. Each obstacle can also define an ideal view point, which we see in the video as the camera is controlled entirely by which obstacle the player is currently engaged with. While still requiring some finessing, the camera&rsquo;s dynamic quaternion based control is functional.    <br /> <br />The engine is also managing the state of the obstacle whether its untouched, yellow, or conquered by the player green. To win in the digital game players will be racing to conquer, similar to qbert, each obstacle in the system. With the space expanding with more and more obstacles the players will be racing to be faster than the generation. The rate of generation is also tied to the status of players in the physical game.     <br /> <br />Future additions to this system will be the telepresence representation of physical players, and what I am currently working on now, the ability for designers to create custom, animated, obstacles in 3dsmax with the ability to define connection points, conquer triggers, and ideal view angles, these custom obstacles will replace these simple boxes with creative spatial obstacles for procedural combination into an interesting, dynamic landscape for players to navigate</p><div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe src="http://www.facebook.com/widgets/like.php?http://www.simocc.com/stream-of-conciousness/2011/2/1/thesis-digital-game-progression-obstacle-engine.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:20px"></iframe></div>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-10323198.xml</wfw:commentRss></item><item><title>making space ships fly</title><category>3d</category><category>game mechanic</category><category>games</category><category>programming</category><category>prototype</category><category>video game</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Tue, 01 Feb 2011 22:05:26 +0000</pubDate><link>http://www.simocc.com/blog/2011/2/1/making-space-ships-fly.html</link><guid isPermaLink="false">679272:7932898:10323091</guid><description><![CDATA[<p><iframe height="300" src="http://player.vimeo.com/video/19447990" frameborder="0" width="400"></iframe></p>
<p><a href="http://vimeo.com/19447990">ship flying and dynamic camera control mechanics</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><br />This is a short video from a project I worked on last summer.    <br /> <br />I must disclaim: I had no responsibility in the creation of the graphics for the art assets or the heads up display.     <br /> <br />This video demonstrates the full 3d freedom control/physics of the space ship, with the ability to fly up + down, forward + backward, banking naturally and rotating + re-aligning properly relative to the camera.     <br /> <br />Camera control is simple full 3d, 3rd person follow cam, with ability for player override for optimal viewing relative to environment.     <br /> <br />When I have time I will upload more videos of the design development of the control mechanics which explored many different approaches, ultimately settling into this fluid but conventional approach</p>
<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe src="http://www.facebook.com/widgets/like.php?http://www.simocc.com/stream-of-conciousness/2011/2/1/making-space-ships-fly.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:20px"></iframe></div>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-10323091.xml</wfw:commentRss></item><item><title>my first day skiing</title><category>action sports</category><category>essay</category><category>skiing</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Sun, 07 Nov 2010 19:22:21 +0000</pubDate><link>http://www.simocc.com/blog/2010/11/7/my-first-day-skiing.html</link><guid isPermaLink="false">679272:7932898:9400679</guid><description><![CDATA[<p>I wrote this this morning for an essay contest, thought I would share it with the rest of you too.&nbsp; For those of you still slave to the professional machine, give it some thought and make sure you aren't doing the same thing I did ... leave a passion by the way side.</p>
<p><span class="full-image-block ssNonEditable"><span><img src="http://www.simocc.com/storage/22347_1392410649415_1206607730_1184077_6564444_n.jpg?__SQUARESPACE_CACHEVERSION=1289158071793" alt="" /></span></span></p>
<p><span id="internal-source-marker_0.7094265453230256" style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">It&rsquo;s  unfortunate sometimes what life can do to one&rsquo;s inner child. &nbsp;Pursuing a  career, had for some fourteen years captured every last bit of my  passion. &nbsp;The thrill of success mysteriously convincing my adrenal  glands they were satiated. &nbsp;Work days blurring into moonlighting while  the depression layered on deep. Then three incredibly inspiring seasons  ago I found myself standing at the top of Winter Park, my Raichle  Flexon&rsquo;s clicked into curvaceous skis a good 6 cm wider and at least 30  cm shorter than the unused relics in my basement. &nbsp;</span><br /><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Instantly  I was transported back nearly 30 years, standing there an early grade  schooler, anxiously wondering, how this would feel, was I able, how do I  turn, what if I fall. &nbsp;I looked around and watched experts rolling over  the backside, disappearing into the trees camouflaged by their rooster  tails throwing love into the air along with their joyful hollers. &nbsp;I  didn&rsquo;t yet know how it would be, but I knew for certain that I wanted  that to be me. &nbsp;<br class="kix-line-break" /></span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">So  I pushed off and started gliding, the air reminding me I was alive as I  cut through wind and the deep memory blockages which had hijacked my  lifestyle. &nbsp;I was a child again, my dad skiing alongside, endearingly  managing my efforts to stay upright. &nbsp;&ldquo;Tips together, knees bent, make a  wedge, make a wedge, slow it down, CAREFUL, CAREFUL&rdquo; &nbsp;Everything else  melted away and it was just me and the child I had abandoned so many  years ago. &nbsp;We were blissfully happy, there in that moment of clarity,  made possible by the freedom afforded by skis and snow. &nbsp;</span><br /><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">The  contour of the corduroy transcended space and time to connect a  mountain in Colorado with a hill in Illinois. The tracks of my first  descent recorded in it&rsquo;s meter. &nbsp;I stopped and looked back to see this  evidence of my success, the shape of the turns beautiful perhaps to only  me, and I was convinced that not only was I able to do this, but that I  wanted to do this every day. &nbsp;As both a 30 something and a barely  something, I had fallen deeply in love with a sport on my first time  out. &nbsp;Despite the thousands of vertical feet I had logged up to my  graduation from high school, that day was truly my first day skiing if  only because more than a decade later I wasn&rsquo;t the same person. &nbsp;Until  that day of course, where I re connected with the genuine me. &nbsp;&nbsp;</span><br /><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Then  late last season, reborn with a new record, thousands of vertical feet  long, I once again defeated the space time continuum. &nbsp;Skiing backwards  in front of my daughter on that same corduroy profile, only this time it  was my voice. &ldquo;Tips together, knees bent, make a wedge, make a wedge,  slow it down, CAREFUL, CAREFUL&rdquo; &nbsp;The cautious smile on her face telling  me everything I already knew about the life changing possibilities of a  first day of skiing.</span></p>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-9400679.xml</wfw:commentRss></item><item><title>Thesis: digital game beginnings</title><category>gameplay</category><category>games</category><category>interactivity</category><category>procedural environment</category><category>programming</category><category>prototype</category><category>thesis</category><category>video game</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Mon, 01 Nov 2010 23:46:03 +0000</pubDate><link>http://www.simocc.com/blog/2010/11/1/thesis-digital-game-beginnings.html</link><guid isPermaLink="false">679272:7932898:9346059</guid><description><![CDATA[<div><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=16411447&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=16411447&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/16411447">thesis: digital game demo 1</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</div>
<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px 4px 0px;"></div>
<p>This demo was built using the irrlicht graphics SDK, the bullet physics engine, irrKling audio library, and my simocc library for microcontroller communication.    <br />For the past few weeks I have focused my attention (away from the physical game) at getting the foundation for the digital game working in terms of production pipeline, core systems, etc.</p>
<p>Specifically, as seen primitively in the demo:</p>
<p>the game is going to be 3rd person with a little big planet style camera, in which each obstacle can define it's own ideal view, to which the camera will smoothly slerp to (right now for testing, I have view quaternions being toggled by joystick)</p>
<p>the character is the demo md2 model for the irrlicht demo's controlled by a modified version of the bullet kinematic character controller, still have some orientation issues, but happy to have the player usable for testing purposes. (if someone wants to design a sweet character I&rsquo;m looking for artists)</p>
<p>physics engine integration working pretty solidly.</p>
<p>and besides just having a kind of grey-box making pipeline, the crux of this demo is a not so apparent, but relatively sophisticated procedural environment system. using custom builder, factory, AI engine combo, new obstacles can be generated on the fly (right now based on time, or as in the demo, by button press).</p>
<p>Unlike a conventional tile based system the obstacles are nodes which possess x number of connections or edges which define variable parametric conditions, this is to allow the environment to grow in a much more organic way, not limited by a grid. At present there are only two node types, flat floors and a spawn point. This will soon be joined by fully animated, physically simulated platformer obstacles modeled in max and exported using my custom exporter. The essence of this system, which is largely in place though still buggy (overlapping obstacles aren&rsquo;t eliminated yet) is an easily extensible, relatively intelligent, custom obstacle course generator.</p>
<p>views tied to obstacles, no overlap, and the QBert style obstacle tagging coming soon, then connectivity to the physical game ... the ultimate goal for this term (3 more weeks)</p>
<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe src="http://www.facebook.com/widgets/like.php?href=http://www.simocc.com/stream-of-conciousness/2010/11/1/thesis-digital-game-beginnings.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"></iframe></div>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-9346059.xml</wfw:commentRss></item><item><title>Gran Turismo 37 perhaps?</title><category>simulation</category><category>stream of conciousness</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Sat, 16 Oct 2010 16:48:19 +0000</pubDate><link>http://www.simocc.com/blog/2010/10/16/gran-turismo-37-perhaps.html</link><guid isPermaLink="false">679272:7932898:9201321</guid><description><![CDATA[<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:8a65cf78-5741-48c1-a913-662184621d3f" class="wlWriterSmartContent" style="display: inline; float: none; margin: 0px; padding: 0px;">
<div id="55e3ccac-0885-4d73-b57e-b34b09dfa0bb" style="margin: 0px; padding: 0px; display: inline;">
<div><object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/zGZIztjoHb8&amp;hl=en" /><embed width="425" height="355" src="http://www.youtube.com/v/zGZIztjoHb8&amp;hl=en" type="application/x-shockwave-flash"></embed>
</object></div>
<div><br />This is really impressive. I definitely appreciate the way in which this type of simulation can be used to make cars and driving safer, however, I can&rsquo;t help but want to see these types of systems deployed for entertainment/recreation purposes.&nbsp; The future of Dave + Buster&rsquo;s ???, or perhaps non-simulated digital environment explorations with an incredibly resolute force feedback.&nbsp; Would like to know what the price tag is on something like this!</div>
</div>
<div></div>
<div>
<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe src="http://www.facebook.com/widgets/like.php?href=http://www.simocc.com/stream-of-conciousness/2010/10/16/gran-turismo-37-perhaps.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"></iframe></div>
</div>
</div>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-9201321.xml</wfw:commentRss></item><item><title>Camp n’ Ride with the Hess family in Kettle-Moraine</title><category>action sports</category><category>camping</category><category>family</category><category>mountain biking</category><dc:creator>Thomas Kearns</dc:creator><pubDate>Mon, 11 Oct 2010 06:44:51 +0000</pubDate><link>http://www.simocc.com/blog/2010/10/11/camp-n-ride-with-the-hess-family-in-kettle-moraine.html</link><guid isPermaLink="false">679272:7932898:9152353</guid><description><![CDATA[<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px 4px 0px;">so we restarted our camping career with a family camping trip up to Kettle-Moraine in Southern Wisconsin with neighborhood friends.&nbsp; We were lucky enough to get the most amazing October weather, and the trip was a major success.&nbsp; Kids had fun, parents had fun, campsite was scenic, drives were colorful, and we got to enjoy some time on our bikes on the trails.&nbsp; The trails were in amazing shape, better than me anyway.&nbsp;</div>
<p>&nbsp;</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f068cc05-55db-4108-bf44-b5bcd150a2c3" class="wlWriterSmartContent" style="display: inline; float: none; margin: 0px; padding: 0px;">
<div><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=15727170&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=15727170&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/15727170">10 mins of singletrack on 10/10 in Kettle-Moraine</a> from <a href="http://vimeo.com/thomaskearns">Thomas Kearns</a> on <a href="http://vimeo.com">Vimeo</a>.<br /><br />Took Casey Hess out to the John Muir trails for his first taste of mountain biking. This is from day 2, on the orange line. Video was shot on a vholdr helmet cam.    <br /> <br /> <br /> <br /></p>
</div>
</div>
<div id="PictoBrowser101011014210"><object id="PictoBrowser" height="500" width="500" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="_cx" value="13229"><param name="_cy" value="13229"><param name="FlashVars" value=""><param name="Movie" value="http://www.db798.com/pictobrowser.swf"><param name="Src" value="http://www.db798.com/pictobrowser.swf"><param name="WMode" value="Window"><param name="Play" value="0"><param name="Loop" value="-1"><param name="Quality" value="Low"><param name="SAlign" value="LT"><param name="Menu" value="0"><param name="Base" value=""><param name="AllowScriptAccess" value=""><param name="Scale" value="NoScale"><param name="DeviceFont" value="0"><param name="EmbedMovie" value="0"><param name="BGColor" value="EEEEEE"><param name="SWRemote" value=""><param name="MovieData" value=""><param name="SeamlessTabbing" value="1"><param name="Profile" value="0"><param name="ProfileAddress" value=""><param name="ProfilePort" value="0"><param name="AllowNetworking" value="all"><param name="AllowFullScreen" value="false"></object></div>
<p><script type="text/javascript" src="http://www.db798.com/pictobrowser/swfobject.js"></script><script type="text/javascript"> var so = new SWFObject("http://www.db798.com/pictobrowser.swf", "PictoBrowser", "500", "500", "8", "#EEEEEE"); so.addVariable("source", "sets"); so.addVariable("names", "Camping in Kettle-Moraine"); so.addVariable("userName", "thomas kearns"); so.addVariable("userId", "31384295@N07"); so.addVariable("ids", "72157625014091591"); so.addVariable("titles", "on"); so.addVariable("displayNotes", "on"); so.addVariable("thumbAutoHide", "off"); so.addVariable("imageSize", "medium"); so.addVariable("vAlign", "mid"); so.addVariable("vertOffset", "0"); so.addVariable("colorHexVar", "EEEEEE"); so.addVariable("initialScale", "off"); so.addVariable("bgAlpha", "90"); so.write("PictoBrowser101011014210");	</script></p>
<p>We camped in the pinewoods area, which smelled as good as it looked! Can&rsquo;t wait until we can get back out and do this again.&nbsp; Thanks Casey and Paula for inviting us up and giving us impetus to gear up for the trip, hopefully the first of many!</p>
<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe src="http://www.facebook.com/widgets/like.php?href=http://www.simocc.com/stream-of-conciousness/2010/10/11/camp-nrsquo-ride-with-the-hess-family-in-kettle-moraine.html" scrolling="no" frameborder="0" style="border:none; width:450px; height:80px"></iframe></div>]]></description><wfw:commentRss>http://www.simocc.com/blog/rss-comments-entry-9152353.xml</wfw:commentRss></item></channel></rss>
