Community Resources for First Person Shooters
by Britton LaRoche · 01/19/2009 (6:45 pm) · 8 comments
This post is a follow up to the previous
FPS resource list post
My new "zen coding" philosophy is to break everything down into clearly defined "simple" bite size tasks. Each task has a small well defined point of completion. Even if I don't complete all the tasks, just completing one task will benefit myself and others. The 1,000 mile game development journey begins and ends with a single small well defined step. The philosophy is simple. You may not think you can complete such a huge journey, but you can always take the next step. This continuing blog is part of the process. It documents the completion of each step along the way, for the benefit of the community here at Garage Games.
I'm upgrading the Burger Wars code base from TGE 1.3 to TGEA 1.8.0. Naturally there are a few things that have changed along the way. Its important to go back to the original resources when doing the upgrade so I can test each feature as its implemented. My hope is to pull more team members back in the loop as I get closer to completion. The biggest task for me is getting TGEA 1.8.0 back to where we left off with the TGE 1.3 code base.
I'm a firm believer that you get back what you give away. Contributing to the community always helps my own game development. I intend to release a patch of the basic features so anyone else can apply the following things to their game. My sincere hope is that this gets rolled into the starter fps stonghold demo by Garage Games. I think all these resources will be a big help to any independent gamer who wishes to make a first person shooter. If this happens, it will also help me upgrade to T3D as my work will already be waiting in the code base. (See how you get back what you give away?)
The FPS resource list of things to roll into this patch includes the following:
1. Mission Area Force Fields (Done)
2. Team implementation (Done)
3. Team hud that shows enemy names in Red (Done)
4. Weapon Inventory
5. Capture the flag game type implementation.
6. Working A.I.
7. Character / Team selection
Having 3 of the 7 accomplished so far is not bad. I'm doing the minimum set of modifications (not adding artwork) so the patch should be a clean implementation of art assets already available in the strong hold demo.
Notice the team selection messages in the upper left chat hud, and that Kork's name is displayed in Red (enemy team)
I finished step 3 Torque team Id last week. Drawing the enemy names in red resulted in my first painless brush with the GFX code base. I simply passed in a new color variable to the GuiShapeNameHud drawname function, and then passed that on to the GFX SetBitmapModulation function.
I'm updating the original resources as I go. The goal is to Leave a trail of bread crumbs for others to follow. Should I fail to produce a viable patch, each resource will be updated with what needed to be done to get it working. Everything I did to get Torque team Id working with TGEA 1.8.0 is documented at the end of the resource.
Here is the complete resource list I'm working on --- (click link to follow) --> FPS resource list. These are some of the "absolute must have" resources I think any FPS game should take advantage of. I strongly recommend bookmarking this link for anyone currently working on an FPS game.
FPS resource list post
My new "zen coding" philosophy is to break everything down into clearly defined "simple" bite size tasks. Each task has a small well defined point of completion. Even if I don't complete all the tasks, just completing one task will benefit myself and others. The 1,000 mile game development journey begins and ends with a single small well defined step. The philosophy is simple. You may not think you can complete such a huge journey, but you can always take the next step. This continuing blog is part of the process. It documents the completion of each step along the way, for the benefit of the community here at Garage Games.
I'm upgrading the Burger Wars code base from TGE 1.3 to TGEA 1.8.0. Naturally there are a few things that have changed along the way. Its important to go back to the original resources when doing the upgrade so I can test each feature as its implemented. My hope is to pull more team members back in the loop as I get closer to completion. The biggest task for me is getting TGEA 1.8.0 back to where we left off with the TGE 1.3 code base.
I'm a firm believer that you get back what you give away. Contributing to the community always helps my own game development. I intend to release a patch of the basic features so anyone else can apply the following things to their game. My sincere hope is that this gets rolled into the starter fps stonghold demo by Garage Games. I think all these resources will be a big help to any independent gamer who wishes to make a first person shooter. If this happens, it will also help me upgrade to T3D as my work will already be waiting in the code base. (See how you get back what you give away?)
The FPS resource list of things to roll into this patch includes the following:
1. Mission Area Force Fields (Done)
2. Team implementation (Done)
3. Team hud that shows enemy names in Red (Done)
4. Weapon Inventory
5. Capture the flag game type implementation.
6. Working A.I.
7. Character / Team selection
Having 3 of the 7 accomplished so far is not bad. I'm doing the minimum set of modifications (not adding artwork) so the patch should be a clean implementation of art assets already available in the strong hold demo.
Notice the team selection messages in the upper left chat hud, and that Kork's name is displayed in Red (enemy team)I finished step 3 Torque team Id last week. Drawing the enemy names in red resulted in my first painless brush with the GFX code base. I simply passed in a new color variable to the GuiShapeNameHud drawname function, and then passed that on to the GFX SetBitmapModulation function.
void GuiShapeNameHud::drawName(Point2I offset, const char *name, F32 opacity, ColorF color)
{
// Center the name
offset.x -= mProfile->mFont->getStrWidth((const UTF8 *)name) / 2;
offset.y -= mProfile->mFont->getHeight();
// Deal with opacity and draw.
mTextColor.alpha = opacity;
GFX->getDrawUtil()->setBitmapModulation(color);
GFX->getDrawUtil()->drawText(mProfile->mFont, offset, name);
GFX->getDrawUtil()->clearBitmapModulation();
}I'm updating the original resources as I go. The goal is to Leave a trail of bread crumbs for others to follow. Should I fail to produce a viable patch, each resource will be updated with what needed to be done to get it working. Everything I did to get Torque team Id working with TGEA 1.8.0 is documented at the end of the resource.
Here is the complete resource list I'm working on --- (click link to follow) --> FPS resource list. These are some of the "absolute must have" resources I think any FPS game should take advantage of. I strongly recommend bookmarking this link for anyone currently working on an FPS game.
#2
01/19/2009 (7:31 pm)
@adib, we just can't let it die!
#3
01/19/2009 (7:55 pm)
Great work Britton, keep it going!
#4
If all of us could only contribute "gems" like this (forgive me plastic games but I saw the perfect opportunity to implement your term, it was just fitting)then perhaps we'll all get closer to making our dream games.
Someday I hope to help contribute a lot more info that others can use, as of late I've been trying to blog my progress in 3D modeling with Blender 3D (free 3D modeling program that works good for creating .dts for TGEA). I've not blogged recently do to realizing I needed to research modeling topology more. My concerns with topology have come from getting deforms that I felt where sub par in the should regions of my model. Though I feel I do have some decent tips in my blogs for totally new 3D artists.
Anyways point being the more we all share the more we all gain and for free ;).
01/19/2009 (9:45 pm)
Awesome stuff man. If all of us could only contribute "gems" like this (forgive me plastic games but I saw the perfect opportunity to implement your term, it was just fitting)then perhaps we'll all get closer to making our dream games.
Someday I hope to help contribute a lot more info that others can use, as of late I've been trying to blog my progress in 3D modeling with Blender 3D (free 3D modeling program that works good for creating .dts for TGEA). I've not blogged recently do to realizing I needed to research modeling topology more. My concerns with topology have come from getting deforms that I felt where sub par in the should regions of my model. Though I feel I do have some decent tips in my blogs for totally new 3D artists.
Anyways point being the more we all share the more we all gain and for free ;).
#5
I'll forwarn you of somethng you most likely already know. Coding the engine changes are going to be your biggest challenges. The way tgea works is completely different than the way tge works. You'll find some things that should be really simple that give you the biggest headaches. I'm convident you can do it tho, and you know where the community is if you run into something that is just a "tad bit" too challenging. :-)
I'm going to watch this.
01/20/2009 (3:49 am)
Wow, this sounds like a great project. I wish you much luck and success.I'll forwarn you of somethng you most likely already know. Coding the engine changes are going to be your biggest challenges. The way tgea works is completely different than the way tge works. You'll find some things that should be really simple that give you the biggest headaches. I'm convident you can do it tho, and you know where the community is if you run into something that is just a "tad bit" too challenging. :-)
I'm going to watch this.
#6
01/20/2009 (8:04 am)
Quote:break everything down into clearly defined "simple" bite size tasks.Words of wisdom indeed.
#7
01/20/2009 (8:14 am)
Hey Britt maybe you should check out Yuri's latest blog maybe it'd help? http://www.garagegames.com/community/blogs/view/16093
#8
@mike... yes you are correct, the engine code is fare more difficult to port from one version to the next. Ecpecially from TGE 1.5.x to TGEA. The scipts don't seem to change much, if at all from one version to the next.
01/20/2009 (10:33 pm)
@scott, actually looking into that. The whole idea of patch that you can apply between versions is very appealing. I don't know how feasible it is because things do change dramatically between TGE and TGEA for example. @mike... yes you are correct, the engine code is fare more difficult to port from one version to the next. Ecpecially from TGE 1.5.x to TGEA. The scipts don't seem to change much, if at all from one version to the next.

Torque Owner Adib Murad
Please, keep us posted. Hope you have a working TGEA 1.8 demo soon.