Wednesday, June 29, 2005

Why TGAs Will Always Rule over PNGs

While working in Max today I ran into a funny issue with a bitmap texture that I was applying as a decal. For some reason the bitmap wasn't working as a decal even though the material settings (which is just telling max to use the alpha channel in the diffuse map slot) were setup right. Well it turns out that its due to the half baked file format that we know as PNG and switching the images to TGAs works just fine.

Now I don't want to get worked up into one of my infamous rants about PNGs, but PNGs have to be the most screwed up file format on the face of this Earth and IMHO need to be corrected and standardized or replaced, enough is enough already! So to help illustrate my points of why TGAs are better than PNGs here are some of my reasons for hating PNGs and loving TGAs:

1) Alpha Channels. With a TGA an alpha channel is an alpha channel plain and simple. With a PNG how ever the screwballs who designed this file spec call it a "transparency channel" and leave it up to the image editing programs who to read and write this data... which 9 times out of 10 isn't the way you need it written or read.
2) Layers. TGA has them, PNG doesn't and as any image editing guru knows, having multiple layers to work with and manipulate is great. Sure it's extra data but since when was having too much of something a bad thing?
3) Versatility. TGA can be used for a wide range of purposes since it can technicly store more than RGBA data with its ability to have multiple layers.
4) Compression. Did you know that TGA can be compressed too and its usually just as small if not smaller than PNGs? Pretty cool huh?
5) Bit Depth. Can you guess which file format can do 16 bits per channel? Its certainly not PNG but that old crusty format that people look down upon, the TGA format!
6) Universal viewing and writing. When you generate a TGA its generated the same each and every time and read back and displayed the same each and every time. With a PNG well its a crap shoot what it will do, but there is nothing like losing pixel data that you didn't want to lose or losing the alpha channel completely. My personal favorite though is when image applications write a bunch of garbage data into the background of the PNG where the pixels will be transparent. Now this doesn't sound like a big thing until you factor in what happens when a pixel isnt completely transparent, say at the edge of a curved shape, you get this wierd color information mixing through and causing funny things like unwanted white outlines on the edges of your curved shape which causes a major visual distortion... gee that's not right now is it, but yet its another lovely thing you have to deal with when working with a PNG.

If anyone has any other reasons why TGA is better than that crappy PNG format lets hear them and let the world know that PNG should be abbolished!

Mmmmm... Free Time

I finshed up the last of some contract work that I am doing for 21-6 for this month which means that I have at least two weeks to completely focus on Realm Wars development and getting this Milestone 1 release finished up. I am definately looking forward to this primarily because I am pretty stoked about the work that we are doing right now and some plans for developments after this.

My current goals for RW as as follows:
- Create new Sword DTS model and texture.
- Create new Axe DTS model and texture.
- Update the longbow DTS model and texture. If you haven't guessed by now, the goal is to make all the weapons look awesome ;)
- Work with Tim and Adrian on creating the necessary DIFs that we need for the Island Temple mission. Right now this mission just has a lot of temporary proxy shapes placed all over it to give me a rough approximation of size and placement as well as test out how the game flow will work.
- Create new DTS scene objects such as larger and more stylized trees to mix in with what we have already.

Hopefully I will be able to post some new screenshots of this development to tantilize those of you who are curious what exactly has gone on with Realm Wars during these past months. So stay tuned.

Wednesday, June 22, 2005

Rescale World Units, An Overlooked Max Utility

Every time I use 3DS Max I am always amazed by how many great features that this application has to offer a user, not just the apparent ones like Unwrap UVW or Skin but hidden gems such as Rescale World Units.

Rescale World Units is probably one of the coolest but least talked about and under utilized utilities in Max. This handy little tool lets you basicly scale down everything in your scene without causing nasty problems that you get when you scale bones, nodes or other "helper" objects or issues with a modifier such as Skin.

Let me give you a case example, on one of the files that I am working on for a game contract I had the scene incorrected sized up. This was due to carelessness on my part from importing data from another scene that had its base system units set to metres while the scene I was working in was set to use inches. This in turn caused the data that I brought in to get repositioned based on the units change and being human I never bothered to check this and assumed that everything was AOK. Fast forward to a day later when I have everything setup and ready to go into the game engine, one of the programmers that I am working with reports that the engine is spitting out an issue and that the size of the object might be an issue, a quick check in my max scene confirms this. Now normally this is where people would get really pissed off and upset because having incorrect scale data with helper nodes and a skin modifier normally means having to start from scratch again by scaling your geometry properly, repositioning all the helpers, resetting the skin modifier and then getting back to where you were. This is where Rescale World Units came in handy, all I needed to know was how much I needed to scale my scene down in a percentage value (which was easy enough to figure out) and voila it was done. There were no problems or issues and after a quick check to ensure that it was all OK the file exported and ran fine in the game engine. A simple 30 second fix versus a multi-hour annoyance.

So if you ever find yourself in a similar situation now you know what to do, turn to Rescale World Units and everything will be as you need it to be.

Monday, June 20, 2005

