<?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/7194/">
		<title>Blog for Xavier &amp;quot;eXoDuS&amp;quot; Amado 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-10-10T22:35:19+00:00</dc:date>
		<items>
			<rdf:Seq>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/7894"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/7730"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/7513"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/7433"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/5743"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/4797"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/3763"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/2708"/>
				<rdf:li rdf:resource="http://www.garagegames.com/blogs/7194/1927"/>
			</rdf:Seq>
		</items>
	</channel>
	<item rdf:about="http://www.garagegames.com/blogs/7194/7894">
		<dc:format>text/html</dc:format>
		<dc:date>2005-05-21T10:07:53+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Saturday May 21 10:07</title>
		<link>http://www.garagegames.com/blogs/7194/7894</link>
		<description>GameShape, Turrets, Terra and Project Raven.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Game Shape&lt;/b&gt;&lt;br&gt;While doing development for Terra, I saw we were using lots of staticShapes for many of the mission objects. Each time I looked at the object in the mission, though, the ugly thought that that simple shape had support for, cloaking, invisibility, fade out, damage, energy, sounds, threads, physics and other stuff made me feel scary. That's when I decided to start a new class from scratch, derived from GameBase, and implementing the necessary portions to just render a dts shape. After an hour of work (mostly realizing that I mistakenly commented out renderImage(); DOH!) I got the first iteration of my gameShape Class. I'm posting this as a resource for everyone in the need of something similar, or just wanting to learn a bit more about rendering shapes, since I've commented most of the code, nothing extensive but should give you an idea what's going on. This first version of the class doesn't do anything else but rendering the shape and/or it's environment maps if available. It uses modified shapebase renderObject and renderImage classes. Most of the cruft was removed and the remaining code tidied up a little bit. It doesn't do collision even, it might still be useful for some kind of games, where you need to render many dts shapes but dont care about collisions (maybe some decoration stuff in a puzzle game, dunno, your call).&lt;br&gt;I will be adding the collision and damage today since that's what my game's basic shapes will need. I will post an updated version later with collision, and one with damage so that you can pick whatever is best suited for you.&lt;br&gt;&lt;br&gt;EDIT: Thanks to matt for pointing it out, the difference with TSStatic is that this is a gamebase derivative, it uses datablocks so it can be used with scripts to make a more complex object.&lt;br&gt;&lt;br&gt;&lt;b&gt;Path finding&lt;/b&gt;&lt;br&gt;Some people have been asking about my path fiding, and to be honest, I decided to work hard on some game play aspects first before continuing work on the AI. The reason is simple, I rather have a finished gameplay that I know how the AI should interact with than be wasting time hacking in AI logic now that will have to be rewritten whenever our gameplay ideas change. I would love to post this as a resource, but it's kinda complicated, and I can already see all the emails with subjects like &amp;quot;your ai sucks, help me to get it to workxoorzzzzzzz&amp;quot;. I hate that, so I doubt I will be releasing it, at least not soon. Plus, I don't want to disturb the AI pack's work by releasing one of my own.&lt;br&gt;&lt;br&gt;&lt;b&gt;Turrets&lt;/b&gt;&lt;br&gt;I've also worked on a Turret class of my own, from scratch, and it came out pretty good. The hardest thing was deciding how to structure the turrets. &lt;br&gt;The first idea was that the turret was a shape, that didn't rotate, but had a rotating image mounted on it, so basically to rotate I transformed the image render transform. The problems with this were two actually, the first one was that the turret would be limited to a tripod or base and a rotating gun, there was no way of having 2 guns rotating accordingly along with a base that sustained them both. The other problem was that I would have to calculate a camera transform so that it follows the image movement properly, it's not hard, but it was extra code needed. &lt;br&gt;The second idea was to use 3 parts, the first one was the turret itself, a static shape, with a mounted shapebase on top of it and the weapons mounted on the shapebase. In order to rotate it, I had to simply transform the mount transform in my turret object. This was better, but I still had to code some kind of camera rotation (getCameraTransform). So I was still thinking...&lt;br&gt;The last idea I had, was simple. If I want turrets that can not only be on the ground, but can be mounted on a vehicle, and I want to do it all with a single class, why not just make the 'Turret' class be only the rotating part? So that's what I did, by having the turret class being the rotating object itself, I didn't even need to calculate the camera, since it was attached to the eye/cam nodes of the rotating shape. To make them groun turrets I just created a staticShape (this will soon be changed with my gameShape described above) and set a dynamic class name in the scripts, which simply override onAdd(). In this onAdd call I simply read a dynamic field in the datablock called turret that contains the TurretData datablock, it creates a turret of that type and mounts it on top of the static shape. So this way I can simply place ground turrets in the editor (or through our in-game build menu) and I can also simply mounted a turret wherever I want, could be a tripod on the vehicle model, or anything else with just a mount point. This made me finish the code in a snap, although I still have to code some kind of interpolation to make it less jaggy on networked games, but I still have to figure out how all this interpolation thing works, it's kinda hairy.&lt;br&gt;&lt;br&gt;&lt;img src='http://bbsxavier.homelinux.net/~reivax/images/blog/turret1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;b&gt;A turret with some programmer art&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Terra: Formations&lt;/b&gt;&lt;br&gt;The game from the turret screenshot and for which I've been doing the gameShape code, all the gameplay stuff and the turrets is Terra: Formations. After seeing some of their work I decided to throw them an email and luckily enough they were also looking at some of my work. So from there it was a small chat, an NDA and we started working. It's not my job to market for Terra and I can't really say much about it, but I like it, and I like the team. Since I joined I've been directing the gameplay ideas and they are very happy with them, we should have some real fun stuff to play... sometime :)&lt;br&gt;&lt;br&gt;&lt;b&gt;Project Raven&lt;/b&gt;&lt;br&gt;I haven't stopped nor forgotten Raven, I still think it's an awesome game, and it's a big step from Terra since it's mainly Single Player RPG. The problem with Raven at the moment is that we have a lot of art being done, but none being exported, so since I started working on Raven a while ago, I haven't seen a single new model, weapon, player, or anything in-game, although I've done lots of programming for it including but not limited to the AI, chat system and the rpg mission/quest system. So I'm kinda waiting till there's more art work and storyline missions to work with for polishing the rpg system and/or adding new features that might pop up. When all that is done I'll see about working on advanced AI to better fit the game play and story line. Another thing that's still in the TODO for Raven is a scripted in-game cut-scenes. But as I said, I'll wait a bit on that too, although I've already started thinking some ideas about it, so I might end doing it soon enough.&lt;br&gt;&lt;br&gt;&lt;b&gt;Non game-dev stuff&lt;/b&gt;&lt;br&gt;If anyone is interested in non game development stuff, I keep a blog at &lt;a href='http://www.xavieramado.com/~reivax/' target=_blank&gt;www.xavieramado.com/~reivax/&lt;/a&gt; (click the blog link) and I have a photography gallery at &lt;a href='http://bbsexodus.deviantart.com' target=_blank&gt;bbsexodus.deviantart.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Personal stuff / life / etc&lt;/b&gt;&lt;br&gt;Well.... oh forget it, I don't want to bore you the heck out =]&lt;br&gt;&lt;br&gt;Thanks for reading! I'll keep you updated.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/7730">
		<dc:format>text/html</dc:format>
		<dc:date>2005-05-01T10:09:42+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Sunday May 1 10:09</title>
		<link>http://www.garagegames.com/blogs/7194/7730</link>
		<description>Next iteration on my AI pathfinding work.&lt;br /&gt;&lt;br /&gt;In my previous &lt;a href='http://www.garagegames.com/index.php?sec=mg&amp;amp;mod=resource&amp;amp;page=view&amp;amp;qid=7513'&gt;plan&lt;/a&gt; I talked how I implemented path finding using a set of predefined way points placed by the mapper. This system works great for interiors, since it gives the mapper full control of how the ai will interact with the map, eliminating the nasty situations when the ai tries to go through places where the nodes could get linked but you couldn't pass through, like a fence, a balcony,  etc. Now, that system was flawed if you wanted to use it in an exterior engine like Torque. Why? Simply because it's too big to place nodes one by one, it's time consuming and annoying. Some time ago in a previous game project, I had coded a simple Navigation Graph that autogenerated nodes and links:&lt;br&gt;&lt;br&gt;&lt;img src='http://www.projectraven.com/xavier/images/aiProgress1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;This system was good, but the problem was editing it in circunstances where you might not be happy with the autogeneration, it was nearly impossible, since each node in the navgraph was just an engine struct, containing the position and some other information. I hacked together an editor that could add nodes to the navgraph, and update the links, but that was flawed too, getting it to be able to selected and delete a node would be nearly impossible, since they were just points in space.&lt;br&gt;So here i am in a bored night, with no intention to go to bed, cooking the idea I've been having for some time. What if I mix both ideas? Create a navgraph made of aiWayPoint objects that I used in my other system and allow the mapper full flexibility, by quickly genearating a navigation graph and adding waypoints manually for interiors. It sounded great...&lt;br&gt;&lt;br&gt;&lt;img src='http://www.projectraven.com/xavier/images/aiProgress2.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;Now, that was cool, but it was getting the world editor very very busy, and annoying to work with, I'm always thinking on end-user usability with my code. So what to do? What to do? Ok, we should somehow hide the navigation graph, I started by hiding the id's for aiWayPoint objects in the WorldEditor code, but after adding lots of if is AiWaypoint code everywhere, I noticed that I was making the worldEditor uglier than it already is! Let's create a new editor then, mmm let's call it... mmm JoeEditor... no no... AIEdtior, yeah that's a cool catching name. Ok, now I had the navGraph not showing at all in the worldEditor and an aiEditor that showed only the navGraph, not the objects. Next obvious step, show the links! After some hacking and screaming at the stupid editor, the links were working, and rendering properly.&lt;br&gt;&lt;br&gt;&lt;img src='http://www.projectraven.com/xavier/images/aiProgress3.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;The editor shows nodes in red dots and links in green, selected nodes in blue and it's links in red. You can move the nodes around etc. The AI toolbar menu contains an option for Generating the navGraph (in case you modified the terrain, screwed it up, or changed the navGraph settings) and another option for calculating the links (if you moved nodes, added new nodes, whatever).&lt;br&gt;&lt;br&gt;Of course, neither the navGraph object or the aiWayPoint object does any rendering, nor are they ghosted, it all happens server side (the editor accesses the server side objects directly) so there's no network chewing involved even with big big big navGraphs.&lt;br&gt;&lt;br&gt;That's about it for now, there's lots more work to put in this puppy, but I'm happy with the results so far, specially for being all done in just one night :p&lt;br&gt;&lt;br&gt;What do you think? See ya next plan.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/7513">
		<dc:format>text/html</dc:format>
		<dc:date>2005-04-03T22:04:48+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Sunday Apr 3 22:04</title>
		<link>http://www.garagegames.com/blogs/7194/7513</link>
		<description>A* Pathfinding for Project Raven&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A* Pathfinding&lt;/b&gt;&lt;br&gt;Thought I would post a bit about my experience with pathfinding. I've implemented the A* (A-Star) algorithm in script, just for simplicity and rapidness. I'm going to eventually port it all to the engine, but doing it in script allowed me quick testing and fixing without the need of recompiles, setting up classes, etc. In about a couple of hours I had the basic algorithm running, the only problems I had where basically typos or &amp;quot;DOH!s&amp;quot;. Since Project Raven is mainly interiors, I didn't justify the work it would take to get my old aiNavGraph working, so I just went with a new class, aiWayPoint, that is placed with the mission editor.&lt;br&gt;After I had the algorithm working, I needed to actually do something with it, so I tied it into the AIPlayer namespace, since both my npcs and enemies are derived from it. But there was something to be solved, the algorithm calculated the path from a node to a node, so what if the ai player wasn't standing on a node? Ok there came implementation part number one, I created a simple method that is called moveToWayPoint() and takes a node as parameter, what it does is iterate through all nodes, and find the closest and visible node to the ai player, since that node is visible, then the path can be calculated from it, and simply move to the starting node when going through the calculated path. Amazingly it all worked, here's a video from that stage of code, the AI simply walked to the destination node you specify.&lt;br&gt;&lt;br&gt;&lt;a href='http://www.projectraven.com/ai.avi' target=_blank&gt;www.projectraven.com/ai.avi&lt;/a&gt;&lt;br&gt;&lt;br&gt;Now I wanted to have fun with enemies, so I made something similar to finding the starting node, but to find the node closest to the target, so if the ai is in combat with you, and you start running, when you get out of sight the AI will follow by looking for the closest visible node to you. While doing this I imagined that it wouldn't work very nicely in the situation where you take a path, go back and take another, the ai would move to the end of the path you took first, just to find out you ain't there anymore, so I added a simple thing, I re-calculate the path each time a node is reached, so that the bot is always going towards you. That worked perfectly.&lt;br&gt;&lt;br&gt;Meanwhile, I noticed that editing the nodes was kinda, a blind job, in theory I knew that it was doing casts, and checking visibility, but what about others? Mappers that don't have a clue how it works, it would be all magic to them, so I decided I needed an editor update. I updated the aiWayPoint class to keep a list of visible nodes in the engine and render green lines between all the visible nodes, also, a new menu was added to the editor called Tools (where I also sticked the Lighting Pack Light editor) which has an option to recalculate the nodes on the fly (I Forgot to mention that the node visibility is calculated on mission load by a separate method that is called, duh, calculateAIWayPointLinks()). While doing this I found a couple of bugs and stuff, but nothing critical, I did have to ghost the aiWayPoints though, until I find a way to shortcircuit the SimSet from the server object to the client so that the lines can be rendered. One of the bugs in my code that I came against was really stupid (tm), I was substracting vectors in script like if it was in code, so I was getting some weird 'shortest' paths :)&lt;br&gt;Adding these editor lines allowed me to visualize a potential problem with testing visibility the way I was doing it, with no additional check, see for yourself:&lt;br&gt;&lt;br&gt;&lt;img src='http://www.projectraven.com/xavier/images/aiProblem1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;The nodes where getting linked through the barrier, they are visible, but the barrier cannot be crossed, DAMN! Fortunately, I thought of an easy solution to my problem. I added a field to the aiWayPoints to control the maxium linking distance, if the distance is greater than that, then nodes won't get linked. So, in places where the nodes might end connecting to something you don't want, you put the nodes that you do want connected closer and set a value for the max distance, works perfectly, and I'm each time more convinced that it was the correct thing to do.&lt;br&gt;&lt;br&gt;&lt;img src='http://www.projectraven.com/xavier/images/aiFixed1.jpg'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;So after merely 3 days of coding (one dedicated to more ai thinking code, like shooting), I have a &amp;quot;functional&amp;quot; AI system. I say functional because it's not perfect of course, it's barebones at the moment, but it makes a great challenge to fight against the bots, they might even come from another way that you didn't even expect them to and get you from behind, so be ware! run like hell!&lt;br&gt;&lt;br&gt;There are still some things I have in my head to do today, like adding a tick (something like the AIManager in the tge demo) to calculate the path if we couldn't find a path the last time (maybe the player got into a weird place where there were no nodes!). Another thing I want to add is an action field for the nodes, so that if the ai gets to a field with an action field, it could do something, like for example, jump.&lt;br&gt;I'm also thinking about what to do with real multiplayer bots, this was all done in aiPlayer classes, which are not derived from aiConnection nor have a connection. Obviously multiplayer bots would need extra features, like pickup items, get health if hurting, knowing how to manage different kind of weapons, etc. I'm not sure what to do though, maybe I should just duplicate all the pathFinding code for the aiClient class, but it would have to be inside the engine class, since aiClient uses a normal Player object, and I don't want to stick AI stuff in the Player namespace, for obvious reasons. That's really for the future though, I am focusing on the single player aspects of Project Raven, and it's coming along nicely.&lt;br&gt;&lt;br&gt;&lt;b&gt;Project Raven&lt;/b&gt;&lt;br&gt;Not sure if many got a chance to see the IOTD since it was up for less than 24 hours, so I'll just talk about it a little bit. Project Raven:Chronicles is a single player FPS game with some RPG aspects, mainly conversations and action driven storyline. I've already coded most of the single player stuff, including a dynamic conversation system, dynamic mission actions and basic inventory/credits. I say basic because we aren't going to do an rpg deep inventory with slots etc, but you do have credit to buy/sell items and a carrying capacity. I say that both the conversation and mission systems are dynamic because they can modify the game world by just calling scripted methods directly, so the NPCs can react differently if you won the mission they encommended to you or if you failed it, also the methods called for each mission on failure or on success can alterate aspects of the home town mission (Neltec City) by changing conversation scripts, opening new places, moving npcs to different locations, etc. The sky (or the bugs) is the limit. Whenever I get time I have plans to implement a conversation editor so the non-scripters don't have to scratch their heads so match for doing something that should be simple like creating conversation scripts.&lt;br&gt;&lt;br&gt;&lt;b&gt;Life&lt;/b&gt;&lt;br&gt;University sucks, I've started 3 weeks ago the new semester and I already want to go on vacations again, but well, it's what I have to do :/&lt;br&gt;The big problem is that I don't understand much about what we are seeing and I don't dedicate much of my free time to study or make excercises, so each class I'm a bit more confused. Hope I can get better before the exams!&lt;br&gt;&lt;br&gt;That's it, hope this plan doesn't fly from the list like my previous one that I doubt anyone read.&lt;br&gt;&lt;br&gt;Hopefully someone might get some ideas from my pathfinding experience, at least I hope it's useful to someone.&lt;br&gt;&lt;br&gt;Thanks for reading if you did :)&lt;br&gt;-Xavier.</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/7433">
		<dc:format>text/html</dc:format>
		<dc:date>2005-03-25T08:35:59+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Friday Mar 25 8:35</title>
		<link>http://www.garagegames.com/blogs/7194/7433</link>
		<description>Gaming industry future and some personal thoughts.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Super-Ultra-Awesome Computers&lt;/b&gt;&lt;br&gt;&lt;br&gt;So I'm sitting here in my super fast and modern computer, with ultra fast 3d hardware accelerator with built-in vertex and pixel shaders, super fast hard drive and 5.1 sound, playing this awesome game with tons of fun... made in the 80's...&lt;br&gt;In the new technology era we live in it's incredible that many of us still play old games because we consider them unbeatable fun games. We can play any of the new games around that put our super computers to their knees, but we only do so for a couple of months, and when we are bored we go back to playing some oldie game we have sitting around or that we can get from any abandonware site. It's a very cool thing that we can still play those games, sometimes with some trouble, but in the end either by using an emulator or tweaking some configs the games run flawlessly.&lt;br&gt;&lt;br&gt;&lt;b&gt;World-Wide-Fun&lt;/b&gt;&lt;br&gt;&lt;br&gt;Let's face it, Internet has become part of our lives, it's almost impossible to live without Internet today, everyone has Internet access, email, chat clients, etc. Of course, the gaming market couldn't be held behind. Multiplayer games are a blast, everyone wants to play their latest game with other people and show off how good they are, beat your opponent while singing insulting chants to their faces.&lt;br&gt;Multiplayer games have become so popular that many games don't even differentiate, they are just games to play on the Internet, no single playing for you lone heart. Game companies invest millions in building the game and then millions mantaining game servers, building patches, adding features to maintain their gamer community, etc.&lt;br&gt;&lt;br&gt;&lt;b&gt;The true death&lt;/b&gt;&lt;br&gt;&lt;br&gt;Sometimes we become real fans of a certain game or game-genre that we start to love and follow the companies that made them. Some people just know how to make a certain genre fun, and they are worshipped for it. There's always room for another game of the same genre made by the same guys that made the game that hold us in our homes last summer playing it all day.&lt;br&gt;In the past year we have seen many of our favourite companies go under. How sad it is. But we have to face it too, we've built this world. A world where not always good things prevail nor good professionals, but the decisions of the big guys in suit with the fat wallets, so if they say this company is no more, it's so.&lt;br&gt;&lt;br&gt;&lt;b&gt;The mix&lt;/b&gt;&lt;br&gt;&lt;br&gt;Although many of the companies that made those oldies don't exist today, we can still play perfectly those games since we don't need the company to do so. Know, let's picture the future for a while, making the same time comparison we have with today's oldies. Today's latest mad multiplayer game, where will it stand in 5 years? &lt;br&gt;The life of a company today is uncertain, maybe tomorrow the CEO wakes up wanting to paint art instead of making games and closes his game company to follow his dream. But what about the staff of the company? What about their supported products? What about THEIR dreams?&lt;br&gt;At the same time the company closes, so do the servers, and that brand new super fun multiplayer game we were playing goes under with the company since it was a game meant to be played only online, and the game company never released their server code, for &amp;quot;obvious security reasons&amp;quot; (according to their official word). So there we will be, throwing out in the trash can our copy of the game that we can't play anymore, looking for the next multiplayer game to waste our money in, which will probably face the same fate in the end.&lt;br&gt;Of course, the company might not go under, but after the life cycle of the game the servers will probably be closed or put to best use hosting game servers for another title from the same company, so the game dies, exactly like before, which doesn't happen today with our oldies. &lt;br&gt;All this brings me to the conclusion that in the future we might not have oldies anymore. Heck, what will happen if you in 20 years find a CD full of family/vacations pictures that you took with your old 10MP digital camera, just to find out, they don't make CD players anymore, neither does your computer have one (come on, who has a 5 inch diskette drive today? That was mainstream 15 years ago). So this obviously doesn't apply to games only, but to most of the technology that we call innovations today. It seems that technology nowadays is doomed to become obsolete faster, although my main concern and focus of my writing is the gaming world.&lt;br&gt;&lt;br&gt;&lt;b&gt;What am I doing?&lt;/b&gt;&lt;br&gt;&lt;br&gt;After 4 months of vacations I'm finally back, and meaning to get back to doing some serious game coding. During the vacations I've limited myself to play from time to time with Java Mobile. I've spent most of my time with my girlfriend and taking many many photographs (the real ones).&lt;br&gt;Not sure what I'll be doing tomorrow, but today I'm working on a side scrolling beat-em-up game to bring back some of the fun of the oldies to the 3D world screen. I have a big list of ideas planned, and it sounds like a fun game to me, although I'm limiting to technology coding for now. I'm working on the combat and AI aspect of the game currently, which is the key element to get the game done, after that I can work on adding features like ladders, platforms, power-ups, etc, which are all minor issues.&lt;br&gt;I'm currently looking for a good modeler or two, so if you are interested in working on such a title be sure to drop me a line to my temporary email (xamado@gmail.com).&lt;br&gt;&lt;br&gt;&lt;b&gt;Black Blood Studios&lt;/b&gt;&lt;br&gt;&lt;br&gt;Although we are still alive, our domain doesn't exist in the time being, so I've also lost my email account, since I was on vacations when all this happened I couldn't do much. It all happened to be that my partner changed credit cards and forgot to update the hosting payment, so the domain wasn't renewed and it expired. We are in the process of getting it back, but it's still locked by the hosting company, we are talking to them.&lt;br&gt;&lt;br&gt;&lt;b&gt;Torque &amp;amp; GarageGames&lt;/b&gt;&lt;br&gt;&lt;br&gt;I'm amazed how many things happened during these last months in the community, we have Torque 2D, a first release of TGE 1.4, new TSE demos and shader enhanced water and last but not least RTS pack, along with some website improvements. From this .plan, my personal talking space, I would like to congratulate the GG staff and the community for the awesome work and collaboration that made all this possible. It's very exciting to see what the community is today compared to what it was when I first joined and started learning from it. Thanks for your support GarageGames, and keep it up!</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/5743">
		<dc:format>text/html</dc:format>
		<dc:date>2004-05-29T05:08:05+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Saturday May 29 5:08</title>
		<link>http://www.garagegames.com/blogs/7194/5743</link>
		<description>Game Development in a day... WOW, exhausting experience, but highly recommended.&lt;br /&gt;&lt;br /&gt;Yesterday we had or Game In A Day contest. It started at 6AM my time, 10 am lazy brits time, problem was I had gone to bed at 4am, so of course I wasn't awake by 6. So my dev actually started at 10 a.m. The theme was &amp;quot;Force of Nature&amp;quot; but it wasn't mandatory, and at first I wasn't going to use it, but I thought of an idea that would be funny, so I ended doing it. For my game I wanted to got 100% from scratch, so that's what I did, and ended only using SDL components, SDL, SDL_mixer and SDL_image. The only bit of code I reused was Sprite class from a previous 2D game experience, since It took me a while to get it working in a reasonable way and I didn't want to redo that.&lt;br&gt;I think there were 6 people working on games in total, but I'm not sure who finished yet or who didn't, since IRC server went down a couple of hours ago, and no one has rejoined the channel, yet.&lt;br&gt;Overall it was a lot of fun, although I was expecting the competition to be 24 hrs straight, but seems that brits are weak and they had to sleep ya know :)&lt;br&gt;So I did sleep too, although I went to bed at 6 a.m.&lt;br&gt;The first 8~12 hours were the most productive, since in those hours I got the basics for most of the code, then I kept hammering and improving on them.&lt;br&gt;One thing I later regretted not doing was a Resource Manager, despite Tom's recommendation I went ahead without one, and in the end I was cursing how much easier and cleaner some parts of code would be if I had one. But oh well, you can't expect everything be perfect in 24 hours of development.&lt;br&gt;&lt;br&gt;We have to start somewhere:&lt;br&gt;&lt;img src='http://www.blackbloodstudios.com/~xavier/pics/gid/gid1.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;The background was completely tile based, decision I regretted later when I changed the theme from 'tech' to 'outdoors'. &lt;br&gt;&lt;br&gt;Here's a picture taken in the middle of the dirty work: (too big for inline)&lt;br&gt;&lt;a href='http://www.blackbloodstudios.com/~xavier/pics/gid/gid4.png' target=_blank&gt;www.blackbloodstudios.com/~xavier/pics/gid/gid4.png&lt;/a&gt;&lt;br&gt;&lt;br&gt;And a ficture of the final version:&lt;br&gt;&lt;img src='http://www.blackbloodstudios.com/~xavier/pics/gid/gid10.png'  alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;The development cycle was very fun, being all of us in an irc channel, and some spectators too, cursing over stuff that was crashing or werent able to figure out. Making fun of each other and all that IRC stuff.&lt;br&gt;The final version of my game had several classes and features among, point and rect structures (sdl's rect sucks), some math stuff like calculating if a point is inside a rect or drawing a square, basePlayer class with derived Player and Enemy classes, basic AI which walked along the platform and shooted when inside it's LOS, collision detection (this was the worse part), projectiles, animated sprites, an input layer and of course, the level.&lt;br&gt;&lt;br&gt;The idea of the game was that you play the tree and have to kill loggers who are there to cut down trees, but well, being it my own art I ended using megaman for the loggers, and they shoot stones as you too.&lt;br&gt;&lt;br&gt;I would have posted a build, but I develop on Linux, so It's not much use for most people. I will post a windows build later. Now I'm going to have dinner (3AM).&lt;br&gt;&lt;br&gt;I'm very happy with my outcome of this and I'll definetly participate in next ones, and hopefull more people will do so!</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/4797">
		<dc:format>text/html</dc:format>
		<dc:date>2003-11-11T03:08:04+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Tuesday Nov 11 3:08</title>
		<link>http://www.garagegames.com/blogs/7194/4797</link>
		<description>Depression, decision, life. Mostly a resume of what's going on through my head and about me.  Rise of Power end, Trajectory Zone beta, software installer, the Gnome Love.&lt;br /&gt;&lt;br /&gt;Well, first I'll make some points that many people might not know yet. &lt;br&gt;&lt;br&gt;Some people might remember me associated with Rise of Power, well, de-associate that. A couple of months ago we parted ways, we really had some differences that weren't so simple to solve, at least It was a fair part and nothing ended in a kiddie or stupid way like what happened with me before at iNvasionWorks. When leaving Rise Of Power, I didn't leave alone, as also Charles took the decision of leaving with me (where you go I go he said, It felt so good to hear that kind of backup from someone.). We decided to start a small project, and after some discussions and ideas we decided to make a futuristic racing game with powerups and malicious powerups, like lighting bolts and stuff. I also helped ProjectRaven with solving some bugs they needed solved for showcasting a demo; of course, I did this for free, just to help. I also kept working on a network application, based on Torque and using our own GPL tools, intelligently separated by a layer that allows the compliance with the GPL. I started working on this network application a way back already and it's going ok, but I can't disclose any more information.&lt;br&gt;&lt;br&gt;I've been recently working on a Linux software installer, and we shipped the TrajectoryZone Beta2 with it, bye bye ugly Loki Installer.&lt;br&gt;&lt;br&gt;If anyone is interested, I've been tracking my progress in my personal Blog (I think it comes from weB LOG, but I'm not sure) and it's hosted in my own personal server right here: &lt;a href='http://bbsxavier.homelinux.net/~reivax/blog/' target=_blank&gt;bbsxavier.homelinux.net/~reivax/blog/&lt;/a&gt;&lt;br&gt;&lt;br&gt;The following is a copy paste from my last entry in my blog that I think I'll paste here too, just to make the plan complete and not having to link it.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;font size=1&gt;Quote:&lt;br&gt;&lt;hr height=1 noshade&gt;&lt;br&gt;Sean Pollock had his IRC thing IOTD (Image of the day) on GarageGames, unlickily while his IOTD was still not approved I submitted mine, which is *similar*, but it seems the guys at GG *cough* Jeff *cough* decided that my IOTD sucked balls. So what better idea than delay it (Sean's was there for 2 days and some) until something else appears (GreenLight IOTD) so that mine only stays up for a couple of hours. Great, thanks. It's these things that really upset me about all the GarageGames staff and the business world completely. I'm getting tired of game development all together. That would be point number one, of course there's always something else, that wouldn't be enough to make me an upset man, but, there's the team issue. So you go join a nice big team (iNvasionWorks, RiseOfPower), and the problems arise because they don't see development as I do, I get to be the only moron working and get told to make the game without even a design, fair enough, but then there's the bullshit going on between team members and stuff. Ok, fine, let's go make our own, let's do it indie, small team, check, small game idea, check, a month of nice ideas and nice development, check. Now, designer/mapper disappears without trace (I don't even bother to send an email), Lead artist does some concepts then gets married and leaves on a honey moon for 2 weeks and again I'm left like a moron working on the game and getting all depressed and upset.&lt;br&gt;What I always used, loved and cared really about is Open Source, Linux, Gtk, Gnome and the Desktop. That's what I would really want to do, and have been trying to for years, but there's always those rush weeks on game development that make you drop everything else (even school) and then when you get back at it need to start all over again and don't feel like doing it. Well, that keeps happening, I've been doing more investigation on many gnome desktop aspects lately, but again, I feel so damn sorry to say, I'll forget about game development and my 2 year membership on GarageGames as an active member and developer. I also feel damn sorry to stop doing something that many people think I'm good at, since I did receive many good comments about my programming, both in my projects and from people on the IRC channel (which I'm still banned from for being a dick, I admit it, I *AM* a dick).&lt;br&gt;So I get an option, a very wide and decisive one. I can continue working on PowerRace with my company and do some Gnome/Gtk development like I'm doing now, I can join one or two other game development projects that want me to work with them, one is an fps game and another a bike racing game, both sound good ideas, but what I can say, I've been through that crap many times already, though there's always the possibility of a good chance. My last option would be forget about game development, keep developing the network management application I'm working on with Torque and dedicate most time to work on Gtk/Gnome stuff while doing some more Unix networking stuff that we have planned.&lt;br&gt;The question is, what pill should I take? There's no way back I guess. (Oh, that reminds me, I must be the only lonely looser that hasn't seen the 3rd movie yet)&lt;br&gt;&lt;br&gt;Yet more depression comes from the fact that the year is almost over, I have exams, I don't want to take them, I feel tired, lazy... simply fucked up. Also the lonely factor comes into play.. I do have my friends which I really love and appreciate to have them as my friends, else my life would be so empty, but still, there's other types of love, that sometimes are hard to get, specially when you put someone in your mind that you know you can't reach by X,Y or Z reason.&lt;br&gt;&lt;br&gt;I really want the year to be over, go back to my home, visit my parents, my family, my friends back there. Just be able to sit down in the beach without having to think about a damn formula or stupid programming language at all, without having all the daily damned routine that living in a big city has. And also being able to drive, which really helps me to free my mind, drive, drive far far away, listening to just music and the sound of the wheels turning... the wind in your face... ahh, lovely.&lt;br&gt;&lt;br&gt;Right, and getting back to planet earth, today, Tuesday 00:00am, I have an exam today, in about 12 hours, It's raining, there's a nice lighting storm that will fry my cpu any minute, and If I'm lucky it will be after hitting the post button here.&lt;br&gt;&lt;br&gt;I would like also, to say I'm very sorry for the departure of a fellow Gnome developer (I saw fellow, but I never met him, but that's what OpenSource communities make you feel, brotherhood), Chema Celorio, who passed away after having a skydiving accident in Mexico. He was working at Ximian and all the blog entries I read today about his death just made me feel so down that I thought I would mention it, even when I don't know him.&lt;br&gt;Nat's words, excellent and very touching words, about Chema, here&lt;br&gt;&lt;br&gt;Besides all these indecision on what to do, I'm pretty sure I'll still be supporting Trajectory Zone whit it's Linux builds and developing the so called GGInstaller, a GTK application for installing software on Linux computers using a nice gui. Another thing I for sure won't abandon is my fellow buddy, Paul, on developing our network application. I will also not abandon Black Blood Studios, founded by Kyle and I.&lt;br&gt;&lt;br&gt;Kudos to all my friends, real and virtual ones, and to everyone that puts with my dickness everyday, Love ya all... and I should ready get back to studying.&lt;br&gt;&lt;br&gt;Peace.&lt;br&gt;&lt;hr height=1 noshade&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;If you *really* reached down here reading, I can say I'm Impressed and I would like to thank you a lot, If you reached here skipping some paragraphs, well, I can perfectly understand that as this is the most boring piece of text I've ever written ;)&lt;br&gt;Sorry for the long .plan, but I hardly ever post one, the last one was from January! And I still had a gf :)</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/3763">
		<dc:format>text/html</dc:format>
		<dc:date>2003-01-15T15:30:20+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Wednesday Jan 15 15:30</title>
		<link>http://www.garagegames.com/blogs/7194/3763</link>
		<description>New Team, new Game, new Friends... a better experience! New code submittions and my short vacations. Also my plans for the future of my game and torque. Read if you like :)&lt;br /&gt;&lt;br /&gt;It's been a long time since I last wrote a .plan file... I'm on a new team now, working on a teamplay futuristic game, it's a very fun game to make, and I'm lots more motivated than with my previous WW2 project at iNvasionWorks that was going no-where. I stopped working on their game and start working on this new one one month before leaving :)&lt;br&gt;Guess I should have said so... anyway, we are in the search for artists for our new game, we've got a couple but it's always good to have more. So if you can do textures, 2d art or 3d models, toss me an email and some sample work would come in handy.&lt;br&gt;The project is very well kept coding wise. Basically me and Kyle Watson are taking care of it, thought for the moment i'm doing most of the code. Lots of things were coded in the game, ctf gameplay is done and gameplay template system is very well organized, so it's easy to add new game types. I've fixed lots of TGE bugs that I have to submit some day... like skinning problems in various controls, added a dgl bitmap wrapping function which tge lacked of, skinned some of the controls (not using the resource here on GG, own code), also coded a beam for the beamed weapons, need to do some bug fixes but it works!, also im working on a beam emitter that will be used to place lasers on the maps and stuff like that... and lots more features... it's been a coding frenzy month :)&lt;br&gt;Wait till you see some pictures soon :)&lt;br&gt;&lt;br&gt;I just submitted a little fix for those of you who noticed how torque crashes when an interior is missing a texture... it's like a quick fix until I can find a full better solution that would replace those textures with white ones instead of quitting the game, but it at least prints which textures are missing so you can easily find which one is the problem :)&lt;br&gt;I've also submitted some time ago code for having LAN/Master queries separately, so you now can query LAN games without having to be connected to the internet.&lt;br&gt;&lt;br&gt;Ok, to end this plan... tomorrow at 5 a.m. I'll be leaving for a week of vacations at a nice beach with some friends. After I get back, I'll be the last week before my gf goes to university, out of this city, and after that I'll have 2 weeks - a month to work exclusively on my project (without gf in the way :P ) and then I'm leaving for university too... same city than her. My university classes start the 24th of March... so I'll be moving there the first days of March I guess. You'll have more news from me before I leave though... (for the ones that know me from IRC specially :) )&lt;br&gt;&lt;br&gt;Ok, if you read up to here thanks a lot for doing so, I know plans can be boring, but expect some cool game screenies as soon as we've got some better models and textures for it. And of course I'll submit lots more of bugfixes when I get the time now and then. I'm gonna work on a download indicator for downloading textures soon... thought I don't think that will be before Vacations... I really doubt it :)&lt;br&gt;&lt;br&gt;Btw, if you are an artist and want to work for us, since I'll be away this next week email my friend Kyle, kyle@blackbloodstudios.com&lt;br&gt;He'll be more than happy to take care of the team while I'm gone :)&lt;br&gt;&lt;br&gt;Adios!</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/2708">
		<dc:format>text/html</dc:format>
		<dc:date>2002-05-14T22:07:48+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Tuesday May 14 22:07</title>
		<link>http://www.garagegames.com/blogs/7194/2708</link>
		<description>Maybe you haven't heard of me for a while, or maybe you dont even care about me, in that case dont read anymore :)&lt;br&gt;&lt;br&gt;Well i've been kinda busy with my two projects, one of them is a torque game and the other one is called Real Life. &lt;br&gt;&lt;br&gt;I felt i wanted to contribute something else to the community so i made a bit an effort and built together a new tutorial or code snippet for you guys... Bullet Holes!&lt;br&gt;Check it out:&lt;br&gt;&lt;b&gt;&lt;a href='http://www.garagegames.com/index.php?sec=mg&amp;amp;mod=resource&amp;amp;page=view&amp;amp;qid=2707'&gt;www.garagegames.com/index.php?sec=mg&amp;amp;mod=resource&amp;amp;page=view&amp;amp;qid=2707&lt;/a&gt;&lt;/b&gt;&lt;br&gt;If there are any problems please dont get mad since i havent had time to test it.. i wrote it by looking at my own code.&lt;br&gt;&lt;br&gt;I will also try to finish some code i've been hacking around for loading different game types depending on a variable set in the mission file, it works using packages, it's very nice. So you can define a DM and a CTF package and change certain functions depending on the game mode specified by the mission file.&lt;br&gt;&lt;br&gt;I've also been playing with the player code, added walk/run support (since my game is realistic, running makes your stamina drop) and been also looking into adding some 'modifiers' for the player speed, for example the weight, so the final speed will depend on the weight you are carrying .. for this im planning to add a weight element to every item (weapons, ammoclips, etc) and add them together. I still have to see tho, i barely started on this.&lt;br&gt;&lt;br&gt;I have tried to export a simple character model with envmapping on it but i couldnt get it to work :(&lt;br&gt;I have set emap = true; in the player.cs also i have showEnvironmentMaps set to 1, but it wont work. Not that important i guess.&lt;br&gt;Well that maybe sums a bit my last two past months of life, i'll try to finish this things and get them to the community.&lt;br&gt;&lt;br&gt;Oh, also i've been playing with Melv's fxLight... damn, he kicks ass :)&lt;br&gt;Tho Torque has a little bug calculating the lights, it seems that they go through dif objects.. so if u have a light a dif building and a shape behind the building, both the building and the shape get lit up.. also the y dont affect the player's shadow :\&lt;br&gt;&lt;br&gt;&lt;b&gt;Have a nice day!&lt;/b&gt;</description>
	</item>
	<item rdf:about="http://www.garagegames.com/blogs/7194/1927">
		<dc:format>text/html</dc:format>
		<dc:date>2001-12-31T22:01:46+00:00</dc:date>
		<dc:creator>Xavier &amp;quot;eXoDuS&amp;quot; Amado</dc:creator>
		<title>Monday Dec 31 22:01</title>
		<link>http://www.garagegames.com/blogs/7194/1927</link>
		<description>New tutorial idea, and need members for my game&lt;br /&gt;&lt;br /&gt;Well, this is the first time i feal like filling up a .plan :)&lt;br&gt;I'm basically here to ask if anyone is interested in having a Character selection code w/ gui that would allow you to choose a Race, Armor and Gender. You could also extend it to choose other types. It basically uses different datablocks for each player type and chooses them depending on the client selection. Maybe it doesnt work quite effectively (especially the client side part) but it works and may be nice to some games, if some of you want it i can make up a tutorial, but i aint feeling like doing it for nothing .. =P&lt;br&gt;Well let me know if you need this, and ill put up a tutorial.&lt;br&gt;Btw, im also looking people to make up a game, its called The Project, under development by us (Black Blood Studios) and we need all kind of help, modellers, artists mainly, and also a writer, we need to make our game story more solid. The game will be an FPS/RPG game, maybe like deus ex or system shock... that kind of stuff. &lt;br&gt;Well if anyone is interested throw me an email :)&lt;br&gt;Thanks for reading, and happy new year.</description>
	</item>
</rdf:RDF>
