August 30, 2012

Tools of the Trade - Training

One of the most important things as a developer is education. While it certainly helps to be well rounded and intelligent with life experience, it's specifically important to be well educated about your tools. You work with the same set of tools every time which makes it important to understand what they're for, how they can be used, and how they work in general. While there's plenty of info to find on the net most of it is specific to a given task with only minor detail or insight and it's teaching you a trick sure but it's not teaching you the underlying information you really need. To clarify there's plenty of information, but a lack of high quality information.

After you become familiar with your common or base tools it's time to learn them inside and out, not only to speed up workflow but also to learn new ways to use them. While you might use a given tool for the same thing every time it can always be used in more than one way and often can be combined with other tools for new results. For example you might use mirroring to work on symmetry but it can also be used to cut your initial workflow in half to begin with. Though that's a weak example the idea is present.

Moving onward my primary suggestion to anyone in modeling, animating, or for that matter anyone using 3d max at all would be the "max bible". The go to guide for understanding every tool and getting ideas on how to use it. I also suggest learning about max script to create macro's for operations you repeat often to save time. If you're more visually oriented I can also suggest youtube tutorials which are a dime a dozen but trapt cg tends to make worth while vids. There's also a site called cg society which quite honestly is an amazing site where even a few short days of paying attention to the forums can teach you quite a bit. The cg society is where industry professionals really strut their stuff and talk a bit about what they know or how they got where they are.

If you're interested in more about textures I can recommend the Luke Ahearn "Create Professional Game Art with Photoshop" book though it may be prone to outdating soon as it was made in 06 and already some of the information is becoming outdated. The core concepts presented however are always relevant.

Another great source of info is always 3dbuzz which has tons of free tutorials and information, they also are reliable for new information on a regular basis. In particular I recommend a look at their UDK particle tutorials.

The same ideas above are relevant for any program you're using. Find the official know it all book for the version you're using, find a few good tutorial sites or series, and study them hard. Ideally if you can find a community of professionals and learn from them then you should do that as well.  In a developers case it's also important to find sites with program extensions, plugins, or other add ons for programs you use regularly. For photoshop it would be worth the google search to find a site that regularly updates high quality brushes and a few tutorials on making your own. In the mean time I can suggest deviant art for finding a wide selection with a familiar or at least intuitive interface that gets updated with some regularity and certainly has an existing catalog to choose from.

August 16, 2012

More about upgrades

In a previous post I discussed how any given weapon could maintain up to 12 attachments, these attachments are not considered really to be upgrades even if they do modify the gun in some way such as increased velocity or what would otherwise be considered an upgrade. To recap attachments there's scopes, foregrips, launchers, clip types, ammunition including magnesium tracers which you can set to feed at a variable rate such as 1 in every 3 rounds, or one half way through the clip etc. There's also attachments for increased cooling of the weapons that generate heat like machine guns or any assault rifles that happen to use various kinds of rounds that generate heat. There's stocks, muzzle attachments, laser sights, flashlights, handles and triggers, paint jobs, etc. Upgrades are the internals, the tech etc, while there's a few fancy models set up because you don't see the internals in game they're not actually there instead once applied they just modify stats relating to the gun.

Some of the upgrades include better heat management, barrel replacement for increased velocity which can also be done with barrel extensions. There's various springs, rods, feeders, etc all to change any given stat of the gun with multiple upgrades. In later stages these include adding computer aided aiming systems, thermal maps, bullet tags to trace an enemy's location if they survived your attack but got hit, various other systems that would normally be an accessory taking up a valuable accessory slot are now being attached to your gun. These upgrades must be in place first before they can be used as attachments and then they can also be upgraded beyond that. You can also put research in to finding better ammo such as upgrading to use uranium rounds or a higher velocity shape to existing rounds which may also effect accuracy. Even light weight materials to decrease weapon weight so the player can run faster and draw the weapon faster. In the late stages with higher tech weapons upgrades become key to reducing cooldown, recharge, and refire times so that a weapon can be used effectively.