People Want Honest Opinions of Their Games Except...

I always have to chuckle when people say that they want honest feedback on their game design (or art) from their peers and then proceed to blow a gasket that you just called their baby 'ugly'. I know that I am not always politically correct when I review stuff, this is mostly because I hate 'sugar coating' a response which in turn gives someone the wrong opinion and sets them down the wrong path, but my God people, how exactly are do you expect to make something better if you cannot take feedback and figure out a way to make it better?

If someone tells you that your product lacks "oomph" and an addictive nature to make it more than a novelty product that you will try out for 5 minutes that's a clue that your game design is lacking, not a sign that things will be better with new art. New art won't make a below average product play any better when there is a fundementally flawed foundation trying to hold it up. Going back to square one is not a bad thing if it means making your product better. If someone compares your product or idea to something that exists on the market that you don't like being compared to, that's a pretty good sign that you need to change your approach and/or your idea until its what you were intending, because if you cannot describe something properly to match your vision then there is no way in hell you will ever be able to physically manifest that vision. Sorry but that's the honest truth of the matter, games are a form of communication and can be fundementally flawed by the developers lack or inability to communicate an idea into reality.

This comes to an important point, bodgering is bad. If you don't know what the word bodgering means, its essentially a term for forcing the square peg to fit in the round hole. Its a term I like to use a lot when describing indie and mod development because somewhere along the way everyone does it as a quick solution. The problem is that this almost always costs you more in the end. Sure you might have a product, but do you really think that anyone will appreciate seeing an ungodly sight due to the result of bodgering? No we don't. In fact when we were younger bodgering something usually resulted in some "special time" for the individual, so I am completely floored when we do this in our productions and think that it's all going to be OK. Everyone will notice it from a mile away, it will feel funny and odd and just ruin the overall product that you are presenting as people will begin to question that ever important "suspension of disbelief".

My buddy Joe Maruschak talks a lot about trusting your gut instinct when developing a game and I have to whole heartedly agree. If you want to develop a game or make a mod you really need to learn how to take a few steps back and trust your gut instincts if something is working right or not. IMHO there is no way that you will make it in the long run if you don't aquire and listen to this skill. You need to be adaptive and see problems before they happen, anticipate and react, this is what you need to survive and what people talk about when being "mobile and agile".

Listen to your peers people, they have walked the path before you and have sagely advice that you should take the heart and not only try to understand but also apply to your own unique situation if you want to survive in this difficult world of indie game development.

Thursday, June 16, 2005

Does this make you jealous?

My laptop arrived last week from Dell but due to all the events surrounding the death of my niece I didn't have much time to work on the system or feel too inclined to talk about it. For those of you who are curious though here is the system in all its glory...



Here are the specifications:
- Pentium M 1.73Ghz
- 1 GB Ram
- 80 GB Hard Drive
- 8x +/- Dual Layer DVD Burner
- Geforce 6800 Ultra w/ 256mB memory
- 17inch UXGA LCD

Thus far I have to say that I am really pleased with this system as a replacement for my main workstation. It's fully loaded and thus far hasn't prevented me from doing anything that I could do before, so its been a great investment. Plus I think that graphics applications like 3DS Max and Photoshop look cooler in wide screen ;)

Wednesday, June 15, 2005

Colour Picker for Max

I spotted this little gem on Discreet's 3DS Max webboard, its a plug-in for Max versions 4.x thru 7.x that gives you an alternate method of choosing and working with the colour wheel in Max. This thing definately appears more robust with way more options and it also apparently supports floating point colour values so that it can work better with Mental Ray too.


Coolpicker for 3DS Max.

Monday, June 13, 2005

Intel Snowball Effect of Hell

This past weekend my wife wanted me to put together a machine for her to play World of Warcraft on. I thought not a problem I have most of the parts here already so it won't be too hard to get the rest of it running with a quick run to the store to pick up the last few things.

One of the last items was a CPU and since I had a 478 pin Intel motherboard hanging around I figured that it would be a good idea to use it. So off I went and picked up a low cost Celeron D 2.53GHz chip (its just for games so its not like the wife will care) and proceeded to create the system.

Everything went really well until it came time to power up... no POST. Well that was odd, so I fiddled around with the system more until I could figure out what was wrong. Turns out that Intel in their insane wisdom, decided to change the cores on the Celeron Ds but make a couple 478 pin compatible (if whomever decided this is reading, I want to bear you skull in with a goalie stick). So great, CPU wont work in the board, and to make matters worse while trouble shooting this I had pulled my P4 2.4GHz CPU out of my workstation machine to test, the fucking heat sink silicon had become like glue on my P4 CPU and it reefed the who god dammed thing out of the socket! Big GRRRR! Now it appears that the P4 CPU is screwed up, the Celeron D won't work (it might with a bios flash) and I am down two machines thanks to this fucking gong show.

I used to really enjoy Intel based products and now though I am just pissed right off. All this lost time, lost hardware and now an extra expenditure of money because some fucking bean-counting ass-wipe thought that it would be a good idea to change cores but keep the CPU pin outs the same.... good job cheif, give yourself a pat on the back for being a fucking moron and know that this is one of many god dammed incompetent reasons why you are losing your market share to your competition.

