<?xml version="1.0" encoding="ISO-8859-1"?>
<rdf:RDF
	xmlns="http://purl.org/rss/1.0/"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel rdf:about="http://feeds.garagegames.com/rss/blogs/developer/5416/">
		<title>Blog for Melv May at GarageGames.com</title>
		<description>Blog feeds for Gamers and Developers in the GarageGames community.</description>
		<link>http://www.garagegames.com/</link>
		<image rdf:resource="http://www.garagegames.com/images/GarageGames_logo_small_w.gif" />
		<dc:date>2008-09-07T01:42:28+00:00</dc:date>
		<items>
			<rdf:Seq>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/14855"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/13756"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/10071"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/9964"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/9212"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/8900"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/8623"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/8352"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/8031"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/5416/7249"/>
			</rdf:Seq>
		</items>
	</channel>
	<item rdf:about="http://www.garagegames.com/blogs/5416/14855">
		<dc:format>text/html</dc:format>
		<dc:date>2008-06-10T12:09:37+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>The long overdue blog...</title>
		<link>http://www.garagegames.com/blogs/5416/14855</link>
		<description>So it's been quite a while since I last posted a blog, you may have noticed, you may not.&lt;br&gt;&lt;br&gt;Either way I've been very busy not only generating code but generating another daughter.  So the family has grown to Jessica (4 years old), Emily (8 months old), Dad (too old) and Mum (kill me if I told you).  All are well and now that Emily is moving away from baby-hood, life is settling down to something resembling normality.&lt;br&gt;&lt;br&gt;This blog for me is probably the second most important blog I've ever done here at GG.  The reason?  Well I'll get to that (eventually) but first I hope you'll let me indulge myself and hopefully you too in a little bit of Torque 2D nostalgia.   The reason for the nostalgia?  Well first and foremost is that this blog is more than just about the cold development of a product, it's about &lt;b&gt;people&lt;/b&gt; who develop it and want to be involved in the development of it.&lt;br&gt;&lt;br&gt;This is my story...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/gg.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;It was quite a few years ago now when I stumbled across the &amp;quot;GarageGames&amp;quot; web-site.  I don't exactly remember how or why I surfed there but a few months later I was glad I did.  The site just stood out for me and there seemed to be alot of excitement buzzing around the site.  When I signed-up back in 2001 I started looking through the forums and there was an absence of profanity and arguing!  That was very refreshing for an Internet forum.  Better still there were no trolls and no adverts and there were these Demigods who apparently developed Tribes and they had a message so I sat down and listened, purchased and started learning ... slowly!&lt;br&gt;&lt;br&gt;A few weeks after hitting the site I was hooked and it was my number one place to visit.  It was soon to become my only place to visit because I had very little time to do anything else.  The then &amp;quot;V12&amp;quot; engine soon to be renamed &amp;quot;Torque&amp;quot; (was that because of the &amp;quot;engine&amp;quot; association or because Jeff T loves motorcross?) was for me, very complex and poorly documented but it contained a whole world to explore and that's exactly what I did.&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/nerd.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;Okay so I admit that I'm a complete computer nerd and this kind of stuff got me excited, hell it still does and I really hope it always will.  After spending a lot of time really not doing anything useful but learning lots of stuff about GUIs and networking and graphics and resource management and scripting and lots of other stuff, I finally got around to producing something that I could post as a resource to the community.  &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/fx.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;After doing that I got lots of positive feedback from the community and to be completely honest, for me it was very nice to have a focus for my coding time.   Getting positive feedback really motivated me to do more and that's how the &amp;quot;FX&amp;quot; set of resources were born!   I jumped from one thing to another producing stuff like the &amp;quot;fxGuiSnooper&amp;quot;, &amp;quot;fxFlare&amp;quot;, &amp;quot;fxLight&amp;quot;, &amp;quot;fxSunlight&amp;quot;, &amp;quot;fxFoliageReplicator&amp;quot;, &amp;quot;fxShapeReplicator&amp;quot;, &amp;quot;fxRenderObject&amp;quot; and modifying the waterblocks etc.&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/flower.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;During this period I watched the engine grow from a seed and the community grew and grew and really started to flourish.  I personally found lots of friends, ended up owing lots of beers, was owed lots of beers and it was good.  I was learning lots of stuff not only about coding in general or about low-level engine details but about producing stuff for a community.   I actually got hooked into helping people on the forums and there are lots of people around who do that selflessly today and I have nothing but admiration for them.   I personally get quite a buzz from helping people on forums.  Some of it is because I see people asking questions that remind me of myself asking that very same question.  Indeed I know what's behind someone posting such a question, sometimes hours and hours of frustration!&lt;br&gt;&lt;br&gt;So over a span of a few years producing &amp;quot;FX&amp;quot; stuff and posting on the forums I ended up getting involved in a project called &amp;quot;Strategem&amp;quot; in 2003.&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/strategem.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;I won't go into that but I will say that I got into it because there's that longing to make a game that emerges and I fell for it knowing how hard it was to actually complete one!   Needless to say that we produced a working prototype that was very promising and for lots of reasons the team fell apart which was a shame but I learned lots from it.  So soon after that fell apart I felt like I was in no-mans land.  At this point I had all this knowledge and I really didn't feel like producing any more &amp;quot;FX&amp;quot; objects and apart from my involvement in the forums I couldn't think of what to do next.  I really wanted to make something that people could use that had some real value.&lt;br&gt;&lt;br&gt;I don't remember how long after &amp;quot;Strategem&amp;quot; it was but at some point I remember having a shower and having one of those &amp;quot;eureka&amp;quot; moments!  The thought suddenly occurred to me, why not build a 2D 'layer' to Torque?   I do remember hurrying to my computer room and scribbling some notes.  My brain just opened-up and I was so excited by what I was seeing emerge in front of me that I took the next two days off work and being as we didn't have kids then, I isolated myself whilst I put together some ideas on how it would look.  Sarah (my wife) didn't worry about this because she'd seen what she called my &amp;quot;mad-professor&amp;quot; moments before.&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/docbrown.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I've actually still got those original notes and I'm looking through them now as I write this blog.  I told you I was indulging in nostalgia!  Anyway, it wasn't long before I had what I thought was a good basis to start.  Forgot your big detailed plans, this was A4 lined-paper with scribbled developer notes and I was primed and ready!  So off I went in my own little world creating the beginnings of the &amp;quot;t2dSceneGraph&amp;quot; and &amp;quot;t2dSceneWindow&amp;quot; and the multi-view capability.  Stuff like static-sprites emerged followed by an animated-sprite class.  I then started researching tile-maps and got together a plan to achieve that but add a bunch more features.  I didn't care about selling this or what alternatives there were I just wanted to create it.&lt;br&gt;&lt;br&gt;Eventually though, I got the urge to start putting up plans to show the world what I was spending my time on and so I started posting on threads like &lt;a href='http://www.garagegames.com/mg/forums/result.thread.php?qt=19273'&gt;this&lt;/a&gt; and posting up images such as...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/tilemap1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/tilemap3.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/mountshot1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/mouseshot1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/collisionshot2.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/animationshot1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I got some amazing feedback and others showed genuine excitement about getting their hands on it so I got more elaborate in my plans and started showing the images and videos that excited me and I got carried away with the whole thing.   As sad as some people may think, it became my every waking thought.  My work suffered considerably.  I dashed home from work, ate, kissed the wife and disappeared into my computer room.  It wasn't a problem; she's a book-worm and read books for most of the evening anyway.  We were (and still are) very happy and I love her very much for always supporting me.  Months of development were poured into it and there was more than a single occasion when I fell asleep at my keyboard.&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/yawn.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So after several months of total immersion I was leading towards releasing it for free and I remember proposing a release date on the forums.  I even had a name: &amp;quot;Torque Retro 2D&amp;quot;!   I don't recall who posted on the forums but someone suggested &amp;quot;T2D&amp;quot; and I liked that!&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/t2d.jpg'  alt=&quot;&quot;&gt; &lt;br&gt;&lt;br&gt;So sometime during that period when I was making plenty of noise about my new creation, my email box rang and it was from Jeff Tunnell.  Holy Cow!   One of those Demigods I mentioned earlier had just sent me an email.  To most people that probably wouldn't seem like much but I had got an email from the &amp;quot;boss-man demigod&amp;quot; and I'm sure Jeff has had people call him many things but possibly never that! &lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/god.jpg'  alt=&quot;&quot;&gt; &lt;br&gt;&lt;br&gt;I thought about posting the email here but I'd be sad to admit that I've still got it ... errr ... which I ... errr ... haven't *ahem*.  Anyway, the essence of the email was one of &amp;quot;give your hard work out for free, are you insane?&amp;quot;   Now without providing the rest of the email you'd probably think that was just some evil capitalist statement but Jeff continued in the email to discuss how there's a great opportunity here for a product bigger than I had previously imagined.  That gave my confidence a huge boost for which I will never be able to repay him.  To say I was floating-on-air is an understatement.&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/explosion.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;That email marks a point in time when T2D was born and an explosion of development happened.  Soon after that email arrived I was put in touch with Josh Williams and I can honestly say that then began one of the most enjoyable times I've ever had writing code.  I won't get all slushy and start thanking Josh, that's been done and he already knows how well our collaboration went.  Good times indeed.&lt;br&gt;&lt;br&gt;It was during that period when some hard production decisions were made and a whole bunch of my naive design decisions were blown out of the water but just as many held true.  Between Josh and me we came up with a bunch of stuff we'd like to see in the first release.  Lots of it was pretty complex stuff and although during our messenger chats I tried to &amp;quot;sound&amp;quot; confident in what was being discussed, a part of my brain was saying to me, &amp;quot;don't say yes to that, it sounds really hard&amp;quot;!   The thing is I said &amp;quot;yes&amp;quot; and then took each of those chats and produced a bunch of designs and eventually the code for it.  It was like tennis with Josh firing stuff at me on a Friday and by Monday I'd done it.  It was a wonderful problem solving exercise.&lt;br&gt;&lt;br&gt;During this period my wife gives birth to our first daughter Jessica and that was wonderful.  I'm not sure how I managed it but during the following 8 months it didn't stop the T2D work at all.  Any of you that are parents may think that a complete fabrication but I can honestly say that it's the truth.   It's always been my problem:  if I get my teeth into something I simply can't let go.  Never under-estimate a single motivated person with the right tools!  Anyway Jessica helped me develop it and as Josh pointed out at the time she did the &amp;quot;random key jabbing and drool QA testing&amp;quot;!&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/jessicat2d.jpg'  alt=&quot;&quot;&gt; &lt;br&gt;&lt;br&gt;Prior to us releasing it we were considering all sorts of demos because so far we'd only focused on the engine and not how it'd be presented.  I did a bunch of things, most of which had programmer art but we had some great help from the community and it was great to actually start making something with what I'd created.&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/tablewip2.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;One demo that always comes to mind and I know Josh will kill me for posting this but I got a classic email from Josh where he gave me a rough idea on a design for a &lt;a href='http://en.wikipedia.org/wiki/Pachinko' target=_blank&gt;Pachinko&lt;/a&gt; style demo...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/joshdemo.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;WTH?  Well my coding wasn't much better...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/pachinko.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;I think I actually swore that I'd delete that image during a chat with Josh.  Well, I did delete it but then promptly recovered it from the trash-can so I techincally kept my bargin.  Sorry Josh, you know I love you bud. ;)&lt;br&gt;&lt;br&gt;Luckily we got some great help from the community, specifically &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=27414'&gt;Craig Fortune&lt;/a&gt; and &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=17'&gt;Nauris Krauze&lt;/a&gt; and ended up with a better looking design that ended up being nothing like a Pachinko style game...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/gravbuildings.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So after spending nearly 18 months of coding from the beginning, T2D was ready for release.  I will never forget that time.  We had packaged up the release and the web-site was being prepped for the download.  It was very late (about 2am GMT-0) and I was getting email from various GG folks saying that it's about to go live!  I got chatting with &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=15718'&gt;Dan MacDonald&lt;/a&gt; and the two things I remember vividly about that time was the moment T2D went live and the chat with Dan.  We had a discussion along the lines of &amp;quot;you always remember your first product release!&amp;quot;&lt;br&gt;&lt;br&gt;Finally I got an email from a bunch of people at GG saying &amp;quot;Woot, the sucker is live!!!&amp;quot;   To say that it was like the birth of your first child wouldn't be correct but it was similar in that it was a moment where I was simultaneously excited and full of dread!&lt;br&gt;&lt;br&gt;So that was it ... out in the wild.  I was blown away by the response and to be honest, just by how many people wanted to get hold of it.  The thing is that although I'm being awfully self indulgent now, at the time I was so humble that I was being allowed to release a product and actually accept any cash for it but that's what was happening.  I honestly didn't care about the sales, I just wanted people to be kind and say that it was worth buying!&lt;br&gt;&lt;br&gt;I dreaded people saying that &amp;quot;I purchased T2D and that it was rubbish.&amp;quot;  I don't think I really expected that kind of feedback but it was a latent fear.   The response was better than I could have even hoped for but as with any product there were those who wanted more and I was only too happy to accomodate them so T2D grew and grew.  There were a few that dinted my pride a few times but taking criticism is all part of the game.  If you can't do that then you need to do something else.  A friend took a particularly funny Dilbert cartoon and modified it and that brought me back from the brink one time.&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/t2ddilbert.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;The great thing was that people were throwing prototypes and games together at such a rate it was hard to keep up.  Nothing was ever going to be a million-seller but people were using it and having fun and it was awesome to watch...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/asteroids_johnvanderbeck.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games//breakout_charlesgibson.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/breakouttwist_lennartsteinke.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/cardgames_jeremytilton.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/cloudkingdom_coreymartin.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/gravitygorilla_terrygreenlaw.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/hovercrash_chriscockcroft.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/isogame_mattvangorkom.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/jugglemaster_garybriggs.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/kings_gavinbeer.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/mathlessons_jasonmcintosh.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/missilecommand_coretymartin.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/packman_garypreston.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/smokinblobs_owenortmayer.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/starwars_randyanthony.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/twindistress_keithframpton.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/games/wildtaac_mattedwards.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So since that time we've had a number of releases and many features added and bugs fixed but importantly, part the way through that, we ended up developing the product into &lt;a href='http://www.garagegames.com/products/torque/tgb/'&gt;Torque Game Builder&lt;/a&gt;.  &lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/tgb.jpg'  alt=&quot;&quot;&gt;&lt;br&gt; &lt;br&gt;During the initial stages of the game builder I was actively involved in it but as time went on I was less and less involved and some very capable people at GG took that over and did a much better job than I ever could have achieved.  I'm not a GUI tools guy, something inside me won't let me be!  So for a long time, whilst the game-builder was going from good to great to excellent, I wasn't involved much in the product.  This wasn't due to GG in any way, I think I was burned-out due to it.  I'd spent so much time and energy in an almost never ending period of over 2-3 years.  Beside, there were very capable people at GG to do alot of that work. &lt;br&gt;&lt;br&gt;After a while I ended up coming back to it and fixing things here and there and adding features like tick-based physics but I always missed those early days.  Over the last year we had our second child Emily...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/emily.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;She's adorable in every respect and Jessica had grown to nearly four years old...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/jessicagrownup.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt; ... now I'm starting to feel old.   So, as I said at the beginning of this admittedly extended plan, Emily has now come out of baby-hood and life is settling down again.  My work has also enabled me to spend more time at home and I'm finding I have plenty of useful free-time.  I purchased a decent telescope (Celestron CPC 11&amp;quot; Schmitt Cassegrain) and started spending time looking at the night sky, something I did when I was really young and, weather permitting, I enjoy it more so now.  There's something to be said about the solitude and quiet under a dark night-sky.&lt;br&gt;&lt;br&gt;Anyway, earlier this year I started looking at how TGB has evolved and the itch came back like a ton of bricks.   I did a whole bunch of work fixing up the physics that had become quite broken and started establishing some regular chats and communications with the new GG team.  Boy has GG changed!&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/future.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;So what does the future hold?  For me I've pretty much dedicated a majority of my free time to TGB now.  What does this mean for you?  Well for a start I'm spending much more time on the forums trying to do my very best to help people.  On top of that I'm monitoring bugs and entering them up on the GG bug tracking system and posting bug reference numbers but all this is small-fry.&lt;br&gt;&lt;br&gt;What I'm really &amp;quot;here&amp;quot; for today is for your help and in no small way is this just me asking this, it's the folks at GG.  What I'm going to do is pick your brains about the existing TGB product and how we can turn it into a product for the future.  To do this we're going to put together some structured stuff like a survery which I'd love for you to grab a coffee and spend a few minutes of your time filling out.  On top of this I want to enter into an open discussion and see what you folks would like, need or would drink a bottle of cooking-oil for. ;)&lt;br&gt;&lt;br&gt;I don't want to limit this discussion to only minor changes to existing features.  Open your mind to radical changes if you wish.  If it's &amp;quot;you need to completely rewrite XXXX&amp;quot; then great, but if you can also tell me what you want in its place it'd be so much more useful.   You can start by posting on this blog but it'd probably be better if you start posting in the &lt;a href='http://www.garagegames.com/mg/forums/result.forum.php?qf=167'&gt;TGB Suggestion Forum&lt;/a&gt;.  I don't care if it's a list of disjoint features, whether it's a comprehensive breakdown of how you'd want a 2D engine working or just a simple post saying &amp;quot;make XXX work like this please.&amp;quot;&lt;br&gt;&lt;br&gt;If you haven't got time at the moment to do that then don't worry.  I'm going to be making lots of noise around here in the coming weeks so you'll get your chance, but if you do get a moment then come back and post your thoughts.  I don't care if you've been using TGB for 3 years or 3 minutes, all comments are welcome, none will be ignored.&lt;br&gt;&lt;br&gt;Don't expect me to commit to a timeline of when any of the requested features may be implemented but do expect me to get involved in a discussion on how such a feature request might happen.  For the moment though I'm trying to get a good &amp;quot;view&amp;quot; of what the community wants from the product.  I may be able to provide more insight into the direction we personally want to take this product but for the moment, here is your opportunity to have your say and be heard.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src='http://www.ggbetas.com/melvstuff/idea.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;In my next blog soon I'll be posting up a survey and gathering my thoughts into a more concise blog than this one turned out to be.  I'm genuinely excited to be doing this and I really hope you can find some time to join in too.&lt;br&gt;&lt;br&gt;Let the ideas commence...&lt;br&gt;&lt;br&gt;Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/13756">
		<dc:format>text/html</dc:format>
		<dc:date>2007-10-24T19:16:49+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>New Baby Girl...</title>
		<link>http://www.garagegames.com/blogs/5416/13756</link>
		<description>Oh dear, I don't seem to have posted a blog in a very long time ... naughty me.  Well I could post about all the cool stuff I've been working on but I think I'd better leave that for my next blog which hopefully won't be in another years time!&lt;br&gt;&lt;br&gt;What I can talk about though is that I'm now a father to another baby girl who was born 7lb at 8:56am a few days ago who we've named Emily May.&lt;br&gt;&lt;br&gt;&lt;a href='http://www.flickr.com/photos/cpc1100/1732576918/' target=_blank&gt;Emily May&lt;/a&gt;&lt;br&gt;&lt;br&gt;... and it wouldn't be complete without showing my other beautiful daughter who's now 3 years old ...&lt;br&gt;&lt;br&gt;&lt;a href='http://www.flickr.com/photos/cpc1100/1731726029/' target=_blank&gt;Jessica May&lt;/a&gt;&lt;br&gt;&lt;br&gt;Although I'd hardly consider myself religious, I would consider myself truly blessed!&lt;br&gt;&lt;br&gt;&lt;br&gt;More blogs with cool stuff to come in the near future.  'til then!&lt;br&gt;&lt;br&gt;- Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/10071">
		<dc:format>text/html</dc:format>
		<dc:date>2006-03-19T17:44:15+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>The GG Journey...</title>
		<link>http://www.garagegames.com/blogs/5416/10071</link>
		<description>&lt;b&gt;ADDED:  &lt;i&gt;My Firefox 1.5.0.1 doesn't seem to want to render all this plan (probably because of the length) so you may have to use something else.  IE works fine; I'll keep trying Firefox on this end though...&lt;/i&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So I've been back a week now and after being soaked with the reality of my &lt;i&gt;real&lt;/i&gt; job,  I decided it was about time I got some of the images I took during my visit to GG into a  blog.&lt;br&gt;&lt;br&gt;The thing is, this is going to be a bandwidth hog of a blog because I've got a bucket-load  of images to put up and way too many little stories to tell.  Hell, I had to reduce these  images from their 7+ mega-pixel originals and only post-up around half of them so count  yourself lucky! :)&lt;br&gt;&lt;br&gt;Onwards...&lt;br&gt;&lt;br&gt;Well, after the  &lt;a href='http://www.garagegames.com/index.php?sec=mg&amp;amp;mod=resource&amp;amp;page=view&amp;amp;qid=9964'&gt;nightmare of a  journey&lt;/a&gt; getting from the UK to GG, things soon turned around as I finally met Josh  Williams at the airport along with Heidi Tunnell (yes, one of Jeffs daughters).  I'm sure  that Josh wouldn't mind me saying that they are so suited to each other, peas in a pod and  all that and I've been aching to meet them both, especially as Josh and myself have been  talking about him meeting Heidi for quite a while, typically during our T2D chats.&lt;br&gt;&lt;br&gt;Anyway, we met at the airport and I think it was good that they saw me at my worst; sleepy,  rough as hell and generally grotty.  My image could only get better after that; well  marginally. ;)&lt;br&gt;&lt;br&gt;Josh dropped me off at my hotel and after the &amp;quot;journey from hell&amp;quot;, I was kinda' expecting  the worst which was a dark-room with a leaking ceiling, the size of a matchbox and a  full-scale riot in the adjoining room.  The reality was quite different; nice spatious  room, warm with an orgy-sized bed (without the orgy) ... sweet.&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/room/ggvisit06_003.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/room/ggvisit06_005.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/room/ggvisit06_001.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;... and the best bit was that I had a light-dimmer so that I could ensure that my laptop  looked extra cool...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/room/ggvisit06_002.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;After a wonderful nights sleep, Josh picked me up and we went to a bookstore/coffee shop  and spent most of the day discussing the next generation tech for TGB and GG in general.   Alright, so I obviously can't talk about that but I can say that I'm extremely impressed  with the direction GG tech is going (and has gone) and what it's going to achieve in the  near future and by god, I want to be part of that!  From fairly humble beginnings, this  stuff is going to change the world and smash-open new markets for &lt;b&gt;everyone&lt;/b&gt;.  No  bullshit.&lt;br&gt;&lt;br&gt;The following day I spent the day at the GG offices and met pretty much everyone.  This was  one of the highlights of my trip.  The thing that astounded me was the range of  personalities there and how well they seemed to work together.  Of course, when I was out  of the room they could've been tearing chunks out of each other but for what I saw ... cool  folks, great tech, big-time fun.  Here's some of the gang...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=36339'&gt;Adam Larson&lt;/a&gt; working on  TGB Level-Builder...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_010.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=33542'&gt;Matthew &amp;quot;King Tut&amp;quot;  Langley&lt;/a&gt; working on TGB Level-Builder...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_011.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=5249'&gt;Justin DuJardin&lt;/a&gt; working on  TGB Level-Builder...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_082.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;The GG Art Corner...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_017.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Would you buy a car from this man?  Hell, I would...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_028.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Long trek for breakfast to &amp;quot;The Morning Glory&amp;quot; cafe...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_083.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;To get some GG inside info, I threatened Pat/Matt with a gun.  Matt threw his hands up and  Pat just said, &amp;quot;go ahead, right between the eyes punk&amp;quot;.  There's no scaring Pat...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_081.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;My gun accidentally went-off.  Luckily I missed a startled Matt-L but Adam was none too  impressed with his fragged PC ... you're owned sucker.&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_080.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Justin/Adam have a quick meeting.  Justin has a special way of communicating...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_027.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Okay, so it's switched off but do you remember this baby or what?????&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_015.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Not being an artist (or perhaps even if I were), I was impressed with the official art all  over the place.  GG has some serious art-talent and some of the project art was real fun to  look at.  I have trouble drawing a circle on a white-board, never mind real art...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_014.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;One of the most funny guys I've met in a while has to be Justin DuJardin.  Almost everytime  I was with him, he was cracking jokes and being generally funny.  It must be that  Texan/Irish combo that does it.  With that said, he was occasionally serious as I think  this image shows...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_012.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;Oh my, I got to touch the first ever copy of Edward Maurinas &amp;quot;The Game Programmers Guide to  Torque&amp;quot; hot-off-the-press ... oooh.  What's cooler than that or at least as cool?  Note the  &amp;quot;GG Press&amp;quot; logo ... wow...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_013.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/offices/ggvisit06_016.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So during that day I got to visit the start of the TGB Bootcamp and met some of the folks  attending that.  I also got to meet  &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=34977'&gt;Stephen Zepp&lt;/a&gt; and I played  at being a trainer for a little while.  Bah, I'm no such thing but Stephen certainly is.   After a few &amp;quot;behind the scene&amp;quot; issues with TGB that were finally resolved, the boot-camp  was in full swing and it went very well indeed for a product still in its EA phase!  It was  the first of many to come so I'm keen to see how the boot-camps evolve as TGB does.&lt;br&gt;&lt;br&gt;That evening was time to go out and have a drink or two.  Okay, who am I kidding.  I got  &lt;b&gt;slaughtered&lt;/b&gt; but the good thing was that pretty much everyone else did as well...&lt;br&gt;&lt;br&gt;Justin, Matt and &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=53545'&gt;Jason  Swearingen&lt;/a&gt; who'd come out of the TGB Boot-camp to discuss his &amp;quot;T2D.net&amp;quot; and basically  get pissed-up...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_029.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Jay and his better-half... :)&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_030.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Josh and Heidi...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_031.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Matt Enjoying himself (I've gotta' get one of those Limited-Edition Marble Blast Ultra Hats  ... oooh)...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_032.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Justin and Jason start to get merry...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_034.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Okay, so this one takes a little explaining.  Now that Justin was starting to get &amp;quot;well  oiled&amp;quot;, he needed some sponsership for his pastime of drinking bowls of sauce (the actual  sauce doesn't matter just as long as it's something that nobody else would want).  So Jason  puts $10 on the table and Justin accepts the challenge... let's rock... (oh man I can't  watch this)...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_035.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... &amp;quot;Come on, I paid good money for this&amp;quot; ...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_039.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... down that baby ...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_036.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... a wipe of the mouth ...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_037.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... and it's all over, the bet has been won!  Not sure I want to get that close to Justin  after that. ;)&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_040.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... and just for good measure; more communication...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_038.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Anyway, it's not all Justin (nearly though) as we've got the man himself; Rick Overman  turns up for a few jars and now the circle is complete...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_041.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;And here's &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=26331'&gt;Chris Calef&lt;/a&gt;  who's working on some way cool tech at GG ... hush ...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_042.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Okay, I couldn't resist one more &amp;quot;Justin&amp;quot; image with his favourite (and I know he'll hate  me for this) saying of &amp;quot;that's all I'm saying&amp;quot;.  :)&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_048.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Anyway, enough of the commentary, I think the rest of these images speak for themselves...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_044.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_045.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_049.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_050.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_051.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_052.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_053.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_054.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_056.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_057.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_058.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_059.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_060.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_061.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_062.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_063.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_064.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_065.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_066.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_068.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_069.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_070.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_073.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_074.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_075.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_076.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_077.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_078.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_079.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So, ignoring most of the next day which was basically taken-up by a stinking hangover  coupled with extreme TGB development, I got to see at least a couple of interesting things.   The first was that Josh drove me out to a hill-top so I could see Eugene from an elevated  position.  Man, I needed the fresh-air just to get the alcohol out of my system...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/eugene/ggvisit06_055.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/eugene/ggvisit06_067.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... and the second was the &lt;b&gt;actual $10 bill&lt;/b&gt; (yes, you heard me correctly) that Justin  &amp;quot;earned&amp;quot; from Jason for drinking the bowl of sauce.  See and behold what can be earned by  simply drinking sauce.  Is there no end to the ways us indies can generate income?&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/drink/ggvisit06_084.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So, later in my trip I was involved in lots of cool discussions with the GG guys but this  stuff isn't for pictures but if there's one thing I can say about the trip is that I ate  well.   GG rolled-out the red-carpet for me (and I didn't feel worthy) but I ate the food  nevertheless and it was superb...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/restaurant/ggvisit06_085.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... man, I'm starting to feel like part of the family ...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/restaurant/ggvisit06_086.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Later that evening, &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=55'&gt;Mark  Frohnmayer&lt;/a&gt; threw a little party.  It was very cool-to-the-extreme to get the chance  to step into the houses of some of the people I've admired for such a long time.  And let's  not forget, Mark is now GGs &amp;quot;el presidente&amp;quot;.  The thing is, one thing you soon learn is  that people like Mark are just ordinary people with extraordinary talents.&lt;br&gt;&lt;br&gt;A small gathering at Marks place...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/mark/ggvisit06_087.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;We're all smiles here...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/mark/ggvisit06_009.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So one thing I'd never played before was &lt;a href='http://www.boardgamegeek.com/game/8051' target=_blank&gt;Attika&lt;/a&gt;  and to be honest, I wasn't about to start now and get my ass kicked.  Besides, it looked  complicated as hell, which of course it wasn't, but my hangover was telling me something  different.&lt;br&gt;&lt;br&gt;Another thing you have to understand about Attika is that it isn't a game, it's  god-damned-war and you had better take it seriously, *ahem* just like these guys are...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/mark/ggvisit06_088.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;The expanding dominion ... mmwwwaaaarrrrrrrrrr ...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/mark/ggvisit06_007.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/mark/ggvisit06_008.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So after a few folks had moved on, I got to speak with Josh and Mark about BLAHBLAH (insert  secret stuff here).  The great thing about BLAHBLAH is that it's astounding tech and will  set the indie-market on fire.  Soon I'll get access to BLAHBLAH and hopefully, I'll  contribute 20% of my life to it.  Here's to you BLAHBLAH and all that you stand for.    Okay, I'm sorry but I though it was important to highlight that GG isn't standing still;  there's some &lt;b&gt;amazing&lt;/b&gt; stuff just around the corner.&lt;br&gt;&lt;br&gt;&lt;br&gt;Well, it got to the final evening and I got invited to Jeffs house for a meal with friends  and family.  The thing is, I stayed at Jeffs house at the first IGC in 2002 but I was  staying in an adjacent house to Jeffs so I didn't get to go inside his main house.  This  time I did and Heidi was cooking a meal, something which I was looking forward to.&lt;br&gt;&lt;br&gt;The image doesn't do the food justice ... totally tasty ...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/jeff/ggvisit06_020.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... around the table you'll notice  &lt;a href='http://www.garagegames.com/my/home/view.profile.php?qid=105'&gt;Kevin Ryan&lt;/a&gt; whom I hadn't  met before.  What a nice guy!  The others are Kevins family, Jeff and family, Josh and  myself... (now I do feel part of the GG family)...&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/jeff/ggvisit06_021.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/jeff/ggvisit06_022.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/jeff/ggvisit06_024.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/jeff/ggvisit06_019.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/jeff/ggvisit06_025.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;... and I was in &amp;quot;two minds&amp;quot; whether to show this one which was Josh doing Jeffs daughters  homework ... err scrub that ... &lt;i&gt;helping&lt;/i&gt; with the homework!&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/jeff/ggvisit06_026.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;So, that's about all the bandwidth I'm going to steal this time in my blog and I hope it  gave you some idea of the totally-way-cool journey I just had out at GG.  For anyone in any  doubt about the faces behind GG, I hope you understand that they're just an ordinary bunch  of people with extraordinary talents.  GG is a &lt;b&gt;family&lt;/b&gt;.  For those GG folks who I  didn't get to spend lots of time with, I'm really sorry I didn't have more time.  I've just  got to say thanks to everyone at GG though for &amp;quot;rolling out the red carpet&amp;quot; during my  journey.  It was way more than I expected from everyone but you did it nevertheless.   To  you, more thanks than I can put into words.&lt;br&gt;&lt;br&gt;The five days I spent there just wasn't enough; by time I got settled, it was time to fly  back again.  Now, everyday, I miss being there, truely. *sniff*&lt;br&gt;&lt;br&gt;The good thing is that this isn't the end; TGB has just begun and with the GDC looming and  the amazing new TGB level-editor that everyone has worked so hard on, things are getting  pretty hot around here.&lt;br&gt;&lt;br&gt;In the end, the journey wasn't about seeing cool tech or getting drunk, no matter how sweet  all that stuff is.  It's about one thing and one thing only and instead of me telling you  what that is, here's a word from the person who can articulate it so well, our sponser...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/ggtrip06/end/ggvisit0086.avi' target=_blank&gt;In his own words (512Kb  Movie)&lt;/a&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/end/ggvisit0086.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Okay, so I lied, this wasn't the end of my plan.  Remember that I wanted one of the  Limited-Edition Marble-Blast-Ultra hats?  Well, alongside all the official GG swag I came  away with, I got a MBU hat and my wonderful daughter loves it although I refuse to let her sleep in it, that would be sacralidge!&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ggtrip06/end/ggvisit06_004.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Happy Hunting everyone.&lt;br&gt;&lt;br&gt;- Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/9964">
		<dc:format>text/html</dc:format>
		<dc:date>2006-03-05T07:49:01+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>Just arrived in Eugene...</title>
		<link>http://www.garagegames.com/blogs/5416/9964</link>
		<description>Well, I just arrived in Eugene after a nightmare journey from hell.  Flight was delayed from Birmingham UK by a few hours because of a severe storm (worst in a decade I heard) at Frankfurt.  Got to Frankfurt eventually and found people sleeping everywhere.  Apparently, the airport was closed yesterday as it was that bad.  This has obviously caused all the flights to go tits-up and I landed right in the middle of it.&lt;br&gt;&lt;br&gt;I tried to get to the information desk but it had angry looking people crawling all over it and after waiting for 10 minutes (bearing in mind that my connecting flight was scheduled to leave a hour earlier) I decided that I'd just walk to the gate.  Now this sounds easy but it was a &lt;b&gt;long&lt;/b&gt; trek, felt like at least 2Km!  I got to the desk and they quickly checked me in and I asked about my luggage and if they knew if it was routed to this flight and they said, and I quote, &amp;quot;today, anything can happen.  We can't guarantee you'll get your luggage!&amp;quot;.  Nice.&lt;br&gt;&lt;br&gt;Well, I jumped on the flight and showed my boarding pass to the stewardess and she said &amp;quot;up those stairs&amp;quot;.  Now I knew that this was the upper first class lounge so I said, &amp;quot;no, that's not my seat&amp;quot; but she insisted it was!!  The thing is, she looked super stressed and didn't really &lt;b&gt;look&lt;/b&gt; at my boarding-pass so I thought what the hell, I'll go anyway, you never know.  I got up there (sweating profusely) and all the seats were taken which was a shame as they were leather, reclining workstations with swivel LCDs etc.  Nice.&lt;br&gt;&lt;br&gt;Anyway, I eventually found my seat and was quickly brought back to earth.  Right in the middle section of four between two rather portly chaps.  Now don't get me wrong, being portly isn't a big deal in my book but people with big elbows get right up my nose.  So there I was, sitting in a very hot cabin with the staff saying that they were sorry about it being too hot and they'll open the rear doors to let air through (bearing in mind it was -10c outside) and two big elbowed guys wedging me in my seat.&lt;br&gt;&lt;br&gt;I basically sat like that, on the ground for 30 minutes and got reallly fed up so I asked a stewardess if I could move.  She was actually very cool (and the most helpful person of the day) and upgraded my seat!  I could stretch my legs out as much as I wanted, woot!&lt;br&gt;&lt;br&gt;Anyway, 13 hours later I finally got to San-Fran about 6.20pm local-time (my connecting flight to Eugene was due to depart around 8.20pm) so I thought that I could finally sit down, grab a burger, perhaps buys some lip-salve to repair the damage the nasty in-flight air-con did to them but no, it wasn't to be.&lt;br&gt;&lt;br&gt;I basically go to the queue for customs and I got past it at 7.40pm!  I then ran to the bag-carousel, hoping that my bag would be there and I could get my connecting flight.  The great news was that it was there after 5 minutes of waiting; best news I had all day but my stress levels were at a maximum at this point so I didn't feel that relieved.&lt;br&gt;&lt;br&gt;Anyway, I had to move very quickly to the check-in desk (had a quick toilet stop) and get booked in.  I sat for 10 minutes and then it boarded and before I knew it, we were on our way.  Nice quick take-off, no problems and I thought that all my problems were over but then we tried to land at Eugene and I can say, without exaggeration, that it was the scariest landing I've ever had to endure.  Okay, so a scary landing isn't that bad but the thing is, the women next to me had a baby and I'm not sure if you've heard of the technique of feeding your baby during take-off (It's supposed to calm them)?  Well, even if you haven't, it apparently works.  The thing is, add a rough landing with plenty of negative G's and you've got a sick-cocktail ... baby style!&lt;br&gt;&lt;br&gt;We'd just landed and the baby looked at me, looked at it's mother and then vomited all over her shoulder with a little splash-back (for good measure) on my coat.  Nothing too serious but enough to push this donkey over the edge.  I just smiled and acted polite but I wanted to scream!&lt;br&gt;&lt;br&gt;Anyway, all bad things come to an end and not long after collecting my luggage, Josh turned-up and just so that he could drop me off at my hotel.  Totally cool of him to do that, especially after the journey from hell.&lt;br&gt;&lt;br&gt;Anyways, got an early start in the morning, Josh and I will probably find a coffee-shop/bar, power-up our laptops and talk TGB.  Life don't get better than that and it's gonna' make up for the evil journey.&lt;br&gt;&lt;br&gt;The next 5 days are going to be fun (especially the TGB Boot-Camp) and I've got my digital camera with me so I'm going to do a digital diary (or at least try) and post it up as a plan soon.&lt;br&gt;&lt;br&gt;No pictures in this one, sorry, but I've just endured 28 hours lack of sleep and I need to get some zzzZZZ.&lt;br&gt;&lt;br&gt;Watch this space.&lt;br&gt;&lt;br&gt;- Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/9212">
		<dc:format>text/html</dc:format>
		<dc:date>2005-11-18T23:49:32+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>Friday Nov 18 23:49</title>
		<link>http://www.garagegames.com/blogs/5416/9212</link>
		<description>Hi,&lt;br&gt;&lt;br&gt;It's me again; the strange guy from the UK who keeps turning up, posting some snazzy images then disappears again!  No, I'm not &lt;a href='http://www.garagegames.com/blogs/1605/9210'&gt;Phil Carlisle&lt;/a&gt;, I'm Melv May and if you've not been keeping up with current events, I'm the chap who, for his sins, started a little thing called &amp;quot;Torque Retro&amp;quot; which has grown into a monster known has &lt;a href='http://www.garagegames.com/products/62'&gt;T2D&lt;/a&gt;!&lt;br&gt;&lt;br&gt;As a continuation from my last few blogs of &lt;a href='http://www.garagegames.com/blogs/5416/8352'&gt;Jul 27, 2005&lt;/a&gt; and &lt;a href='http://www.garagegames.com/blogs/5416/8623'&gt;Sep 01, 2005&lt;/a&gt;, here's some more info on what I've been doing on this product since v1.0.2 was released.  This isn't by any stretch of the imagination a complete summary of what'll be in the v1.1.0 release as there's a whole bunch of stuff I can't demonstrate without breaking the &lt;a href='http://www.garagegames.com/pg/product/eula.php?id=62'&gt;T2D Eula&lt;/a&gt; but most of that stuff are just cool ways of doing big things with very little script.  More power, less typing and all that.  Some of it would only really be appreciated by the early-adopter crowd god bless them.&lt;br&gt;&lt;br&gt;Onwards...&lt;br&gt;&lt;br&gt;Well, TGE v1.4 is a big thing in the news at the moment and so it should be as it's a huge technological step from v1.4 not just visually but functionally.  The great news is that the T2D v1.1.0 release will come out merged with TGE v1.4 so T2D owners will get all that yummy TGE goodness as part of their investment.&lt;br&gt;&lt;br&gt;Hard to choose what to demonstrate to T2D owners or how this will affect them but I chose a couple of the more immediately interesting things you'll notice when firing-up your spanking-new T2D SDK...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2d14fps.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Yep, you're seeing that right, 600+fps in T2D.  You got a better card than a 6800 Ultra?  Yes?  Well, you'll get a higher FPS then.  If you didn't know, previously T2D frame-rate was implicitly capped at approximately 300fps.  Now, whether your game runs at 300fps or 600fps won't make a hill-o-beans difference but not having an overhead that ultimately caps your frame-rate can.  More professionally, you can give other people frame-rate envy. ;)&lt;br&gt;&lt;br&gt;Next-up is the GUI system.  This has had a major revamp and makes changing GUI elements much more intuitive and just damn slick.  Not much to say here apart from showing you it working with T2D...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2d14gui.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Something else that GG has been working extremely hard on is the new &lt;a href='http://tdn.garagegames.com/wiki/' target=_blank&gt;TDN&lt;/a&gt; Wiki.  If you've not already been there, go now!  On there you'll find info on all GG's products including T2D.  As you can see, TDN is an online facility with lots of tutorials/references emerging all the time but what about the T2D SDK itself?  Well, between working on T2D I've been adding PDF documentation for systems such as the particle-engine and the new image-map system (see below).  If you've never written documentation before then I'd recommend giving it a try; it's so much harder than it looks.  For instance, writing the 30-page reference guide for the image-map system took me nearly 3-weeks part-time (including creating/organising all the images)!&lt;br&gt;&lt;br&gt;I'd be breaking the EULA if I post any of that documentation here but so much work has gone into documentation that I thought it deserved an image!  Here's one of the new documents but you'll need a magnifying-glass to read it correctly...&lt;br&gt;&lt;br&gt;&lt;b&gt;T2D Image-Map PDF&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2ddoco.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Whilst I'm on the subject of Image-Maps, let me talk a little about the serious amount of work that has gone into the new image-map system.&lt;br&gt;&lt;br&gt;Before I do though, for those who haven't got a clue what I'm talking about, image-maps are a setup in T2D that allows you to specify how frames are located within an image.   These frames are then used by sprites etc.   The previous SDK used this system well but it wasn't without problems.&lt;br&gt;&lt;br&gt;One of the problems came about because T2D utilises your 3D hardware.  One of the constraints, on alot of graphics cards, is that imagery has a size constraint in that it must be a power-of-two (&lt;i&gt;POT&lt;/i&gt;) in width/height.  Also, there's a maximum supported size on every graphics card that varies from an older 256 to a modern 4096.   Now all this is a right-royal-pain, particularly for those coming from other 2D engines that simply 'blitted' the bitmaps to video-memory.  Well, there's not alot we can do about this in your hardware but what we can do is make T2D smarter by automatically 'dealing' with this type of imagery for you.&lt;br&gt;&lt;br&gt;For example, it's common for an artist, particularly ones not aware of these technological limitations of graphics-cards to produce an image like this...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dimagemap2.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;I've actually scaled this down but this image was originally 4000x200 pixels in size.  Now as you can see, neither the width/height is a POT in size but more serious is that one of the dimensions is huge.  Only the more modern graphics cards could even begin to handle this size texture but lots of cards would just bail.  The next release of T2D wouldn't even blink at this because it passes it through it's new frame-packing routine and sends an image to the graphics-card like this...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dimagemap3.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;This kind of improvement is part of our new &amp;quot;just-do-it&amp;quot; (tm) technology.  ;)   Seriously though, what we don't want to see on the forums is people struggling with the little things.  You want T2D to use your image in a sprite, just use it.  No need to worry about the size.  If you're a veteran and want to know what exactly is going on and take control of key stages either per image-map or globally then no problem; we expose all sorts of stuff that'll excite veterans and scare to death novices.  Choice is the key here.&lt;br&gt;&lt;br&gt;Another problem that has been causing problems for people has been graphics artifacts.  These artifacts are not caused by bugs in T2D but by filtering on the graphics card.  This kind of thing is hard to explain to those who know very little about graphics-cards but essentially, when a graphics-card renders a pixel it can sample the neighbour texels in your images.  The problem with this is when you're using an image such as this...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dtilemap.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;If you we're using the 'water' frame in the bottom-right, everything would be fine but if you used this frame in something like a tile-map the graphics-card, when rendering the edges of the frame would actually average texels from the adjacent frames e.g. both the 'wooden' tiles in the top-right and bottom-left.  You'd end up with artifacts like this...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dgpuartifact.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;This is a nightmare problem but luckily there is a nice solution, you can get your artist to place a single-pixel border around your frames so that when the graphics-card samples neighbour texels, it gets a similar texture-colour and you don't get the artifact.  Well, this sounds like something that a computer is good at and quite frankly, is a stupid thing to ask a user to do.&lt;br&gt;&lt;br&gt;To this end, I developed a new feature that you can turn on/off which does this frame-padding for you, selectable per image-map.  Just turn it on and the artifacts are gone.   It doesn't change your art, it's done in memory before uploading to your graphics-card.&lt;br&gt;&lt;br&gt;&lt;br&gt;Not all the development has been to solve problems in image-maps.  On the contrary, we've added features that extend the functionality that you've already been using.  One of these features is the ability to link image-maps.  What does this mean?  Well, an image-map defines a set of frames in a &lt;i&gt;single-bitmap&lt;/i&gt;.  These frames can be 'acquired' in different modes such as regular cells or colour-keying.  The point here is that an image-map gets it information from a single-bitmap.   I wanted to change this limitation but I did it in a slightly different way than expected that gives you a whole bunch of other possibilities.&lt;br&gt;&lt;br&gt;T2D now lets you link image-maps together, irrelevant of what images they use, how many frames they have, the sizes of the frames or what mode they use for acquisition.  You can link as many image-maps together as you want and use it for animations, sprites ... whatever.  If you've got a whole bunch of images that define your 'player' you can define a set of image-maps that are linked together as a single name and use that for whatever you want.  The great thing is that you can use many different methods to acquire these frames but still use them seemlessly as one.  On-top of this, T2D will also deal with all the other options such as the 'padding' described above.&lt;br&gt;&lt;br&gt;One of the most-used image-map modes was &amp;quot;CELL&amp;quot; mode.  In this mode, you define a regular array of cells (frames) and T2D goes away and uses these.  Because this is the bread-and-butter image-map mode, it's been extended to a point where it's bursting!  You can leave it in its default state and it'll work as before but you can specify all sorts of other things.  For example, you can define the scan directions independantly horizontally and vertically, the cell stride so frames can have spacings between them, the start-point for acquiring cells and much more.  For instance, there's no way you could extract the four frames from the following image in the previous release...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dimagemap1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... without grabbing the famous character hidden behind the tiles.  You now can!  You could also grab those frames from different directions and even get T2D to automatically worry about how many tiles to expect in either direction.&lt;br&gt;&lt;br&gt;Okay, you've seen me talk about 'acquiring' frames from images above but what the hell am I talking about here?  Well, take the previous image with 'homer' in the background.  If you used this in the previous release, the whole image would've gone to the graphics card even though you were only interested in the four frames.  Worse, if the image wasn't a POT in size then T2D would be forced to resize it to the next POT in size and upload that!  As the sizes get bigger, the next POT can be huge resulting in a massive waste of video-memory.  No fear, if you used this in T2D now, you'd get this...&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dimagemap0.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... minimal use, minimal waste.  This is the new image-map packing system working.  When you get your sticky hands on the new release you'll be able to browse the code yourself but for now, I'll just say that I'm pretty god damn happy with it.  The system first looks at your graphics-card to determine the constraints in which it has to work.  It then uses this information when you create an image-map.  It takes your frames and uses a special tree-algorithm similar to that used when packing lightmaps and packs your frames into a texture that most suits your graphics-card.  T2D will also split-up the frames across textures if they absolutely will not fit into a single supported texture on the current graphics-card.&lt;br&gt;&lt;br&gt;On top of this, it takes parameters (that you can configure) such as whether you prefer performance or least wasted-space.  Ultimately, a single frame cannot be larger than the maximum supported by the graphics-card that T2D is running against and so this brings up another feature that I've developed, image-map runtime information.&lt;br&gt;&lt;br&gt;The new system hasn't just added a bunch of features with no regards to how the system reacts when something goes wrong either trivially or seriously.  The new system has a huge array of functions available to both scripts and C++ that allow you to interrogate and control image-maps.  You can control the more obvious things like filtering-modes but also fetch frame-counts/sizes, texture-pages, frame-counts in specific texture-pages and much, much more.&lt;br&gt;&lt;br&gt;Some great features are the image-map callbacks.  There's a handful of callbacks that'll interest people who want to both manage image-maps in detail but more importantly want the ability to manage situations where an image-map is not supported by the current hardware and possibly switch to another one or specify other parameters.  T2D provides callbacks when packing begins/ends for each image-map as well as an error-callback if something goes wrong.  The error callback is very informative and provides a plain-english string for the error as well as a fixed error number that you can programatically use to recover somehow.  A basic use for the packing callbacks would be to show a progress bar if you were uploading alot of images.&lt;br&gt;&lt;br&gt;A new feature in T2D are the system variables.  These are preferences that make system-wide changes to the way T2D works.  In this context, there are half-a-dozen for image-maps alone.  These control things such as telling T2D to dump complete statistics for each and every image-map that is processed (all source to destination frame sizes, texture-page counts etc), echoing errors to the console, overriding the maximum texture size (as reported by the graphics card), dumping all the resultant packed images (before they go to the graphics-card) to disk and much more.&lt;br&gt;&lt;br&gt;&lt;br&gt;Enough about image-maps I hear you say!!  Okay, what shall I show you now?  Hmm ... I know, the particle-engine.&lt;br&gt;&lt;br&gt;One of the things asked for in the forums was the ability to use the hardware blending-modes in the particle-engine and this is what I've done.  The possibilities this produces are fairly endless.  Now, when you're editting a particle-emitter (within a particle-effect), it can have it's own source/destination blend modes just as all the other objects can.  You don't set this at the effect-level but at the emitter-level meaning that a particle-effect can comprise of many emitters, each with its own hardware blending just like tile-maps/layers can.  This can lead to very cool effects, none of which I've had time to produce. ;) &lt;br&gt;&lt;br&gt;Here's a simple image showing the option in the particle-editor and a movie showing it working...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dparticleblend.avi' target=_blank&gt;&lt;b&gt;Per-Emitter Hardware Blending Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dparticleblend.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Another feature that was asked for was the ability to simply specify a target position/rotation and automatically get the object to move to that location/rotation.  This I've done for you but as you should expect by now, I've try to go a little further for you.  You can now go to an object and do something like this...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='codeblock'&gt;&lt;pre&gt;%obj.moveTo( %pos, %speed, ...... );&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;...or...&lt;br&gt;&lt;br&gt;&lt;div class='codeblock'&gt;&lt;pre&gt;%obj.rotateTo( %pos, ....... );&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;... and this will do exactly what has been asked for.  What it won't do is rigidly move to that point!  What I mean by this is that I never want to put in a feature that temporarily bypasses all the other systems that apply to an object.  When you do this, if the object responds to collisions, it will react and possibly not get to the point.  How does T2D know it was interrupted?  It doesn't!  What's going on here is split up into two levels.   The first level are a couple of new options for all objects; these are setting a target position/rotation.  You do this using something like...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='codeblock'&gt;&lt;pre&gt;%obj.setTargetPosition( %pos );&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;...or...&lt;br&gt;&lt;br&gt;&lt;div class='codeblock'&gt;&lt;pre&gt;%obj.setTargetRotation( %pos );&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;These commands (plus their many options) allow you to specify a location/rotation at which point a set of things can optionally happen such as stopping the object from moving and/or actioning a callback.  This means that you can tell T2D to inform you when a specific position/rotation is reached and/or automatically stop.  What has this to do with the &amp;quot;moveTo&amp;quot;/&amp;quot;rotateTo&amp;quot;?  Well, these commands are really a hybrid of the target-commands shown.  When you use them, they automatically set the target position/rotation you specify and calculate the required velocities to move to the position/rotation.  The great thing here is that you can use the features seperately for all kinds of things.  All these commands have a &amp;quot;fuzzy&amp;quot; option that allows you to specify a region that counts as hitting the target so you don't have to be exactly at the specified position/rotation.&lt;br&gt;&lt;br&gt;Here's a very basic image of me pointing to a location and simply issuing a &amp;quot;moveTo&amp;quot; command on a particle-effect.  The thing to remember is that this is done with almost no code.  As you can see, it simply moves to the location that I specify, not exciting but I had to show you something right? ...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dmoveto.avi' target=_blank&gt;&lt;b&gt;Move-To Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dmoveto.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Okay, it's getting very late here and I've been working on T2D all day so I'm going to talk about one more feature.  The one I've chosen should have an appeal to almost anyone on these forums but especially to the existing T2D owners who have either asked for it or have spoken about games that would need it ... it's the ability to used standard TGE DTS objects &lt;b&gt;fully-featured&lt;/b&gt; in T2D.  By this, I don't mean get a static DTS and just render it on the screen over/under T2D objects, I mean, render inside layers, move around using all the standard physics/collisions, blending, sizing, positioning etc.  By &lt;i&gt;fully-featured&lt;/i&gt; I'm referring to compatibility with DTS features.  Here I've tried to get everything in that I can!&lt;br&gt;&lt;br&gt;Before I say anymore, here's T2D with a whole bunch of &lt;a href='http://www.garagegames.com/mg/snapshot/view.php?qid=702'&gt;Strategem#1&lt;/a&gt;   and &lt;a href='http://www.garagegames.com/mg/snapshot/view.php?qid=649'&gt;Strategem#2&lt;/a&gt; DTS objects up and running.  Here's a list of things that I've added support for when using the new &lt;b&gt;t2dShape3D&lt;/b&gt; object...&lt;br&gt;&lt;br&gt;- Load arbitrary shape files (*.dts)&lt;br&gt;- Load/Associate animation files (*.dsq)&lt;br&gt;- Play by animation name or sequence number e.g. &amp;quot;move&amp;quot;, &amp;quot;idle&amp;quot;, &amp;quot;fight&amp;quot; etc&lt;br&gt;- Animation time-scale&lt;br&gt;- Smooth-blended animation transitions&lt;br&gt;- Override object render scale&lt;br&gt;- Override object render center (offset)&lt;br&gt;- Multiple skin/skin-set support&lt;br&gt;- 3D Quaternion rotation&lt;br&gt;- 3D Quaternion angular velocity&lt;br&gt;- Full Animation Trigger support (custom callback per trigger)&lt;br&gt;- Full Detail level (plus intra detail level) support&lt;br&gt;&lt;br&gt;&lt;br&gt;The use of these shapes is totally seamless with what you've used before.  The great thing is that they fully integrate with everything else so physics, camera, blending, moving, mounting is all done using the core functions.  As an example, here's a bunch of movies showing me selecting 3D shapes with the mouse, zooming-in on them, moving them around, mounting them to each other etc...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dshape3d.avi' target=_blank&gt;&lt;b&gt;t2dShape3D Move #1&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dshape3danim.avi' target=_blank&gt;&lt;b&gt;t2dShape3D Move #2&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dshape3dmount.avi' target=_blank&gt;&lt;b&gt;t2dShape3D Move #3&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dshape3d.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dshape3dmove.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Phew!  It's nearly midnight here and I've been working since 5.30am so that's like, err, lots of hours so I need some sleep.  I'd just like to say that I'm sorry that I hadn't done a plan earlier but sometimes it's easier to sit and work on T2D than to put out a plan.  Both are working for T2D owners but I guess one is more visible than the other.  We've promised to put out an &lt;a href='http://www.garagegames.com/mg/forums/result.thread.php?qt=36609'&gt;early beta version of T2D&lt;/a&gt; but it is unlikely that this'll include everything, certainly not the TGE v1.4 merge but at least everything I've mentioned in this plan.&lt;br&gt;&lt;br&gt;All in all, lots of hard work has got us to this point.  We've had to make hard decisions on what goes in and what doesn't.  With the best will in the world, you can't do everything so not everyone will be happy but we're hoping that we've covered 95% of what we feel is needed to allow people to put out a solid product using T2D.&lt;br&gt;&lt;br&gt;The great news is that when this is shipped, we've got a whole bunch of further development on the books and to say that work will be exciting is an understatement!!  All you have to do is take this release, make a whole bunch of games and get them distributed.  In the meantime, we'll be making your investment worth even more to you.&lt;br&gt;&lt;br&gt;- Melv.&lt;br&gt;&lt;i&gt;T2D Dev&lt;/i&gt;</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/8900">
		<dc:format>text/html</dc:format>
		<dc:date>2005-10-10T08:56:45+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>Monday Oct 10 8:56</title>
		<link>http://www.garagegames.com/blogs/5416/8900</link>
		<description>This is just a quick apology to those people who I'd promised to talk to at the IGC (even buy a beer).  Due to circumstances beyond my control, I wasn't able to attend the IGC this year.  A little too private to talk about really.&lt;br&gt;&lt;br&gt;Anyway, my torture was to watch the emerging photos this weekend at what looked like an awesome event.  Totally gutted that I missed it and never got to speak to all the T2D'rs that attended.&lt;br&gt;&lt;br&gt;On a brighter note; I'm going to be posting some cool T2D stuff to suppliment all the stuff that was discussed at the IGC very soon!&lt;br&gt;&lt;br&gt;- Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/8623">
		<dc:format>text/html</dc:format>
		<dc:date>2005-09-01T19:04:09+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>Thursday Sep 1 19:04</title>
		<link>http://www.garagegames.com/blogs/5416/8623</link>
		<description>Well it's been a month since my &lt;a href='http://www.garagegames.com/index.php?sec=mg&amp;amp;mod=resource&amp;amp;page=view&amp;amp;qid=8352'&gt;last plan&lt;/a&gt; so I thought it was about time I spent a little time explaining at least some of the development work that's been completed.  There's just no way that I can spend the time going through each and every feature that's been added and you should note that none of this stuff is in order of development or anything like that but I've tried to show some of the stuff that can at least have a nice picture/movie associated with it so I don't put you to sleep!  You can assume that there's just a bucket-load of stuff to add to this that although extremely important, doesn't work well in plans; stuff like picking-efficiency, memory-allocations, profiling and zzzZZZZZZZZ. ;)&lt;br&gt;&lt;br&gt;I've also tried to discuss this in a fashion that makes sense to people who haven't yet got hold of a copy of T2D; &lt;i&gt;you know who you are&lt;/i&gt; and may god have mercy on your souls! ;)&lt;br&gt;&lt;br&gt;Before I begin and assuming you haven't already, you should go take a look at Justin Dujadins recent &lt;a href='http://www.garagegames.com/blogs/5249/8604'&gt;plan&lt;/a&gt; as it describes some of the cool stuff that's in TGE v1.4.  The great news is that T2D will be merging with v1.4 so you can expect to see this cool stuff in T2D.&lt;br&gt;&lt;br&gt;&lt;br&gt;Okay, let's jump right in....&lt;br&gt;&lt;br&gt;&lt;b&gt;Efficiency and Performance&lt;/b&gt;&lt;br&gt;When I was developing T2D I tried my best to keep an eye on performance characteristics and most of the time I did well but there were some areas that didn't get the love they deserved so I've gone and rectified that by developing a whole bunch of improvements scoped throughout the codebase from object-creation, object-configuration to object-integration including collisions, picking, spatial-stuff like postion, sizing and rotating.  The rule is, if it don't change from the last frame, do nothing to it.  The end result is a massive improvement in nearly all areas.  The one area that I've seen discussed on the forums is vertex-batching.  The above work doesn't include this but don't dispair, this will be resolved in another piece of work that'll be going in sometime fairly soon.  In the meantime, the main performance hits have been from everything other than rendering so this work has gained huge boosts in performance.&lt;br&gt;&lt;br&gt;Enough talk, where's the profile stats?  Well, the problem here is that the T2D internals have changed so much from the last v1.0.2 release that the profile-markers don't compare easily.  The best way of demonstrating performance increases is by running a simple but stressful script-app on v1.0.2 and then the T2D HEAD so here we go...&lt;br&gt;&lt;br&gt;&lt;i&gt;Test System is Pentium 4 HT 3.4Ghz, nVidia GeForce 6800 Ultra, 2Gb DDR2 Ram, 640x480x32, WinXP Pro&lt;br&gt;Movie frame-rates are affected by video-capture systems albeit minimized as much as possible.&lt;/i&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Old v1.0.2 Running 10,000 stationary objects&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2doldstress1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;As it says, this is v1.0.2 with 10,000 stationary objects and as you can see, the frame-rate is pretty terrible.  If-fact, I've had to change a few settings so that I got a meaningful test because I was getting about 1.8-fps.   With this number of objects, small changes matter big-style.  Well, lets look at the exact same script running under T2D-HEAD...&lt;br&gt;&lt;br&gt;&lt;b&gt;T2D-HEAD Running 10,000 stationary objects&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dnewstress1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;As you can see a respectable 34-fps.  The thing is here that I've left in both the world-limit check and the collision checking (ready for the next example) so it's actually got more potential work going on than I said.  This is a huge improvement in average but involves some massive % improvements in specific areas.  This is all cool but 10,000 stationary objects wouldn't make a good game so let's move 'em around &lt;b&gt;with collisions reacting&lt;/b&gt;; back to v1.0.2...&lt;br&gt;&lt;br&gt;&lt;b&gt;Old v1.0.2 Running 10,000 moving objects with collisions&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2doldstress2.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;Well, I've had to fudge this just so I could get a meaningful test.  What I mean by this is that I actual turned-off collisions and just used the world-limits because with collisions I was getting &amp;lt;1-fps.  At least in this test I was getting a 4.5-fps which although not good, isn't as bad as it's only half of what it was before.  Scaling the v1.0.2 test down a little with less objects produces a result which indicates you're getting approximately a 84% decrease by using collisions.&lt;br&gt;&lt;br&gt;Well, lets look at the exact same script running under T2D-HEAD...&lt;br&gt;&lt;br&gt;&lt;b&gt;T2D-HEAD Running 10,000 moving objects with collisions&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dnewstress2.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;Yes, look at that figure again!  Hardly different than it was before!  Let me explain that figure though; the objects are not colliding with each other but only the side of the screen (see the borders?) so that's a big reason but the collisions with the border are being dealt with much more efficiently now.  In-fact, there's a problem with the debug-info banner here that I need to address shortly (hey, that's why I'm still working on stuff!).  Just to show that this is real, here's a movie of it running albeit with slightly slower FPS due to the movie-capture...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2defficientupdates.avi' target=_blank&gt;&lt;b&gt;10,000 moving objects with collisions&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;It's also interesting to note that the debug-info banner is reporting lots of bin-relocations.  This is because I've not configured the bin-system (an option when creating the scenegraph) optimally for this demo.  Increasing the bin-size gains approximately 8-10fps in this demo.  It's good that T2D lets you configure stuff to this degree.&lt;br&gt;&lt;br&gt;One thing the keen-eyed of you may have noticed was that there didn't seem to be any collision tunnelling like you may have experienced before.  Well, that's right, no collision tunnelling now with the new collision-stepping routines and other stuff(tm).   Just to show this off a little more, here's a hundred objects with very high velocities (10,000+ world-units/sec) bouncing within the same border interior...&lt;br&gt;&lt;br&gt;&lt;b&gt;T2D-HEAD Running 100 high-velocity objects with collisions&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dnotunnelling.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... and a little movie so you can actually see it actually moving...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dnotunnelling.avi' target=_blank&gt;&lt;b&gt;Tunnelling Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;There's much more in terms of performance I could mention but I think this pretty much shows the stepped improvements made where it matters and we're not finished there.  The graphics side of things will and is being improved and doubtless we'll improve even more in certain areas as we move forward.&lt;br&gt;&lt;br&gt;Next-up, I thought I'd mention a seemingly simple but nevertheless powerful feature that I've added; object mouse-events.  In-case you've not used T2D before (shame on you, sign-up now!) then you'd wouldn't know that the way you get mouse-events in T2D is to use a callback from any of your T2D scene-windows.  In there, you'd typically used one of the many pick functions that allow you to ask T2D what objects are at a certain point or area with the option to filter the pick by other parameters.  This is something that happens alot in T2D apps and so it was really asking for some kind of engine automation.&lt;br&gt;&lt;br&gt;The end-result is that you can now tell your scene-window to optionally give you mouse events for the window and/or (and this is the cool bit) give you mouse-events for the objects contained within it and still filter the results (by group/layer mask for T2D'ers).  Now this is very cool but you can also tell individual objects if they are to respond to these mouse-events fired at them.  This gives you very fine control over the routing of mouse-events.  Okay, bring on the example...&lt;br&gt;&lt;br&gt;&lt;b&gt;T2D Object Mouse-Events&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dmouseevents.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... and a little movie where I've told the objects to explode if they receive a mouse-move event.  I've told the blue-objects to ignore the events.  Again, absolute minimal script needed to do this...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dmouseevents.avi' target=_blank&gt;&lt;b&gt;T2D Object Mouse-Events Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;I'm sure this feature will get used-to-death(tm) for T2D Gui-interfaces (perhaps as a TGE Gui) and definatley for some very interesting scene-interactions and custom game-editors etc.&lt;br&gt;&lt;br&gt;&lt;br&gt;Okay, if mouse-events aren't your thing then maybe you're interested in more dynamic GUIs for your games/apps?  As T2D'ers will know, the GUI system lives in a pixel-space on the Canvas whereas T2D objects live in a special world-space and never shall the twain meet!  In-fact T2D renders scenes in a specially designed GUI control itself but the objects live within it. and there's no interaction (apart from the mouse) with other rendered elements.  Well, that's about to change forever.   &lt;br&gt;&lt;br&gt;Imagine being able to tell &lt;b&gt;ANY&lt;/b&gt; of your T2D objects that you want to attach &lt;b&gt;ANY&lt;/b&gt; GUI control to it irrespective of the GUI control having lots of nice children like buttons or even a T2D scene GUI control!  Well you don't have to imagine because you can now do it.&lt;br&gt;&lt;br&gt;With a single function you can now attach/detach any GUI control (and all its children) to a T2D Object with options for sizing the GUI Control to the size of the T2D Object or not so it's left as it was defined but track the T2D objects position.  T2D will take control of this GUI hierarchy and move it in &lt;b&gt;T2D world-space&lt;/b&gt; and clip it to the T2D scenes' window.  This means that you can effectively have standard TGE GUI Elements within the scene and yes .... they work as normal; at least they do if you can catch them as demonstrated here...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dattachgui1.avi' target=_blank&gt;&lt;b&gt;T2D GUI Attachment Movie #1&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;Notice that I start by showing that they are real controls by clicking/selecting/typing.  I linked the command from the top-left button so that it attached the GUI to the object moving in the background.  Notice how the GUI sizes with the T2D object and that the children resize accordingly although I've only threw this GUI control together so you get some odd alignment with the children controls as you would if you resized it normally.&lt;br&gt;&lt;br&gt;To show you just how flexible the system i,s I took the space-scroller demo and created a handful of T2D scene-windows all pointing to the running space-scroller scenegraph.  I then created a new scene/window and attached the T2D windows to some bouncing objects within it.  Again, script is practically nothing and here's the result...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dattachgui2.avi' target=_blank&gt;&lt;b&gt;T2D GUI Attachment Movie #2&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;Note that I'm actually playing the space-scroller demo in the background albeit badly!  Great stuff!&lt;br&gt;&lt;br&gt;&lt;br&gt;Well, I though I'd end on a performance note and I picked a specific area that is always popular, tile-maps.  There have been improvements in the way tile-maps work but the real benefit has come from the new physics/integration.  I'm not going to do the tech-speak here as this is supposed to be fun but what I will show is an absolutely massive amount of objects interacting with tilemaps (typically a performance hog) with a T2D stock collision-response, in this case, &amp;quot;bounce&amp;quot;...&lt;br&gt;&lt;br&gt;&lt;b&gt;T2D Big-Style Tile Interaction&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dfasttiles1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;This is 1,000 objects fully interacting with the tiles and most impressive it is too.  Here's the movie of the same...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dfasttiles1.avi' target=_blank&gt;&lt;b&gt;T2D Tile-Interaction Movie #1&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;I thought it'd be fun to do the same thing but add some gravity to the objects to keep things moving...&lt;br&gt;&lt;br&gt;&lt;b&gt;T2D Big-Style Tile Interaction (with gravity)&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dfasttiles2.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;... and the movie of the same...&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dfasttiles2.avi' target=_blank&gt;&lt;b&gt;T2D Tile-Interaction Movie #2&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;What does all this all mean?  It means that T2D is faster and more efficient than before but you've now got more power to pull-in stuff inherited from TGE like the GUI system.  There are just so many new features that deserve their own spot in a plan but time is limited and there's always another plan. :)  Besides, if I show you everything, you'll have nothing to suprise you when it's released!&lt;br&gt;&lt;br&gt;Well, I'm going to have to end this plan sometime, besides, if I use anymore web-space on GG's server they'll probably kill me  so if you've read this far then thanks for your time and I hope you start to get a feeling that lots of stuff is going on behind the scenes, especially lots of &lt;b&gt;amazing&lt;/b&gt; things that can't be discussed for the obvious reasons.&lt;br&gt;&lt;br&gt;If you already invested in T2D then thank you; consider this a huge jump in your investment!  If you haven't yet done the deed then why not head over to &lt;a href='http://www.garagegames.com/products/development/'&gt;Dev Products&lt;/a&gt; and see what you're missing!&lt;br&gt;&lt;br&gt;I'm really looking forward to sharing this release with everyone!&lt;br&gt;&lt;br&gt;Happy T2D'ing!&lt;br&gt;&lt;br&gt;- Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/8352">
		<dc:format>text/html</dc:format>
		<dc:date>2005-07-27T10:57:35+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>Wednesday Jul 27 10:57</title>
		<link>http://www.garagegames.com/blogs/5416/8352</link>
		<description>Well it's been quite a while since the last T2D update and seemingly nothing is happening behind the scenes but the reality is quite different!   Our original plan of action still stands but, not suprisingly, we've been sidetracked by the need to fix reported bugs and make improvements to areas that were considered only placeholders.  Lots of this has been driven by community feedback in one form or another and very valuable this has been.  This has obviously slowed things down and the timetable of work has had to change to accomodate this.  I've also had a tough time of late what with being busy at work and some pretty bad back problems and just general fatigue but through all this, I've been proud to be developing T2D as it is starting to really take shape!&lt;br&gt;&lt;br&gt;So what exactly have we been doing then?  Well, there have been a number of areas we've focused on but a large chunk of work has been fixing-up bugs and making improvements such as clearer documentation which just seems to eat-up time!  &lt;br&gt;&lt;br&gt;One of the more noticable changes to T2D users will be the change of nomenclature for objects.  When I developed the original T2D, I used my &amp;quot;fx&amp;quot; prefix but this doesn't really suit a GG branded product and to be honest, T2D isn't really an &amp;quot;fx&amp;quot;!  Unfortunately, we didn't have the time to do this earlier but it was always a high priority and we absolutely wanted to get this change out the way early.   So previously we were using fxWoot2D but this has now changed to t2dWoot so we've got a prefix of &amp;quot;t2d&amp;quot; only for all objects.  Sounds like a simple change but this involves changing of the existing documentation, tutorials, demo-code etc.&lt;br&gt;&lt;br&gt;Alongside this change was another that we desperately wanted to get out the way.  This was to implement a more flexible method to load/save objects e.g. object-serialisation.  We looked at various strategies for this considering script-user usage as well as extendability for C++ developers and finally came up with a method to deal with this.  The end result of this work was such that any object can load/save its state to/from disk.  You can also setup a set of objects and get them to save.   As previously, you can also load/save a whole scene-full of objects to/from disk.  Another goal of this new system was to allow each object to load/save itself via an arbitrary stream meaning that object state can be transfered in-memory (or potentially via the network).  This gives rise to some new features which are the ability for one object to copy its state into another object with &amp;quot;obj1.copy(obj2)&amp;quot;.  This can be very handy but there's a little more which is the ability to clone an object with &amp;quot;obj2 = obj1.clone()&amp;quot;, the difference being that a new object is created with clone and therefore the scripts don't necessarily need to know what the object class is.&lt;br&gt;&lt;br&gt;Another small improvement but handy enough to mention here is the ability for any T2D object to start its own periodic timer using &amp;quot;setTimerOn(time)&amp;quot;.  This will produce a script callback to &amp;quot;object::onTimer(%this)&amp;quot; in the specified period.  When you're finished you can just turn it off.  This can be very handy in many situtations.&lt;br&gt;&lt;br&gt;In my previous plan I mentioned the huge chunk of work on the collision detection/response framework but at that point, I had only worked on the response side of things.  To recap slightly, each object can select from a set of stock collision responses.  These are Bounce, Rigid-Body, Clamp, Sticky and Kill.  Here's a set of images detailing these modes...&lt;br&gt;&lt;br&gt;&lt;b&gt;Bounce Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeBounce.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Rigid Body Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeRigidBody.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Clamp Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeClamp.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Sticky Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeSticky.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Kill Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeKill.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Lots of Object Collision Modes&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModes.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;i&gt;Movies...&lt;/i&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeBounce.avi' target=_blank&gt;&lt;b&gt;Bounce Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeRigidBody.avi' target=_blank&gt;&lt;b&gt;Rigid-Body Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeClamp.avi' target=_blank&gt;&lt;b&gt;Clamp Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeSticky.avi' target=_blank&gt;&lt;b&gt;Sticky Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeKill.avi' target=_blank&gt;&lt;b&gt;KillMode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModes.avi' target=_blank&gt;&lt;b&gt;Lots of Object Collision Modes Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;These modes not only make things much easier as they cover lots of standard case responses needed in games but they obviously perform much better than doing this stuff in scripts.  All this done using &amp;quot;setCollisionResponse( bounce );&amp;quot;!  Another benefit is that the framework allows for extending the collision responses in a number of ways, something which I'll go into more detail below.&lt;br&gt;&lt;br&gt;With that work finished, I moved onto the more complex collision detection side of things.  The existing system used a two-stage (broad/narrow) phase detection method.  The broad-phase used a container bin system which allocated objects into configurable-sized bins within the world.  This gave a very fast method for counting/discounting objects from subsequent, more detailed detection.  The narrow phase we had used a swept-polygon detection which was very fast.  This allowed objects to defined convex polygons as their collision boundary which were swept through the world meaning that no matter how fast the objects were moving, they wouldn't step through another object.  Now with a handful of bugs aside, this worked extremely well.&lt;br&gt;&lt;br&gt;Now being as T2D is trying to be a 2D game engine for lots of different types of games, we needed to make a few improvements in a few areas.  The first was to allow the collision boundary to be defined not as a polygon but as a circle/ellipse.  This would make the collision boundary much easier to define which can be very important when you're not interested in exact polygon detection.  In-fact, if you wanted to define a circle/ellipse using a polygon, you had to ramp-up the polygon edge count quite high to get decent collision normals.  These extra edges can degrade performance if used on hundreds of objects.  Of course, we didn't want simple instantaneous detection, we had to make it a swept detection for the reason outlined above.&lt;br&gt;&lt;br&gt;Something that we've tried to do with T2D is to not presume how people will use it but still try to put reasonable constraints in there.  I'd hope that we can be accused of providing too much functionality, not too little.  With this in mind, we decided to extend the idea of how to select the collision detection system therefore we decided not to restrict the detection method to simply swept ellipse or swept polygon but to provide a selectable tiered approach.  The end result is that you can configure the collision detection for an object with different modes; these are... FULL, POLYONLY and ELLIPSEONLY.  Poly/Ellipse only are obvious and tell the object to only use the selected method but FULL will tell the system to use ellipse first then, if sucessful, use the more accurate poly-detection.  Now because the swept-ellipse is much, much faster than swept-polygon, you can use the swept-ellipse as a mid-phase detection method to potentially speed-up your detection in games where lots of collision are happening.  As before you can scale both the polygon and ellipse detection areas in realtime with little/no performance hit.  An additional option for the ellipse detection is to select from either a subscribed or superscribed ellipse e.g. covering the interior or exterior of the axially-aligned bounding-box, again, switchable in realtime.  All this from &amp;quot;obj.setCollisionDetection( full );&amp;quot;!&lt;br&gt;&lt;br&gt;This new detection method can be seen here (the movie shows the switching between super/subscribed ellipses)...&lt;br&gt;&lt;br&gt;&lt;b&gt;Swept-Ellipse Detection&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/ellipsedetection.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/ellipsedetection.avi' target=_blank&gt;&lt;b&gt;Ellipse Detection Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;The final thing I'll add about the new collision framework is the ability for the C++ developer to extend T2Ds collision detection/response system.  As a developer you may want to interrupt/override the collision detection process at different points, possibly do your own broad-phase or use the broad-phase and develop your own swept detection method, perhaps add a method that extends the FULL mode so that you get swept-ellipse, swept-poly then swept per-pixel (*ahem*).  More realistically, you may want to override the swept-polygon to implement concave support.  All this you can do.  On the response side, there is a CUSTOM mode which turns off the stock response and calls the custom method which a C++ developer can implement.  This means that you can, without changes, refer to this mode as custom or even extend the list so that you have a script-named response.&lt;br&gt;&lt;br&gt;Another feature that now works perfectly and will undoutably be used for some very cool things in the future is active-tiles.  I posted a little information about these a while ago but I thought I'd repeat it a little here.  Active-tiles allow the C++ developer to quickly and easily implement a new class based-upon the active-tile class.  This allows tiles within a tile-layer to do almost anything from tracking other objects like a gun-turret or even bizarre rendering effects that are not limited to the tile area itself.  Being as I posted about this before, I won't go into more detail but here are the simple movies illustrating a test active tile that tracks the mouse-cursor.  Note that the active-tile does this autonomously without any need for script-interaction.  Anyway, here are the movies...&lt;br&gt;&lt;br&gt;&lt;b&gt;Active Tiles&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/activetile.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/activetiles1.avi' target=_blank&gt;&lt;b&gt;Active Tile Movie #1&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/activetiles2.avi' target=_blank&gt;&lt;b&gt;Active Tile Movie #2&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Well, onto some seemingly minor things but important non-the-less.  There are lots of features that have been folded into TGE v1.4 which are extremely handy.  Not soon enough for us, we'll merge with that codebase and the simply staggering amount of improvements will get folded into T2D but in the meantime, it seemed silly to deny T2D users at least some of these benefits.  TGE users will already know about these but T2D owners won't.  None of the following changes are down to me but have come from the guys @ GG such as Ben Garney, Justin'Dujardin and others.  You can see some of the T2D specific work Justin has been involved in &lt;a href='http://www.garagegames.com/blogs/5249/8079'&gt;Here&lt;/a&gt; and &lt;a href='http://www.garagegames.com/blogs/5249/8146'&gt;Here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;One of the improvements was to the drop-down console.  Previously, when you had a script-error, you wouldnt' know until either your code didn't work as expected or you searched through the console for a red warning.&lt;br&gt;&lt;br&gt;One of the improvements here was to add a small drop-down window and status bar to the console which when dropped-down, immediately shows the number of warnings as well as a list of script line numbers where the problem occurs.  This removes the need to scroll through the console searching for a potential error.  Another issue was that the console was of fixed size which was a pain if you were running at higher resolutions and needed to see more information.    The console can now be dragged to different sizes as required.  All this is demonstrated here...&lt;br&gt;&lt;br&gt;&lt;b&gt;Console Warning/Grouping&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/consolewarning.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/consolewarning.avi' target=_blank&gt;&lt;b&gt;Console Warning/Resize Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Well, I could extend this plan to many more pages with improvements in functional areas but I thought I'd finish this plan by detailing some of the documentation improvements made.  TDN will address some of the main concerns of T2D users but we're trying to improve the shipped T2D SDK doco as well.  We decided to stick to the PDF format for the documentation as it's the most widely accepted format.  Some minor problems with the previous PDF doco was caused by using the OpenOffice (beta#2)  PDF exporter.  With the documentation reformat, a improvement was called for here and I decided to purchase pdfFactory pro which is a great product.  One of the bigegst documents in the SDK is the reference documentation.  I spent a huge amount of time reformatting this document to take into account the nomenclature changes but more importantly, the grouping of functions into logical groups by colour-coding them into blocks within tables like so...&lt;br&gt;&lt;br&gt;&lt;i&gt;note that I've obscurred these images so that I don't break the EULA myself!!&lt;/i&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Functional Grouping&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/referencecolourcoded.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;Another improvement was to index this very large document by object and then by function.  pdfFactory Pro allows you to do this and so you get the standard bookmarks in your pdf viewer like so...&lt;br&gt;&lt;br&gt;&lt;b&gt;PDF Object/Function Index&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/referencebookmarks.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;An additional document that I created was one that details the particle-engine.  Something that we didn't want to do was to detail either the particle/tile editors as these are subject to serious change in the future.  Because the functions of the particle-engine are simply duplicated in the editor, understanding the particle-engine makes the editor almost obvious.  Obviously I can't post the document here but here's one of the images from the document showing the kind of detail within it...&lt;br&gt;&lt;br&gt;&lt;b&gt;Particle-Engine Graph&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/particleenginedoco.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;Still on the documentation front, I recently submitted some config files for dOxygen that allow you to download dOxygen, load-up the config file and produce a complete engine document including image-graphs using GraphViz.  I also took a handy resource and created a config that will also output a single windows CHM file for the whole codebase, obviously windows only.  Very handy indeed!&lt;br&gt;&lt;br&gt;Another improvement has been to the god-damn awful load/save dialogs in the engine.  I believe that Justin has posted some of this stuff in one of his plans but I'd like to at least show it working within T2D so here it is...&lt;br&gt;&lt;br&gt;&lt;b&gt;New T2D Load/Save Dialogs&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/loadsavedialog.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;On a side-note to these dialogs, you should note that you can now load/save stuff from anywhere within your project.  This makes using the particle/tile editors much more intuitive.  Another background improvement which impacts this is the fact that T2D now loads/saves everything via the resource-manager meaning that as soon as you save an object, it's available for subsequent loading without either a restart or a hacky &amp;quot;setModPath()&amp;quot; call.&lt;br&gt;&lt;br&gt;&lt;b&gt;Well, what am I doing right this minute?&lt;/b&gt;&lt;br&gt;&lt;br&gt;Well, I can tell you.  I'm working on a considerable improvement to the way T2D handles imagemaps.  For those who don't know, imagemaps are the core-object that provide an interface between your images on disk and textures that T2D objects need.  It is the primary route to get hold of image data and it provides a mechanism to acquire frames from bitmap data.  You can split-up a single bitmap into many frames either using a regular grid, a colour-keyed image or simply using the whole bitmap as a single frame.  One of the issues here is that 3D accellerators (at least of old) like nice power-of-two sized bitmaps.  T2D will automatically pad textures to comply with this requirement and issue a warning telling of the wasted texture memory.  What we've set about to do is address this and many more issues by providing a system which can be set to automatically decided on the most efficient method to acquire these frames, even under circumstances where the bitmap exceeds the capbilities of the underlying hardware.  Alongside this we want to provide a mechanism which allows power-users to fine-tune how this works.  I'm not going to go into much more detail here as it'll get too boring too quickly, especially as I've not got any nice images to wake you up with. ;)&lt;br&gt;&lt;br&gt;Well, I'm going to have to end this plan somewhere and now's a good a time as any.  You can be assured that alongside the changes detailed above, are many, many others which should make development much easier.  We've fixed a huge array of bugs as well, some of these relate to the underlying TGE and they have been submitted to the TGE v1.4 codebase.&lt;br&gt;&lt;br&gt;All in all, lots of work and we're still going at it.  Many other areas to improve such as animation, performance, new objects, memory etc.  I'm sorry for the lack of information of late but as was posted recently on the T2D private forums, we'll address that ASAP.&lt;br&gt;&lt;br&gt;All the best everyone and great T2D'ing!&lt;br&gt;&lt;br&gt;- Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/8031">
		<dc:format>text/html</dc:format>
		<dc:date>2005-06-10T15:11:48+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>Friday Jun 10 15:11</title>
		<link>http://www.garagegames.com/blogs/5416/8031</link>
		<description>Wow, such a long time since I've done a plan!&lt;br&gt;&lt;br&gt;Well, as you may or may not know, T2D has been a big success so far.  Not only have we got a thriving community with lots of projects on the go, there are lots of avenues opening-up for T2D (say no more) and although we're still trying to catch-up with all the features we want to get into T2D, we're pretty happy with the way it's panning out.&lt;br&gt;&lt;br&gt;After a small period of time away from T2D because of back problems, I'm back with a vengeance!  The good thing about me being ill was that it forced me to take a break, something that I'm pretty bad at doing.  Josh regularly tells me to slow down and I say okay and then get straight back to it.  A kind of self destruction I guess but the illness helped me recuperate.&lt;br&gt;&lt;br&gt;After two weeks back I've finally managed to get a new file-format for T2D ready that'll help make version-control for serialised objects real easy.  This means that we can finally make all those changes to objects without breaking what's gone before.&lt;br&gt;&lt;br&gt;Now that this work was complete, I went and finished the collision model for T2D which allows each object to select from a set of stock collision responses and even allow more to be created if necessary.  You can now get two objects to collide and have one respond in a rigid-body manner and the other to do a simplistic &amp;quot;bounce&amp;quot; response, all without having to write any callback code.  The great thing here is that existing code works without modification, there's just an extra call to set the collision response.  Collision Modes can also be changed in realtime if needed.&lt;br&gt;&lt;br&gt;This'll help people who are not interested in the rigid-body stuff for their game.  A bonus is that you can still have some objects that do respond using rigid-body if they need that realism.  There are a few platform style games being created at the moment that'll probably use the &amp;quot;bounce&amp;quot; or &amp;quot;clamp&amp;quot; modes instead of the &amp;quot;rigid&amp;quot; mode.  Specifically, collision interaction with tile-layers becomes easy to control.&lt;br&gt;&lt;br&gt;The new stock modes now become RIGID, BOUNCE, CLAMP, STICKY and KILL.&lt;br&gt;&lt;br&gt;Some of the other useful things that'll be going in soon will be more mounting features and small but useful things like arbitrary rotation points for objects.&lt;br&gt;&lt;br&gt;Well you can't do a plan without an image/movie so here's a demonstration (albeit not too flash to look at) of 100 rigid-body objects colliding within 50 &amp;quot;bouncy&amp;quot; objects.  This was setup using only a handful of calls and no scripts to handle the collision responses at all.  The frame-rate hardly moves from 300fps on my machine which is pretty impressive if I do say so myself.  The movie is lower quality and affects the framerate unfortunately.&lt;br&gt;&lt;br&gt;EDIT:  Added some more interesting piccies and movies...&lt;br&gt;&lt;br&gt;&lt;b&gt;Lots of Object Collision Modes&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModes.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Bounce Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeBounce.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Rigid Body Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeRigidBody.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Clamp Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeClamp.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Sticky Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeSticky.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Kill Mode&lt;/b&gt;&lt;br&gt;&lt;img src='http://public.garagegames.com/melvm/t2dCollisionModeKill.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Movies...&lt;/b&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModes.avi' target=_blank&gt;&lt;b&gt;Lots of Object Collision Modes Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeBounce.avi' target=_blank&gt;&lt;b&gt;Bounce Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeRigidBody.avi' target=_blank&gt;&lt;b&gt;Rigid-Body Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeClamp.avi' target=_blank&gt;&lt;b&gt;Clamp Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeSticky.avi' target=_blank&gt;&lt;b&gt;Sticky Mode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href='http://public.garagegames.com/melvm/t2dCollisionModeKill.avi' target=_blank&gt;&lt;b&gt;KillMode Movie&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;- Melv.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/5416/7249">
		<dc:format>text/html</dc:format>
		<dc:date>2005-02-26T13:19:09+00:00</dc:date>
		<dc:creator>Melv May</dc:creator>
		<title>Saturday Feb 26 13:19</title>
		<link>http://www.garagegames.com/blogs/5416/7249</link>
		<description>Whoa, T2D has been released.  Let me just say that again, &lt;b&gt;&lt;a href='http://www.garagegames.com/products/62'&gt;T2D&lt;/a&gt; has been released&lt;/b&gt;.  No, that just doesn't sound quite right at all!&lt;br&gt;&lt;br&gt;Well, I have to admit it, T2D is now an official GG product and independant of what happens, it's a huge and wonderful step for me.  Imagine if you will; it's the middle of the night (2.30 am) and you're waiting for the product page to go live; you've got several people like Dan MacDonald and Josh Williams 'with you' on YM, emails from friends coming in asking if it's up yet and then blam!   You've got a product up on the GG page and people are already purchasing it left, right and center without any big announcement!  OMG!   You're crazy tired from lack of sleep, too much screen-time, poor eating and worse, you're full of cherry-coke just to keep you awake for a few more minutes. *burp*&lt;br&gt;&lt;br&gt;T2D has been so long coming and it's been hard work but it has been fun in a kind of sick and twisted way.  I've no idea where I heard it before but someone once said that the first 90% of the product is the easy bit, it's the last 90% that's hard.  The math doesn't work there but I now know what it means and so does my family.  And coming sharply back to reality, T2D isn't a finished product, it's just got started.  I know that most things that people will initially ask for will be completely satisfied over the next few months.&lt;br&gt;&lt;br&gt;So many sacrifices, now comes the time of pride but also guilt of spending so much time in the middle of T2D coding alongside Josh Williams when I could've spent the time with the wife and young baby.  The great thing about working with Josh was that we could work alongside even though there's alot of ocean and land between us.  Remote collaboration is normally really hard but this partnership just worked and worked well.  Had to find the time to say Sarah, I love you and you've been so damn cool letting me spend so much quality time being sad in my computer room, thank you so much.&lt;br&gt;&lt;br&gt;I fear that if I type much more I'll get too gushy and sickly and make everyone feel rather ill, assuming it's not already too late, so I'll cut this short.&lt;br&gt;&lt;br&gt;I'd just like to thank everyone who's already gone out and used their hard-earned money to play with T2D and all those that are about to.  Thanks for your support and I'm sure we'll be chatting soon on the forums.  :)   The thing is, with all the excitement,  and this is kinda' embarrasing to admit, well err .... we kinda' forgot to organise getting me access to the T2D forums!  How funny is that?  I'm about to purchase T2D so that I can get access which is even funnier!  I'll be there on the forums soon people, sorry if you think I'm ignoring you. :)&lt;br&gt;&lt;br&gt;Oh, that's so embarrasing!  Why did I admit it?&lt;br&gt;&lt;br&gt;Anyway, I think a nice way to sum this up is that my life over the last eight-months has been getting this...&lt;br&gt;&lt;img src='http://www.subreal.net/vids/oldt2d.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;... into this ...&lt;br&gt;&lt;img src='http://www.subreal.net/vids/newt2d.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Enjoy T2D everyone.  It's only going to get better over the next few months.&lt;br&gt;&lt;br&gt;- Melv.&lt;br&gt;&lt;br&gt;&lt;br&gt;EDIT:  Just added that Pat has saved me by giving me access to the forums. ;)</description>
	</item>
</rdf:RDF>