Each gun and gun type have their respective skills sets in addition so that the more you use a specific gun the better you become with it. While your standard reload time for all guns might be nice and fast you can improve it further with a specific gun skill earned by reloading the gun a given number of times. Same goes for handling kick by firing, switching to and from the weapon, aiming down the sights, and various other aspects. These skills are learned by doing unlike upgrades which are purchased over time with resources and time spent for research or attachments which are bought one at a time.

Projectiles

A lot of the Sci-Fi FPS game is dependent on velocity for calculating damage. The requirements to increase velocity by even a little bit increase on a scale making them absurdly expensive beyond a certain point thus somewhat limiting their potential unless you put extreme resources into it. This is basically a matter of diminishing returns, though not exponential it is progressively increasing. For example the 2nd upgrade might cost as much as the first, then by the time the 10th upgrade comes along it might cost 16x more than the 9th upgrade which was 10x more expensive than the first upgrade. These aren't even close to the actual numbers but I believe convey the concept.

The later on weapons while still calculating velocity damage generally work along the lines of instant hit weapons with perhaps a line trace for trails or the light beam w/e. Their primary tool for keeping them balanced is cooldown times and recharge times making it important to pick your shots carefully.

I'll discuss the entire upgrade system for weapon types in my next post.

I also finished a new weapon, an intelligent proximity mine that directs damage toward an enemy instead of an even spread, unlike a claymore with a fixed position this is like a claymore that follows its target even if it comes up behind it.

There's a paintball mode which I've also just added for kicks. I'll probably make it an unlockable and set for unranked games which allow mods.

August 04, 2012

Elevator Pitch

I'd questioned in the past some of my methods and strategies given that they seemed ineffective though I also realized they were likely going to fail regardless of effectiveness. This was one concept that stood out though as strangely important even though I'd known about it before I hadn't given it the proper credit it deserves. The "elevator pitch" which is how to quickly and accurately convey an idea in the shortest possible amount of time. Now that I'm looking at saving my big title for when I'm more established with a strong background and better talent and throwing out something else I decided now was the best time to consider this. Admittedly I'm reluctant to push my title given that it's nearly complete however I believe it's in the best interest of everyone if my goal is to get it in the hands of many and share the joy and pleasure. I believe that in a year or two I can revisit it with new skills, abilities, methodologies, and tools to make it everything I'd hoped it could be. This simply can't be done the way I'd like it to be with the resources I have now.

Moving forward I'd looked in my little encrypted file of concepts for more mini games that I can make myself quickly and a larger title I could flesh out with ease in a respectively short time frame. What I came up with was a game that would be light hearted and comedic while being entertainingly bloodly and violent while expressing innovative concepts that I'm known for. Though I doubt they'll revolutionize they will get attention which is what I need to get the resources necessary for future games of growing complexity.

So to the point my elevator pitch for the next game was actually how I first came up with it, in a taco bell, at 1am with about 30 people in the middle of nowhere. We were all traveling together and someone said something about you can't come up with a game concept that's any good in a few minutes and I accepted the challenge.

The ferryman of the underworld (cairn) in order to usurp the ruler of the underworld (devil/hades?) hires cyborg ninjas to kill you so he can infuse you with demonic powers to harvest the souls of alien angels invading from another universe in exchange for giving you the power for your revenge.