Friday, June 10, 2005

Congratulations to Bravetree!

I wanted to give a congratulatory message out to my friends over at Bravetree productions (makers of the very cool Indie game Think Tanks) for two great accomplishments that they have made this week:

1) Think Tanks for Xbox Live Arcade has shipped and now allows you to play one hell of a cool game on one hell of a cool console. You should definately go and download the demo of this game today, its a lot of fun!

2) They accomplished the indie dream and have been brought into long-time friends and technology developers GarageGames. So basicly it means that you have the talented game creators of Bravetree driving GarageGames' technology to deliver some kick ass products.

This definately makes the job of making a competing product a bit more difficult, but I think most of us are up to the challenge :)

Thursday, June 09, 2005

Stike Averted! The Industry is Saved

I am probably still bitter and bummed out over the death of my neice on Tuesday but am I the only one who thought that this whole "Voice Actor" issue with games was incredibly lame?

Here you have a bunch of voice actors, and their respective unions, bitching and bemoaning how they should get residuals from the games that they are paid to lend their voice to, when the very people who actuall make the game that we all love and enjoy get jack all. It makes perfect sense to me doesn't it? A voice actor speaks into a microphone and says a few lines and they are done, a best it's maybe a few days worth of work. Yes I know that not everyone has a great voice and is able to do this, but the same is true for the programmers, artists, audio engineers, QA, design, marketing (and many others) spend at least a year of their lives toiling day in and day out sacrificing their family and physical & mental health to make a great game.

To top it all off the union that represents these people wanted to strike and not do any additional games work but failed to get 3/4 majority (instead they got somewhere over 50%). Can you just imagine the result if they had striked and not agreed to a paltry $675(usd)/hr? Let's think about it for a second...

Did you come to the same conclusion I did? That's right no one would give a dammed. I guess I should be thankful that there are some union members that had some intelligence to realize that this was a lame issue to strike over, but I have to wonder about the majority that let their greed get the best of them.

As a side comment I have to worry exactly what BS would have come of this if the games industry was unionized. I would bet that to keep our "union brothers" happy we would have capitulated and given in allowing these guys because its quite obvious that their hard work greatly over shadows the work of the other 40+ people that worked on the AAA game that they were hired to lend their voice to.

To me it's just another sign though that Unions are no longer here to protect the worker but to appease the greed of those that control the union. Screw the idea of unionizing the games industry, it's lame and retarded and IMHO driven by a select few wanting to be greedy versus actually wanting to ensure that a company like EA doesn's screw its employees over or ensuring that ourselves and our families have the safety and security we need.

Tuesday, June 07, 2005

Death in the Family

Today has ended up being a pretty crappy day. My brother and his wife had their baby today which normally would be a great thing, but unfortunately the baby girl had problems breathing from the moment that she was born and later died a few minutes later of a Cardiac Arrest in the hospital. So things overall suck and there isn't much that one can do right now but wait, think about how things could have been and try to move on, but it's probably going to take a while though. So if I am offline for a while don't be too surprised.

Friday, June 03, 2005

2D Game Show Case

Over the past six months I have been involved with the development of quite a few games here at my job at eQube Software & Technologies. Most of these games are 2D puzzle games aimed at a less technical crowd that combine both arcade style game-play with gambling and the ability to earn money, they also run either on Touch LCD monitors or Tablet PC system which gives them better user interaction but can limit what and how you do things.

I just got the clearance to provide a few samples of four of these games that I have been co-developing the game design and developing most if not all of the art for, so here they are:









Note: I only have project descriptions up for Dabber Craze and Chip Flip right now, all the other links from the images lead to larger versions of the same image for the time being.

Max Quad Menu Work Flow Trick

I thought that I would take a few moment to share a little 3DS Max trick for speeding up your productivity when you are doing a repetative task such as creating polygons/faces, adjusting skin weights, etc..

As you already know, when you are working in a particular modifier in 3DS Max most of the commonly used commands/tools from that modifier are accessible from the quad menu. But what I bet you don't know is that if you are frequently using one of these commands/tools from the modifier you don't actually need to navigate through the quad menu or the modifier panel. Instead you can quickly access that command/tool again by clicking on the header group that that command/tool is assigned under in the quad menu.



In the above image you will see that "Create Polygons" is hilited in the quad menu list, this is because it is the last command/tool that I just used. If I adjusted my view, applied a transform to an object or something and wanted co use the "Create Polygons" tool again all I need to do is click on the group header for that command/tool which is "Tools 2" which will instantly turn the "Create Polygons" command/tool on so that I can use it again.

Overall this is a handy productivity trick that I recommend that you try out and get used to.

 

 

Information, Images, and other content found on this web site is the property of Logan Foster or its respective owners, and may not be reused or redistributed in any format without prior expressed written consent. All data provided on these pages is for demonstration purposes only, no infringement of copyright is intended.