Tuesday, May 24, 2011

Project Red Rex Progress Update 0102

Although there have been a lack of updates this month, I've still been working on Project Red Rex just as much as I have in the past if not more. Since there haven't been any postings for the past month, there's quite a bit for me to talk about, so I'll just start with what I did in order of what I did first.

Over the past month or so I've created a basic Damage System editor that allows me to make my own damage tables. I'll proved you with a quick example.

Damage Type ADamage Type BDamage Type C
Armor Type A75%105%120%
Armor Type B115%55%130%
Armor Type C80%155%65%

What's the purpose of this sort of thing? Well, all weapons in this sort of game will deal X amount of damage, I'm not sure if I want to include a bit of randomness to it or not just yet, but for now we'll just say each weapon has a set amount of damage, and of a specific type. Basically, all damage from any type of weapon deals damage of any type of damage available on this damage table, then upon receiving damage, all objects that can suffer damage have a specific type of armor based off this table. So say I use a weapon that deals 30 damage of Damage Type C to something with an armor type of Armor Type A and an armor rating of 11. This is a basic damage/armor system, I don't want it to be too complicated and basically all objects that can suffer damage have an armor rating. So to continue with that example using the game's simple formula:

Total Damage = (BaseDamage x DamageMultiplier) - ArmorRating

25 = (30 x 120%) - 11

The reason I want it to be this simple is because balancing between the various weapons I want to put in will be easier for me to handle. So as I mentioned all things follow this basic formula, players/bots (if they're in), vehicles, and I think that's it as far as things that suffer damage, not sure if there will be anything else. So right now this damage system is in, it currently does nothing since I've yet to include anything capable of damaging, aside from the player.

Now onto more stuff... I don't think I mentioned anything about sound effects in my previous posts, but I've added sound effects, at least for the 3 guns I currently have in which are basically just 3 generic types, Handgun, Assault Rifle, and Sub Machine Gun. So what I did was I created a basic audio manager/player that allows the game to load a sound file and play it whenever I choose to without having to reload it multiple times if it's used more than once. The sound effect file it plays is something that's derived from the weapon's data file which I've been utilizing for all things relating to these weapons as that's how I plan on making these weapons, from a template.

As mentioned in the previous post, when the weapons fire the bullets spread a bit due to recoil and other factors that would affect a guns accuracy. The problem I had with the previous version was that I basically used some arbitrary number to determine the direction was fired on, of course with some moderation it wasn't completely random. I fixed that by using some actual trigonometry to rotate the direction the bullet travels based on a random number which is the degree of rotation, or a max amount of rotation in either direction, left or right of the barrel. That having been said, I also used this to create a better system based off an old shotgun bullet count system I had from a previous project. What this means is I can create shotguns with ease, in the data file I just have to say I want this gun to fire 6 shots at once and it'll randomly spread them out based off that bullet spread to give a shotgun effect.

Let's see... what else? Right so I utilized a couple editors I created from my RTS (Real-Time Strategy) game project I was working on in the past. I used a Tileset generator which loads an image that you browse for from your computer, input a few things like width and height of tiles, and number of tiles in the x and y direction, though I probably don't need the inputs for the x and y direction counts. It's a basic program that does the job just fine, though I'll have to "re-create" it to work better for a few updates I've made for the tileset system I've got in Project Red Rex. Another editor I'm utilizing is something to go with that Tileset Generator, a Tile Map editor. Basically you load a tileset created with the Tileset Generator then create a layer or two, or any amount really, and start placing within the viewport where you want to place a tile. Essentially it's a basic map editor. Right now all you can only place a tile one by one, as in left click to place there's no left click and drag to create a rectangle of where you want tiles drawn, or a paint bucket filling feature, I'll probably work on that later when I work more on actual maps, but there is an erase button which is just like the click to draw function except the opposite.

Screen Shot of Tile Map Editor


So... with these two new editors to be added to the collection of content editing tools I've got it so the game loads a map along with the tileset it utilizes, which can easily be swapped for a different tileset, of course it could have some weird effects on the map since not all tilesets will look alike. So to go along with this map loading in game, I included an actual scrolling camera that scrolls with the player, though it currently isn't set up to "follow" the player just yet, maybe it will be by the next time I post on here.

So as of this most recent update I've probably worked on this game more so than I have in the past and over the past week I've probably worked on it like 3 or 4 different days, which is definitely good. I've been finding myself more motivated lately to work on this game. I worked on this game last night, and then when I went to bed, I wanted to continue working on it today and so I did. In the past I would just randomly find motivation to work on it. But recently I've gotten more motivation which is great. Maybe that was the problem with my RTS game I tried making a year and half ago, I spent many hours over basically a weekend and over that following week working on it. I spent too much time on it right away that I got tired or bored of working on it and so I stopped. Maybe. I suppose I should continue with this approach with my future projects, start off slow so I don't get tired of working on it early on or anything like that.

~ RogueTemplar (a.k.a Icedmetal57)

No comments:

Post a Comment