I then proceeded to rapidly flesh out key concepts of mechanics and gameplay, first and foremost of which was that since you're already dead and half a demon you can't be killed again thus no health or healthbar. Instead the game functions on sanity which isn't effected by bodily damage. They idea being that your mind simply can not handle what you're doing or how you're doing it and thus you slowly go insane by using your demonic powers and your objective is to complete your revenge before going completely insane which inevitably leads you back to cairn since he hired the ninjas in the first place. The game strikes balance between using your magic and relying on traditional weapons. As you use your powers your demonic infection spreads and starts creating blood pearls which amplify your abilities also making you go insane quicker thus you can harvest them and use them to infuse your weapons or use them as currency. Weapons infused with blood pearls/crystals when used against an enemy cause them to crystallize and shatter into weaker blood crystals which can be used similar to blood pearls only to less effect. These crystals can also be used in minor ways to focus specifically on a skill or ability. That is to say a blood pearl evenly amplifies all skills and abilities where as if it's targeted it can greatly increase one ability. With proper alignment and training you can slow the rate of your insanity in general or from the use of a specific spell or ability allowing you to use them more often or to greater effect without any additional consequences. For example casting many spells rapidly can spike your insanity where as over time they're less but you can be trained to do them without causing a spike as though they were done over time and in this way they may also be amplified to do much more damage. Training in basic levels carries through higher levels to great effect making it important to focus on core skills.

I actually have this far more specifically drawn out and I can see that it's hard to explain without completely revealing it in specific detail but I will say that I believe most gamers would appreciate the concepts once they get their hands on it. Right now I'm finishing up an early prototype of the magic menu and investments tree to see how well balanced everything is. As for mini games while I have the ideas I haven't laid any groundwork  yet as I'm still back working on the first game, while it's probably ready to go I just feel that there's more to add and a little tweaking to be done but I am shopping around all the same for distribution methods. So I'd be interested in hearing how you'd like to get the mini game and what price you'd want to pay. I know you all want it free on a torrent or something and it'll probably happen but keep in mind my future is based on what I make from these first games if you want to see more games you'll have to make an investment in them.

If it wasn't obvious already, this is where I've been spending most of my time in the silent month of june / july. I still am working on both other titles but I needed a prototype of this to copyright it properly so that's what I did.  I'm not entirely sure if I want to shift any real focus on it though as I stated above I am basically finished with both games and would rather push them, but the larger title could ever so easily be greatly expanded and revised to be so much better, specifically in the storyline simply because I'm still looking for a good script writer. The one volunteer I've had wasn't substantially better than me it was more of a lateral movement to a different type of writing I guess but around the same level of quality.

Just one last re-iteration on the importance of a 60 second or less pitch, I had chance at funding twice so far and missed out both times because I didn't have a simple elegant way of explaining the game in a way that commanded more time and attention. If I'd been able to just say something like it's a sci-fi fps zombie game with a focus on destructible environments and laser guns I might have at least been able to get a few more minutes to explain the key concepts more. While that's a vaguely accurate explanation of my game I suppose it's not quite the flourish you'd want to use because it comes out sounding generic, I'd want to delve more in on the story and characters in a way that might relate to who I'm pitching to. A scientist in an experiment gone wrong flinging him into an alternate apocalyptic dimension where he must gain allies and fight his way against a corrupt corporation to find his way home. Still not quite polished but it sounds better yes? actually that would probably be the pitch for half life, but you get the idea.

Thanks for reading the enormous pile of text. I promise a picture in the next post. and less text.

July 31, 2012

Top Down Shooter Update July

So to recap minor or less official updates I've removed the wheel scrolling spell concentration in favor of pre-defined sets and more upgrades. I've added stat tracking and a final level or end game. I've been doing a lot of balancing. There have been some graphical overhauls I'm now around 3 or 4 times better graphics from where they were without any increases in processing power or memory needed which I was hoping to reduce but I'll settle for breaking even. It's still not amazing graphics because I am trying to do massive mobs. I think you'll enjoy it though it's not bad looking.

