<?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-1722758368894225065</id><updated>2011-12-27T04:27:13.374-08:00</updated><category term='Scripting'/><category term='Dictionary'/><category term='Ziggyware'/><category term='Script'/><category term='Depth of Field'/><category term='Shaders'/><category term='jagged Array'/><category term='Level Design'/><category term='Level Structure'/><category term='2D Array'/><category term='GDCEurope'/><category term='Tile Map'/><category term='Alpha Mapping'/><category term='Engine'/><category term='RLI'/><category term='delay'/><category term='Real Life Interference'/><category term='Xna'/><category term='Programming'/><category term='Editor'/><category term='Tile Engine'/><title type='text'>Greg's Blog</title><subtitle type='html'>Mad Man Making</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-3997371670392542833</id><published>2011-12-27T04:24:00.000-08:00</published><updated>2011-12-27T04:27:13.381-08:00</updated><title type='text'>Update</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;So much for my plan of&amp;nbsp;regularly&amp;nbsp;updating this Blog...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;I&amp;nbsp;apologise&amp;nbsp;to those people that come here daily for some articles (yes, based on my statistics you do), but I currently try to get my Bachelor by the end of the decade.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;I pains be that the last significant programming I've done in the last month was a simple Pong version using XNA. It was in a boring lecture, and took me around 1 hour, with enemy&amp;nbsp;behaviour, scores and paying attention to the professor. Oh, and a Caeser's Cypher&amp;nbsp;de/encrypter for Internet Security. With interface and&amp;nbsp;&lt;span style="color: #222222; line-height: 18px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;(╯°□°）╯︵ ┻━┻ in the documentation (got 10 of 10 points :D ).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Yeah ... I'm learning Computer Science, and have done little programming. I'm making the theoretical lectures this semester (ethics,&amp;nbsp;modelling, security).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;I actually plan to do some more now in the holidays, but having also to do some homeworks and trying to get more into Japanese, plus finals coming up ... :´(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Just to let you know. : )&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-3997371670392542833?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/3997371670392542833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/12/update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3997371670392542833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3997371670392542833'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/12/update.html' title='Update'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-863994196323606995</id><published>2011-09-14T08:39:00.000-07:00</published><updated>2011-09-14T08:39:08.015-07:00</updated><title type='text'>Update</title><content type='html'>I run dry with my last project some time ago. Its not dead, just on stand by till I can solve some major programming problems I encountered.&lt;br /&gt;&lt;br /&gt;Right now I thought up with a little project to do on the side (the next semester starts soon). I may make some post about it as it evolves, but I don't want to promise anything yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-863994196323606995?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/863994196323606995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/09/update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/863994196323606995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/863994196323606995'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/09/update.html' title='Update'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-1726143291811238421</id><published>2011-07-10T02:08:00.000-07:00</published><updated>2011-07-10T02:23:32.551-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Editor'/><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='Script'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Status Update</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;I'm currently working on the Source of the Editor again and try to implement Scripting.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/-mcBEjwlPRj4/ThltQJ4Qp_I/AAAAAAAAAAg/3q7O_paZIXg/s400/TestScript.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 310px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5627649333673371634" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Text you can see on the bottom left is the text that is saved in a position of the Grid. (Not e the Syntax Highlighting!) That doesn't work yet, nor does the Tile Drawing code find the Asset Tag yet. But at least it did no error occur because of that till now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Its not the first time that I use scripting, but the first using it on such a Level.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Script shall Feature simple things like the Asset Tags, but also more complex like loading a new level, activating a trap, spawn Enemies, handle Dialogues, etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As I don't know yet what I really need and how I will implement this, it may take a while till I can post about it. And the heat right not does not contribute to this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just to let you know.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-1726143291811238421?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/1726143291811238421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/07/status-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/1726143291811238421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/1726143291811238421'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/07/status-update.html' title='Status Update'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-mcBEjwlPRj4/ThltQJ4Qp_I/AAAAAAAAAAg/3q7O_paZIXg/s72-c/TestScript.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-8070893883638974165</id><published>2011-06-28T08:08:00.000-07:00</published><updated>2011-06-28T08:10:49.575-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Real Life Interference'/><category scheme='http://www.blogger.com/atom/ns#' term='RLI'/><title type='text'>Real Life Interference</title><content type='html'>Sorry, for the irregular posts, but I had some stuff coming up last week and on the week end, and I'm not sure that this will not also happen next weekend. I hope that I can establish a regular posting circle soon, but ... well ... it would be boring if you could predict life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-8070893883638974165?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/8070893883638974165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/real-life-interference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/8070893883638974165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/8070893883638974165'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/real-life-interference.html' title='Real Life Interference'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-4942899251666598923</id><published>2011-06-28T06:24:00.000-07:00</published><updated>2011-06-28T08:07:53.335-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2D Array'/><category scheme='http://www.blogger.com/atom/ns#' term='Tile Map'/><category scheme='http://www.blogger.com/atom/ns#' term='Level Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Tile Engine'/><title type='text'>Tile Maps and how to draw them.</title><content type='html'>&lt;div style="text-align: left;"&gt;In the last post I covered what tile maps are and why we use them.&lt;/div&gt;&lt;div&gt;This time I will talk about how to draw tile maps.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the Computer a tile map is just one long line of information, once in a while the may is a symbol that indicates that one row is over and the next one begins. It hold no real information on how to draw the whole thing.&lt;/div&gt;&lt;div&gt;Not only that, but also are there may ways how a tile map can look like. There can be square shaped tiles, there can be hexagon shaped tiles and I once even heard of things like circles and what not.&lt;/div&gt;&lt;div&gt;For simplicity I will cover here only the two main forms: square and hexagon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Orthogonal  Grid (Square Tiles):&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A orthogonal grid is rather simple: you got X columns and Y rows. X is traditionally the left to right coordinate, and left the the top-down coordinate. Note that normally the position 0/0 is normally at the top-left and X/Y at the bottom-right. But when you program your own code yo are of course free to change the coordination-system as you please.&lt;/div&gt;&lt;div&gt;Beside the coordinates you also need the width of your square and the width and height if you use rectangles as tiles.&lt;/div&gt;&lt;div&gt;And in the end there is one last thing to consider before you draw your grid: When to draw what?&lt;/div&gt;&lt;div&gt;If you draw a simple 2D background you can skip this part, but imagine you want to draw a 2D Top-Down-View Level with some bushes. Some of them are in front of the player-character and some are behind. It would look stupid if your character stands on top of a bush that he is supposed to be behind. So you not only have to change the Grid-Drawing code a little, but you also have to place the drawing code of the character and enemies in that same code.&lt;/div&gt;&lt;div&gt;Here is my solution:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;//X and Y being the dimensions of the Grid.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;for (int y = 0; y &amp;lt; Y; y++)&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;//If the Y-Coordinate of a dynamic object (like the player) is smaller than y*height, &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;// &lt;/i&gt;&lt;i&gt;and it has &lt;/i&gt;&lt;i&gt;not been drawn yet, draw it here.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;for (int x = 0; x &amp;lt; X; x++)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;i&gt;//Look up if there is a tile on that position&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;//Look if the tile actually exists in your Content/Asset Dictionary&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;//If yes, draw it at Position(x*width, y*height), else continue&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;i&gt;//Alternative to drawing the dynamic object before you draw the current row, &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;//you can also check here if they are behind the next row ((y+1)*height) and draw them.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;i&gt;//If a object was not drawn in the loops and is on screen, draw it here.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;Now that was the easy kind of a tile map, now lets make the more complicated kind.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Hexagonal Grid:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unlike squares and rectangles, hexagons can have many different &lt;a href="http://en.wikipedia.org/wiki/Hexagonal_tiling"&gt;shapes&lt;/a&gt; and arrangements, but for the simple cause of lack of time I will only cover the normal uniform hexagons.&lt;/div&gt;&lt;div&gt;Basically I use the same Grids like orthogonal grids, but I shift every second row (or column).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-biCWvg3x5CU/TgnqQEizSdI/AAAAAAAAAAY/SrCCQGQ5yz8/s320/hexagrid.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5623283171567290834" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 262px; color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; " /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What you can also see is that the placement of the tile depend on the orientation of the tiles. I will not go into too much detail here, as it is rather simple geometrics in the end, but I will say that you always should know how you Coordination system looks like and what you width and height is.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;//In Code:&lt;/div&gt;&lt;div&gt;The code is similar to the orthogonal code, so I will leave some parts out so you can clearly see what makes the hexagonal code unique. Note: This code is the left grid arrangement of the picture above.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;for (int y = 0; y &amp;lt; Y; y++)&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;for (int x = 0; x &amp;lt; X; x++)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;//Every second column we have to shift the tile H/2 down.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;//The other arrangement is the same, you only have to switch the multiplication of&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;//the width with the multiplication of the height (but not the values themself ;) )&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;if (x % 2 = 0)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;Position(width * 0.75 * x, (height / 2) + (height * y));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;else&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;Position(width * 0.75 * x, -(height * y));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-4942899251666598923?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/4942899251666598923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/tile-maps-and-how-to-draw-them.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/4942899251666598923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/4942899251666598923'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/tile-maps-and-how-to-draw-them.html' title='Tile Maps and how to draw them.'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-biCWvg3x5CU/TgnqQEizSdI/AAAAAAAAAAY/SrCCQGQ5yz8/s72-c/hexagrid.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-200836217211960390</id><published>2011-06-14T09:48:00.000-07:00</published><updated>2011-06-16T01:44:50.142-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dictionary'/><category scheme='http://www.blogger.com/atom/ns#' term='2D Array'/><category scheme='http://www.blogger.com/atom/ns#' term='Tile Map'/><category scheme='http://www.blogger.com/atom/ns#' term='jagged Array'/><category scheme='http://www.blogger.com/atom/ns#' term='Tile Engine'/><title type='text'>Tile Map</title><content type='html'>Every game needs some kind of background or even environment, in the case of 2D games that would make 2D pictures. In the early days it was rather hard to draw and save pictures big enough to fill the entire screen, not to mention that have one for every Level in a game. There were and are games with hundreds and thousand of such screens after all.&lt;div&gt;So quite early someone had the brilliant idea to not use one big picture for the whole screen, but little ones that would repeat them self in patterns using a 2D map. The Tile Maps where born.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Even if modern PCs and Consoles have enough power to store and handle pictures for the whole screen without much ado, Tile Maps a still quite popular with game designers, as they present a way to quickly, without many resources, create huge and individual Levels.&lt;/div&gt;&lt;div&gt;That is also why I use it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For a Tile Map you need two things:&lt;/div&gt;&lt;div&gt;First a Content, or how I call them Assets (Content was already taken in the code).&lt;/div&gt;&lt;div&gt;Second you need the Map, a 2D Array of information (later called Grid).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Assets:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Assets are the little tiles that will be drawn on screen.&lt;/div&gt;&lt;div&gt;Not always are the Assets stored in single pictures also can they have other special behaviour like offsets. Also can it happen that when you use a Editor (like me) that you may have one source picture for one and the same tile, but the Editor and the Game treat them differently. &lt;/div&gt;&lt;div&gt;For that it is quite useful to have a separate entity that holds those informations. Its is also good that this information is separately to the picture as you can safe it separately using less memory, and you can vary easier (without gaining much memory usage).&lt;/div&gt;&lt;div&gt;At the moment this results that I can have one source picture for the whole Level (Asset1) and multiple others that point to this picture as their Source, but showing only one part of it (Asset2 to 5). Then again I can have another Asset (6) that points at 5, but draws it with a offset.&lt;/div&gt;&lt;div&gt;Using this you can have a Stone centred on the grid at one place and then have the same Stone off the grid in a different place. &lt;/div&gt;&lt;div&gt;Creating such variations in a Tile Map is important as you don't necessary want the player to know that you use a Tile Map. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;// In Code:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;One Dictionary of 2DTextures that holds the actual pictures, and one that holds the AssetInformation. The two are linked together using unique Tags as Keys, like the file name of the picture.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Grid:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is the same Grid about which I've posted earlier. &lt;/div&gt;&lt;div&gt;It is basically a 2D Array of information. Theoretically can a Gird for a Tile Map hold any kind of information, from Numbers up to Text. All it needs is a clear way to point out what tile it wants to draw where.&lt;/div&gt;&lt;div&gt;I use a 2D Text Array (string) for this, as I plan not only to store graphic information in it, but also scripting. Like the Dictionaries of the Assets, I use here the Tag of the Asset to point out what to draw.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;//In Code:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;There are two ways to implement a 2D array in a modern programming language: First a multidimensional Array (string[x,y]) and second a jagged Array (string[x][y], or a Array of Arrays).&lt;/div&gt;&lt;div&gt;Because it is easier to handle in some code (safeing, copying, changing dimension, etc) I decided to go with the jagged array approach.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So this is how a Tile Map is build up, in the next post I will write how to draw them, as this can be its own little problem.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-200836217211960390?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/200836217211960390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/tile-map.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/200836217211960390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/200836217211960390'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/tile-map.html' title='Tile Map'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-5833656828404339828</id><published>2011-06-13T05:48:00.001-07:00</published><updated>2011-06-13T05:49:42.866-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delay'/><title type='text'>Work, work, work, ...</title><content type='html'>Did not forget to update the blog, only had to build a stone wall with my bare hands. Will update by time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-5833656828404339828?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/5833656828404339828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/work-work-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/5833656828404339828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/5833656828404339828'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/work-work-work.html' title='Work, work, work, ...'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-7661835576442528932</id><published>2011-06-03T07:41:00.000-07:00</published><updated>2011-06-03T08:22:09.909-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Level Structure'/><category scheme='http://www.blogger.com/atom/ns#' term='Editor'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Level Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Engine'/><title type='text'>Level Structure</title><content type='html'>&lt;div style="text-align: left;"&gt;Getting back into blogging is hard, especially if you want to do it right.  Right now I plan to post once a week. Fridays probably. Anyway ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The game that I plan has some inspiration form The Legend of Zelda, and not only gameplay wise but also level structure wise.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://1.bp.blogspot.com/-ng3KORoADXo/Tej3FfYNGAI/AAAAAAAAAAQ/oGpnZ6187A4/s320/levelstructure.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5614008609211750402" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The goal will be that I have one 'Level' as super structure and multiple 'Sections' as actual screen to see by the player. If you every played the Original The Legend of Zelda on the NES (or Virtual Console) you may know this set up. But unlike Zelda I plan to add further levels of detail to the individual Sections using multiple Grids.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;Level:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The level is 2D grid with user defined dimensions (X/Y). The Sections are planned to be linked together by scripts and not by positions in the Level grid, what makes the actual grid obsolete. I still hold on on the grid as a Level Design Help. The Level Editor later will (is supposed to) display little pictures of the actual Sections (like shown in the picture above) and links between the Sections. It may also display more script information if it turns out to be handy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;//In Code:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;A Leve is its own class with a string[][] Array for the position of the Sections (using their tags) and List for the Sections themself. This is done to save memory when many placed is the grid are kept empty.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;Sections:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;A Section is a List of Grids. The position in the List will later determine when a grid will be drawn in the actual game. The second grid will be drawn after the first, and so will appear atop the first.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;//In Code:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;A Section is a class with a List for the Grid Class ... simple.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;Grid:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The Grid is the backbone to the whole system. Basically it is a 2D Grid of text-information. I'm not far with the Scripting language yet, but by time a single Grid will hold Graphic-Information and Level-Design elements like a door (or portal if you want) to a different Section of the same Level.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;//In Code:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;The Grid Class has, similar to the Level Class, a 2D Array with Text-Information.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is just a short summery of the Level Structure. The classes also hold some little meta information and some helping methods, but they are not that important.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So that is a little overview of the Level Structure that I use. I hope I will write more next week. Then it should be about the Tile System: How to come from a Bitmap, over the editor to a TileMap.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-7661835576442528932?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/7661835576442528932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/level-structure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/7661835576442528932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/7661835576442528932'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/06/level-structure.html' title='Level Structure'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ng3KORoADXo/Tej3FfYNGAI/AAAAAAAAAAQ/oGpnZ6187A4/s72-c/levelstructure.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-2451658180524194608</id><published>2011-05-26T01:10:00.000-07:00</published><updated>2011-05-26T01:54:08.676-07:00</updated><title type='text'>Student years</title><content type='html'>&lt;div style="text-align: left;"&gt;I'm a student now. Software and Information Engineering.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Currently I'm at the beginning of on new project. Its different to the older one in being simpler (2D shooter), but requiring more technology. I already got lots of stuff from the old project that I can salvage, but there is still lot to improve.&lt;/div&gt;&lt;div&gt;Here is a short overview:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;HexaAssets (Content Management/Levels): 90%&lt;/div&gt;&lt;div&gt;Hexamate (Editor): ~60%&lt;/div&gt;&lt;div&gt;Scripting: 0%&lt;/div&gt;&lt;div&gt;CutSceenManager: ~10%&lt;/div&gt;&lt;div&gt;Content: 0%&lt;/div&gt;&lt;div&gt;Game Play: 30%&lt;/div&gt;&lt;div&gt;AI: 0%&lt;/div&gt;&lt;div&gt;Shader/Effects: 0%&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The most important thing right now I finishing the Hexamate and the things that are directly connected with it. Which are HexaAsset (how I manage the content over multiple levels), and Scripting. Here is a picture of it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://i201.photobucket.com/albums/aa59/Greg453V/Hexamat/Hexamate.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 729px; height: 560px;" border="0" alt="" /&gt;&lt;div&gt;That is a Section. A Section is like room of a bigger level. It can be draw and loaded separately to other sections. It also should be able, on day, to link to different permutations of on section, based on what choices you make in the game.&lt;/div&gt;&lt;div&gt;What you can also see are the two grid of which it is made. The first grid would be a tile mapping of the ground (the brown stuff), and the second shows highlights. The important thing is that those two grids have different sizes, to make it more natural. Later I also what them to be able to have different orthogonal and hexagonal orientations. &lt;/div&gt;&lt;div&gt;What you may also can see is that I use on parent texture, that holds the stone, leafs, a branch and berries at the moment, as split them up into children textures. Those children than can have a variation of features, like size, offset, rotation. Later I also what to be able to control those features with some simple scripting. Like if I want to have a stone that is slightly bigger than the others I don't have to create a new Asset. But more about that later.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://i201.photobucket.com/albums/aa59/Greg453V/Hexamat/Game-1.png" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 837px; height: 537px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Above you can see a prototype of some gameplay. You can troll the ship using a Controller, or Mouse and Keyboard. Like in Crysis 2 you can switch that at anymoment. (The level in the background is still old code!)&lt;/div&gt;&lt;div&gt;What I can't really show you right now it the menu and screen structure I use right now, simply because its nothing special, and I don't want to make a video of it. But to get to the gameplay above I already had to go through a main-menu, a simple cut-scene. As said its nothing special, but it works quite fluid. &lt;/div&gt;&lt;div&gt;You may find a lack of loading screen in the sentence before, thats because I plan to keep the game simple, at the moment, and make it playable without any kind of loading. At least thats the plan.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sorry for the little information right now, I will go further into detail later, when I'm more into the blogging thing again. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thats it for now, cu&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-2451658180524194608?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/2451658180524194608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2011/05/student-years.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/2451658180524194608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/2451658180524194608'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2011/05/student-years.html' title='Student years'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i201.photobucket.com/albums/aa59/Greg453V/Hexamat/th_Hexamate.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-1419712820497279776</id><published>2010-08-07T13:03:00.000-07:00</published><updated>2010-08-07T13:09:49.371-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='GDCEurope'/><title type='text'>I live!</title><content type='html'>Military is over. I took some out time (which I'm still doing actually).&lt;br /&gt;&lt;div&gt;I waiting for october to come and start my first semester as a student.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At the moment I'm not doing much. Playing games, writing a little code when I get bored.&lt;/div&gt;&lt;div&gt;On 14th I will head over to cologne for the GDC Europe as a volunteer again.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I live, for the moment.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg the Mad&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-1419712820497279776?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/1419712820497279776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2010/08/i-live.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/1419712820497279776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/1419712820497279776'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2010/08/i-live.html' title='I live!'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-6892104279508408497</id><published>2010-02-06T13:36:00.000-08:00</published><updated>2010-02-06T14:05:11.372-08:00</updated><title type='text'>military</title><content type='html'>Haven't updated this place for a long time now, have I?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well since January I'm a soldier.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here in Austria we have a obligatory Army, every boy over 18 and healthy enough has to join the Army for at least 6 month.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I got the first month behind me, the 'Boot Camp' as you would call it. The time where they show us that we're no kids anymore. That we are adult. Able to handle a weapon. Some still don't get this ... its sad ...&lt;/div&gt;&lt;div&gt;I think I did pretty well: I had no ordered report, had only a few overtimes. And I'm still a actual soldier, I was not pushed over to the kitchen or truck drivers. My physical performance could be better, I'm always one of the last in the group. But at least I'm not one of those that are 100 meters behind the group.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Monday the next step starts, the training on my later position. Scout-Tank driver. The problem here is that they wont teach me how to drive a tank right away. That will come later.&lt;/div&gt;&lt;div&gt;For now they will teach me how to be scout. In the Artillery, were I actually am, this means to be  near the enemy to tell the Artillery tanks where their target is, and how their shooting was.&lt;/div&gt;&lt;div&gt;Sound fun.&lt;/div&gt;&lt;div&gt;I've heard that scouts need to be in great physical shape ... 4 sport lessons a week. ARG ... I just want to drive a tank ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over all impression:&lt;/div&gt;&lt;div&gt;Its nothing like the movies or whatever.&lt;/div&gt;&lt;div&gt;Its heavy, it hurts, its a pain in the ass. Ever ran with 20 kg of backbag ... after 4 kilometers it starts getting quite heavy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a game designer:&lt;/div&gt;&lt;div&gt;Its nothing like that games. The main goal it to hurt people, not to kill them. A hurt person takes people around for help. A dead does not need help anymore. Killing should be bad in games too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm cured of the idea that a headshot it good.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg the Mad&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-6892104279508408497?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/6892104279508408497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2010/02/military.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/6892104279508408497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/6892104279508408497'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2010/02/military.html' title='military'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-4406417987080380833</id><published>2009-12-13T11:36:00.000-08:00</published><updated>2009-12-13T11:49:20.020-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xna'/><category scheme='http://www.blogger.com/atom/ns#' term='Shaders'/><category scheme='http://www.blogger.com/atom/ns#' term='Engine'/><title type='text'>Status Update</title><content type='html'>Depth of Field is on Ice. Problem with my Shader showed up, will finish a other time.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I'm back on my Hexamat, the editor for my 2D game "Off Planet".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At the moment I'm working on the so called "Assets". That is my name for content, like tiles. At the moment I'm figuring out how set the whole Assets up (FilePath, Tag, Kind) and also, at the same time, how to edit those informations.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For now I can create/save the assets and get them into the editor screen, and make some small edits though the property control. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The next thing will be the come up with some methods to edit the informations that the property control dose not show, or is not really capable to manipulate.&lt;/div&gt;&lt;div&gt;The whole thing gets harder as I not only have one kind of Assets, but four. Source (for the normal 2D picture) , Permutation (a permutation of a Source), Animation (a list of 2D pictures changing over time) and last but not least the List format (a simple list of pictures, for random/procedural content).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And every kind need its own set of tools. ... makes quite a pile of code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Originally I planed to start with the level scripting code tomorrow, but I want the assets to be perfect (or at least working somehow right) before I start with that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg the Mad&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-4406417987080380833?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/4406417987080380833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/12/status-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/4406417987080380833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/4406417987080380833'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/12/status-update.html' title='Status Update'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-3554798535034946971</id><published>2009-11-28T05:29:00.000-08:00</published><updated>2009-11-28T05:32:23.148-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xna'/><category scheme='http://www.blogger.com/atom/ns#' term='Depth of Field'/><title type='text'>Its harder then expected</title><content type='html'>Yes, it is.&lt;div&gt;I've written articles before, but its surprising hard to find the right words to describe the Depth of Field effect. Much harder then physics ... its optics (a part of physics). The first draft is ready, but not for public yet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So it will take a few more days till its perfectly done. :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg the Mad&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-3554798535034946971?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/3554798535034946971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/its-harder-then-expected.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3554798535034946971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3554798535034946971'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/its-harder-then-expected.html' title='Its harder then expected'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-4374154892997205805</id><published>2009-11-25T06:21:00.000-08:00</published><updated>2009-11-25T06:29:00.905-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xna'/><category scheme='http://www.blogger.com/atom/ns#' term='Depth of Field'/><title type='text'>Depth of Awesome</title><content type='html'>So, the DoF shader is done, and I already made a compare with the usual linear interpolation approach of DoF.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;... To my surprise does my technique perform better then the linear interpolation thing. What is probably because for mine you only need to draw the scene 3 times, while it is 4 times with the other technique.&lt;/div&gt;&lt;div&gt;Now I only have to figure a way out to put a future tutorial online. Best way would be to put it on my own internet page, ... which does not exist ...&lt;/div&gt;&lt;div&gt;Second best way would be ZiggyWare ... which is hacked by hackers ...&lt;/div&gt;&lt;div&gt;And as I don't have a third way yet, I'll have to look for one.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In that time I could play around a little and try some alpha mapping + DoF ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg the Mad&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-4374154892997205805?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/4374154892997205805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/depth-of-awesome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/4374154892997205805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/4374154892997205805'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/depth-of-awesome.html' title='Depth of Awesome'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-3746255593230070144</id><published>2009-11-22T06:21:00.000-08:00</published><updated>2009-11-22T06:27:31.393-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xna'/><category scheme='http://www.blogger.com/atom/ns#' term='Depth of Field'/><category scheme='http://www.blogger.com/atom/ns#' term='Shaders'/><category scheme='http://www.blogger.com/atom/ns#' term='Alpha Mapping'/><title type='text'>The Perfect Depth of Field</title><content type='html'>Yes, my Depth of Field Shader is working! And this in a most perfect way!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Objects that are in front of the focus point always blur, stuff in focus do not, and background can only blur over Background.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Still, even if that works great with normal opaque stuff. For scenes with elements that use the alpha channel you probably can use the same Shader, but you might have to play around with some RenderTargets. ... What will be my next goal. :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg the Mad&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-3746255593230070144?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/3746255593230070144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/perfect-depth-of-field.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3746255593230070144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3746255593230070144'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/perfect-depth-of-field.html' title='The Perfect Depth of Field'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-9008623437634719380</id><published>2009-11-20T11:09:00.000-08:00</published><updated>2009-11-20T11:26:55.013-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ziggyware'/><category scheme='http://www.blogger.com/atom/ns#' term='Xna'/><category scheme='http://www.blogger.com/atom/ns#' term='Depth of Field'/><category scheme='http://www.blogger.com/atom/ns#' term='Shaders'/><title type='text'>Depth of Field</title><content type='html'>Its interesting that my last post here was 'Personal low' especially if you know that I actually had a great time in the last weeks. Wrote some lines here, got my Hexamat project back working, started a book, increased the usability of my engine, build a house, raised two kids ... well I did not all of those things but I'm fine. :)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Depth of Field:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Depth of Field is if you focus your eye or camera on a object, you see everything beyond it blurred. You don't need it for my planed 2D game, but till now does sidetracking only got me forward. And it also taught me some lessons in RenderTargets, PostProcesses and Shaders in basic.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well how does DoF work in video games? Simple, you render the scene, and render a blurred version of it, later you just render a third picture, were you interpolate between those two scenes based on the distance.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Simple as it gets does this way of DoF just suck. I've seen it and how it looks in Dragon Age Origins and just thought: "Hey, ... honestly? Is that the best way to do?" ... "NO!" I thought. So I grasped the next best DoF tutorial and took it apart. Learned the techniques it uses, cut them out and implanted my own.&lt;/div&gt;&lt;div&gt;Its not finished yet, and I don't know nothing about performance yet (no really ... what does that work mean? ... :p). So I will spend some more hours into it and make a sample, maybe even an tutorial.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I still don't know where I'll post it, as Ziggyware is hacked ... again. But we'll see. If I can build a Lego Mako and put the Manual online, I can do everything.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tune in again when it says:&lt;/div&gt;&lt;div&gt;Mad Man Making&lt;/div&gt;&lt;div&gt;Greg the Mad&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-9008623437634719380?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/9008623437634719380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/depth-of-field.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/9008623437634719380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/9008623437634719380'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/11/depth-of-field.html' title='Depth of Field'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-3641859339998199033</id><published>2009-10-10T11:41:00.000-07:00</published><updated>2009-10-10T11:58:06.669-07:00</updated><title type='text'>Personal Low</title><content type='html'>Well its not a 'Low' as I was more or less happy at the time, ... happy playing World of Warcraft.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've played alot ... got me some mounts, some levels, some items. I'm not 80 yet, nor even close to what I want my character to be, so I'll continue to play.&lt;/div&gt;&lt;div&gt;In this time I wrote no line, ... not code line at least.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm a creative person, yes. You see a tree, I see a feature, a story, a experience, whatever. I'm that kind of guy who lies wake at night thinking about a story. What pushes a character to go on? Why not just stop and enjoy the moment? IS it the hope for a better life than this? Is it the love for a other character? Or is he just not the person who stops?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I just started a book. Its 10 pages by now, not even close to the main happening what sets the story. Its about the game I wanted to make before my WOW low. A guy who ... no, I will not spoiler anything. From my point of view its quite a interesting story, with interesting characters,  etc. So it would be a good book. No best-seller, but good.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Would? Why it would be a good book? Simple because my plans have shifted. I want to write that game. Not because of the experience I would gain, not because its for my Port Folio, but because of the story. &lt;/div&gt;&lt;div&gt;Monday I'll get my new PC, I'll set up WoW, play some minutes on the highest graphics setting possible, and then I'll get C# and XNA on it. Try some solutions for my problems, and even if they don't work out, I'll write a prototype. Try some easy settings, the controls, camera, etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not to make a game. To tell a story. :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-3641859339998199033?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/3641859339998199033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/10/personal-low.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3641859339998199033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3641859339998199033'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/10/personal-low.html' title='Personal Low'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-743333252796798034</id><published>2009-09-13T13:58:00.000-07:00</published><updated>2009-09-13T14:09:00.436-07:00</updated><title type='text'>What I've done?</title><content type='html'>Well, nothing.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I spended the last weeks, more or less doing nothing. I played World of Warcraft, bought a new PC table (out of glass and steel) and only made some minor changes in my code here and there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope that ends soon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The last weeks aktually have lost my target, to make a game. A 2D survivale adventure game, called "Off Planet"&lt;/div&gt;&lt;div&gt;One of many Designes on a long list of games that I plan to realise over time. Its supposed to be my Port Folio.&lt;/div&gt;&lt;div&gt;But in the last few week, I've lost that target out of sight on the sneakiest way possible. I spend a few hours thinking how to make procedural borders of tiles.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dosn't sound that dangerous, but it didn't ended with that. How about 2D collision? 2D Physics? Oh! My old console code! And so I was lost in a circle of WoW and experiental programming.&lt;/div&gt;&lt;div&gt;I may finish some last lines in the console class (it could be usefull soon) and than get back to Hexamat, and so back to Off Planet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-743333252796798034?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/743333252796798034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/09/what-ive-done.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/743333252796798034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/743333252796798034'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/09/what-ive-done.html' title='What I&apos;ve done?'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-1649493346630305415</id><published>2009-08-23T08:03:00.000-07:00</published><updated>2009-08-23T08:22:31.350-07:00</updated><title type='text'>And I'm back</title><content type='html'>Well, I returned last friday at 23:22, but it took me till now to write a blog update.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And my Fazit is: It was Awesome!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I may not have a contract at CryTek already (something some others may have hoped for), but I have gained a lot of experience, and knowledge.&lt;/div&gt;&lt;div&gt;I enjoyed each and every lecture I took, had some great chats with some real developers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And if the GDC showed me one thing it is that I need a card.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some volumteers even made it that way: "Hello, my name is &lt;name&gt;&lt;/name&gt;" *hands over card* *asks question*. What is quite a bold move, I think. Especially if I think about my native reaction to such a 'hello': *take card* *throw card, quite visibel, away* "Hello" :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another thing I found out is that companys most of the time want stuff to see from someone, a port folio. ... My port folio is quite empty ... which means that I have to fill it. Which means that I have to contiue on Hexamat.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem here, is actually not a problem, but a pile of work. Last week I have changed the data-structure, and I still have not change all that methods that have to work with the new struture.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ergo, what I learned from that is: Always make a good and solid plan before you start something, later changes can be a pain in the ass.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-1649493346630305415?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/1649493346630305415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/and-im-back.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/1649493346630305415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/1649493346630305415'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/and-im-back.html' title='And I&apos;m back'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-8340373975344737618</id><published>2009-08-15T06:05:00.000-07:00</published><updated>2009-08-15T06:30:16.257-07:00</updated><title type='text'>Up, Up and Away</title><content type='html'>Everything is packed, hotel booked, and train goes in 3 hours.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As far as I know I'm ready for the GDC-Europe and following that the Gamescom.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First I will have a 11 hour train raid to Cologne. For that I have one book, one GamePro and one GameBoy DS in my backbag, only waiting to entertain me.&lt;/div&gt;&lt;div&gt;I will arrive at around 5:45, which gives me 7 hours I can spend to see Cologne before I can check in the hotel. Once I have unpacked my laptop and my clothes, I'm already on my way to the orientation meeting in the Kölner Messe.&lt;/div&gt;&lt;div&gt;There I will first meet my fellow volumteers and get instructions about what to do when, where, why, how ofter, etc. This is supposed to take till 16:30, after that I finally will have a few hours to spend in the hotel room, taking shower, relaxing. Because at 20:00 there is already the next event on my timetable. This is when the speackers of the GDC meet in the so called Haxenhaus (German appearently don't know what a 'Haxen' is ...).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the next three days I will be one of the guys with a GDC-Shirt standing in a corner, or walking though the halls, looking for people I can help out. .. can't wait :D ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then I'll have one and a half days time to enjoy the Gamescom. Wallking around, taking pictures, playing games, taking give-aways, talk to developers, ... you know just taking stuff.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On Friday my train goes at 14:00 back to Austria.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So Long,&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-8340373975344737618?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/8340373975344737618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/up-up-and-away.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/8340373975344737618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/8340373975344737618'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/up-up-and-away.html' title='Up, Up and Away'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-3127510179987033669</id><published>2009-08-13T03:04:00.000-07:00</published><updated>2009-08-13T03:21:28.752-07:00</updated><title type='text'>Reinventing the Wheel</title><content type='html'>Till yesterday I had a problem, with my Levels, about how to delete a section of a Level while every section holds a number for identification. And all numbers had to work together ... well ... it WAS a problem.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks to the greate community at creators.xna.com I found a solution. Instead of useing Lists where you have to know where the asked section is (the number), I now use Dictionaries.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But why stop with the levels? Why not use dictionaries everywhere where they fit? Actually not a bad idea ... if I would not have to rewrite the entire code ... :(&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But I will still do it just because they also are a solution for my futur scripting problem, as I now make the basic tile grids not with integers but with strings, if I now add a additional grid, I can store in it tile based scripts. &lt;/div&gt;&lt;div&gt;Brilliant, am I not? :D&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, yes, its not written down, nor tested, but in theory it looks much better then before. Everthing looks so simple now. :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-3127510179987033669?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/3127510179987033669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/reinventing-wheel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3127510179987033669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3127510179987033669'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/reinventing-wheel.html' title='Reinventing the Wheel'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1722758368894225065.post-3788643506909271584</id><published>2009-08-10T08:08:00.000-07:00</published><updated>2009-08-10T08:25:09.666-07:00</updated><title type='text'>New Blog</title><content type='html'>Hey, I have a new blog.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had to close down my old one, because I don't use the E-Mail address it was connected too anymore.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Further more will I use it to start over, with the stuff I post here. Before did I also post some post about me (what I will continue), but I will try to focuse on my projects, like its now: "Off Planet".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lets start right away.&lt;/div&gt;&lt;div&gt;Ok, the last few days I did not that much, but not because I still have probelms with the C# (I reinstalled it, and now it works), but simply because it was weekend. ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today I woun't be doing anything either, ... a friend has invited me to play through the Halo ! campaign, would you have said no?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway. Once I'm done with lazzing around I will be confronted with the WorldEditorControl. My Save/Load code works fine for weeks now, the ProjectManagerControl starts to have its affects too, so I now can start to work on the Worlds.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A world is like a Level, with the only difference that its supposed to be HUGE. So that it will be splitt up in different 'part' or 'screens', where you later can move from one to another. After that I will start to work on the LevelEditorControl. I know that level is not the right name for it, but I will come up with something.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That what realy bugs me is that I sooner or later will have to figure out how to place stuff you can interact with, or better how to scrip them ... but I still have time till then.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Greg&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1722758368894225065-3788643506909271584?l=madmanmaking.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madmanmaking.blogspot.com/feeds/3788643506909271584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/new-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3788643506909271584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1722758368894225065/posts/default/3788643506909271584'/><link rel='alternate' type='text/html' href='http://madmanmaking.blogspot.com/2009/08/new-blog.html' title='New Blog'/><author><name>Greg the Mad</name><uri>http://www.blogger.com/profile/10733845995415926217</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