Finally I've started working on the dungeon crawler part of it I'd thought about and played with for so long. I've started adding loot drops and random extensions on various levels. I've added an inventory system and a merchant you visit between levels. The same crystals you use for upgrades will be used as a form of currency. You'll have to buy and upgrade staffs for some spells to be unlocked like upgrading the fire spell to the lava spell. Staffs will be of certain types which determine some of the summoning spells you'll be able to use as you may need an earth type to summon Titan for example not that I have such a summon yet but I may in the future. I'll be working on adding more items and grades to keep things balanced. This next week or two I'll primarily be working on the upgrade system for equipment. It's likely you'll be using more of the crystals though I'm not sure yet if I want it available in the upgrade menu or at the merchant or both. I'm also not sure if I should put a cap on the upgrades to equipment considering I don't have caps on the other upgrades, it's a simple algorithm based simply on how many crystals are allocated.

Speaking of which the auto-allocation system got a  minor update adding a little more control. I also updated the mana system a little due to some issues caused by charging a spell in which it would stop generating mana. The concept for the charge spell is while it drains the existing mana first then relies on incoming mana it eventually hits a peak and stops drawing it's capped and the mana would start to fill the bar again. What would happen is the charge spell was still looping the drain mana as long as it was held even after it reached its cap. This was a minor problem because I do have a line of code to drain a small amount of mana to sustain the spell I just didn't set it up to transfer the remaining mana to the bar it was just getting dumped. All good now.

I also made the mana bomb non-automatic to avoid some cheating. Now it will auto fill over time and you'll have to manually release it. I also added a cool down on it to avoid spamming it through another cheat.

I also had a draft for a different update that I never posted so I'll include the details of that below.

The right click spell system is completely redone. For starters it now when clicked rapidly throws a small bomb type spell and if you hold it it now directs energy into a ball where it's being aimed and the explosion ring identifying how big the blast will be grows steadily. I removed the previous system for scrolling the mouse wheel to make lines and cones for your currently selected spell etc. The local  wave spell is still in effect which is similar to the held right click bomb spell though it's focused with the player as the epicenter. I have a new upgrade for the right click bomb section of spells for making their explosion larger based on how many enemies they kill and infecting any they damage. Infected enemies explode when killed damaging and infecting other enemies. The explosions from this don't hurt the player. I finished implementing those summoning spells and the stat tracking. I have a set number of levels and a special event for the final level 1000 with a unique boss and the spawn count of every enemy you've ever killed you now have to kill again to beat the game which can now be done. You can save and load progress which is autosaved every other level. I added 3 more spell types and 2 manipulators for all spells. Still no spell combining.

July 28, 2012

Dynamic Destruction

My eventual plans on destruction include terrain deformation, dynamic rule based destruction of ALL objects, and added into the rule set a kind of hierarchy stress system. Simply put if it's in the game and you shoot it it will break apart the only question being how much which will primarily be determined by velocity. More on projectiles in my next post.

My concept is that I'll be issuing a "type" to environmental objects that are given numbers based on their weight and how much weight they can sustain and overall mass which acts as a multiplier for each. Then including a top down addition of all weight to see if an object can hold it if not then it acts as a low level impact and the objects all start breaking apart to some degree. This is a far cry from some of the tech I've seen out there but sad truth is I simply don't have the skill to make the next red faction system. Though I must say that considering my mid-range talents it's not a bad concept. The great part about it being rule based is how easy it will be to update later not only tweaking what's already there but adding in new sets of rules. For example if I suddenly think of a way to add in stress or directional weight which I hope to. Why you may ask? because while an object may handle all the weight coming down on it directly it might fall over or if one side of it weighs too much and the weight isn't being calculated like it should. For in an example of this a building with half the base floor blown out is calculating the rest of the weight on the top floor then evenly distributing it among the remaining base floor evenly to see if it will stand when it should transfer most of the weight on one side to the first couple remaining pillars or more accurately most of the building weight in a steel frame structure should actually be focused on the center pillar/s. Other things to consider is that an entire building doesn't have to collapse sections of it can collapse on their own though in the existing plans this may already happen to some extent. Because it's top down each floor is calculating if it can hold what's above it, my next plan is to probably implement sectional calculations and weight distribution so that the top down is only calculated by relative location rather than as an entire floor. So while some weight will be transferred to the sections of the same floor around it most of the weight will go into the section below it. Still not as clean as it could be or as direct as directing the weight to specific supports but it should do nicely. Now that I think about it (and this is really more of a note to self situation) I could also make it so that sectional weight transference works from the outside in directing most of the weight to the central pillar which only calculates top down and doesn't spread outward...

By terrain deforming above what I meant was if you plant explosives on the ground you can make little pot holes big enough to crouch in or lay down in or if there's something beneath them then blow a hole in the ground and drop down into a subway tunnel to traverse the level.

One of my BIG hopes for the next iteration of consoles is multi screen output because I'd love to put in 4 player co-op but 4 players on one screen has always been a problem. I'd also like 4 player local competition but screen watching is equally annoying. I remember the first time I did a system link to play halo with my buddies and everybody found a way to bring an extra TV and some friends it was a small LAN party in my house. We used to do that almost every week at least once on the weekends and sadly those days are kinda gone. We still play all the time online but that's only because there's not much we can do locally anymore.  Do you remember the first time you did 4 player local? What game was it and would you be interested in seeing a return of local multiplayer?

 The Edit: In my previous post I mentioned this post, and turns out it didn't really need much revising just some spelling and continuity issues. Yes continuity, it doesn't make sense now but it would if you'd seen it. Anyway what the major update to the above system was the first implementation of the rule system. Right now it's under object interaction and it works surprisingly well I didn't think it would work so well I'd planned on switching it over to like the physics system alone, now I'm thinking the physics just might be an extension of it to handle weight transference and similar. With that in mind my estimated time for completing the system just dropped significantly here I thought it was going to take me a year or two now I'm thinking maybe by the new year or march before I have something launch ready. Not that I would launch anything by then but it's nice to know I'd have a milestone completed way ahead of schedule.

For those of you interested in the numbers. I went from tens of thousands of objects to a few hundred. I then when shooting at them managed to increase object count into the thousands rapidly without any lag. My fps were running smoothly between 42 and 46. The poly count during the object increase also increased by about 60% something I hope to reduce further. My memory usage compared to the previous method of instancing is now less than 16% of what it was, and I am still using instancing for common objects. To clarify I went from tons of bricks that were split in two into a solid wall and back but now the brick isn't split by default it splits as necessary. Right now it's only functioning on predefined environmental object types but that basically boils down to anything that's been labeled a building which works out nicely for me considering they're the focal point of what I want to destroy. Overall processing however went up from where it was something I was hoping wouldn't happen. The entire purpose of this method was to reduce memory and processing necessary right now I'm just trading off one for the other. Right now I'm thinking it's likely how much the poly count is increasing during the fracturing process. Perhaps I can reduce the poly increase and object increase for something a little more block like and see what happens.


A note on a prior post about the top down shooter spell concentration isn't gone. I've arranged it so that concentration is now in pre-defined sets. The cone, the line, the immediate area, the ball, and a larger area effect spell. The right click now makes a charge shot for each that is quite powerful and does more damage the longer you charge. The left click is still stream and does constant damage. You can increase the power of the stream from the upgrade menu. I'll talk more in my next post on the subject.

July 25, 2012

Found It

I was looking around the larger game realizing I made all this content, the entire city, every building and every street. Then I realized based on the missions that the players would likely only ever visit less than 1/3 of the city unless they actually felt like exploring. Well I just can't have that, you need to be taken by the hand and shown every amazing part of this city or at least most of it. So now I'm working up those side missions we all love. Nothing storyline critical where you have to complete it, but when it's done you'll have all the filler you could hope for hopefully. This will also be nice to compare city destruction later on. To see who destroyed what and to what extent is always fun. If you have no idea what I'm talking about I have a follow up post on the rule based dynamic destruction system which I'll post sometime this week, it's already written but I'm going to revise it probably because I just finished a major update to it.