Foxpaw
Table of Contents
- /The Nature of the Universe: A rant about theory being stated as if it were fact.
- /Cosmic Fury: The mod I'm working on.
- /The Wonderful World of AI: My neverending quest to build an army of androids with which to take over the world. You saw nothing.
- /Developer Journal: My developer journal, so I can stop using this page for that purpose.
- /Archived Developer Journal: Older stuff. The developer journal was getting a bit long.
Real or Unreal? A Poll.
As I've been developing the spacecraft for my mod, I've realized something of note. The lack of resistance in space can be a real hassle. In space sim games, almost invariably, when you cease power to the engines, the ship comes to a gentle halt. Not so in real life, as you may know. Now I'm faced with a problem: while the lack of friction is realistic, it can also be a real drag. (If you like puns.) I'm curious - what sort of flight model is preferred by players? Realistic or "video game" physics? Hopefully everyone will read this and let me know what they think about the merits of each.
Languard: For me it depends on the view point. For a 1st or 3rd person view, I would prefer the video game physics, simply because that is easier for my mind to deal with in those perspectives. For top down view though, more realistic physics don't bother me, and I actually prefer it. The two best examples I can think of off the top of my head are Subspace and Maelstrom.
GRAF1K: Realism is always more important to me. Also, It obviously allows for more finite control over the vehicle, allowing you to demand more tight turns and such in your maps.
Foxpaw: Well, I would agree that realism is good, but there's always the problem of keeping things under control. I believe a modern space shuttle takes three people to do most things with it, and they're not trying to dodge incoming fire or operate any weaponry on top of it. Atmospheric craft are of course much easier to control because if you cut the engines you'll eventually stop, instead of having to do a 180 turn and slow yourself down to gently pull into position. Mmm. Well, until I get more responses I guess I'll just do what I've been doing with everything else and make it an option.
GRAF1K: Good idea. I would recommend leaving it as an option, rather than picking one or the other if/when you get more feedback.
Daemonica: I'm a fan of the way Freespace handles this, you set your desired velocity, and the ship fires engines/retroes to suit, I think it's the same with turning too
Pending Rant
Note: The following rant uses the term Pawn as referring to Pawn, UnrealPawn, and xPawn collectively.
<rant> Pawns are a terribly obfuscated class. There's numerous things hardcoded into them that simply have no place there. Unfortunately, useful native methods are also included there that makes it very difficult to make certain types of classes without them. For those that want to modify the classes only in small ways, this is not really an obstacle. However, if you have something ambitious planned, Pawn could be a real thorn in your side. The physics that they use is terrible. Animation magic, while handy for small modifications, becomes a nightmare if you want something very different. Furthermore, reading inputs or the AI substitute is so far gone it would give an acid junkie a lesson in mind warping.
The physics that pawns use are unusual to say the least. One special example of this is the PHYS_Walking class. When I walk, gravity causes me to fall to the ground when I lift my foot and shift my center of gravity forward. I can then use the friction on my foot to propel the next foot forward and repeat the process. In the Unreal Engine, PHYS_Walking causes a Pawn to be glued to the ground. Their actual footsteps have no physical effect and are just for show. However, that level of simulation is not neccesary. The only real problem is the fact that they are glued to the ground. Given that you are glued to the ground and can thus only willingly move in two dimensions, one would thing motion would be as simple as supplying a two dimensional vector to indicate the direction and speed you would like to go. However, this is not so. Walking involves a myriad of functions and native simulation that I'd rather never see. If the only problem with pawns was the physics, it would be enough to stick with it and just find a way to completely disable the built-in physics in order to use your own. However, Pawns also contain a magical set of animations which offer further hardship.
I'll be the first to admit that the animation magic in Pawn is cool. It makes it very easy to make special manuevers, etcetera. The only problem is if you want it to just go away. In my world a person can point a gun without rotating their entire torso to do so. Firing sideways can be accomplished without sidestepping. In Pawn, this is not the case. Because of the built-in animation, the animation that plays is based on the direction you are travelling and the direction you are facing. Other animations such as dodges and being hit also play in certain circumstances. This is fine if your facing has no impact on your movement. Though I have not completed a conclusive study, I find humans have difficulty running at full speed backwards and to the side. When presented with an option they will run forwards in the direction they wish to travel and point their gun over their shoulder if neccessary. Though not as good a firing position as the gun facing forward, it sure beats falling over backwards while attempting to execute a cockimaime run. Though the animation system has it's definate flaws, outlines above, it is still more advanced than any movement system I've seen in a commercial FPS, so I'll focus instead on the next problem with Pawn: the controller/pawn system.
The controller/pawn interface was a good idea. I'll say wholeheartedly the idea kicked butt. Unfortunately, the idea was like spaghetti. Very clean and orderly when it arrived, but as it was cooked turned into a tangled mass of goop. Sure, it has the same nutrition value and gets the job done, but if you wanted to put something on the end of each strand you'd likely be at it a while. When I learned about the controller/pawn implementation I was excited. I thought that this would mean that bot-controlled pawns would be treated the same by the game as player controlled pawns. I expected that bots and players would interface with the pawn in the same way, and that the bots intentions would simply be converted into the appropriate keypresses in pawn. This would allow bots to drive vehicles without any special code, (the vehicle code by default makes a cast to playerpawn that prevents bots from driving vehicles, which was very easy to fix to make vehicles driveable by bots) and would allow for an easy exchange of various types of controller, regardless of the actual input source behind it. Unfortunately, the new system is even more obfuscated than the original pawn/playerpawn/bot system. This factor, as well as the above, have been primarily responsible for my stance against Pawns.
The reasons above fairly clearly dictate the primary problems inherent to the Pawn class. I hope that future editions of the Unreal Engine will address these issues, but I am not expecting it as it is certainately not my place to tell Epic or Digital Extremes how to make their engine. It is a very popular engine, and as I have not made an engine more popular than theirs, I am not in a position to tell them that theirs is bad. Hopefully, however, some of these built-in "features" will be made more organized, sheerly for the sake of their actual licensees. I have no objection to the existance of these features, it is just the unconfigurable "feature creep" present in the Pawn class that drives me away from it's use. As advances in hardware and software make the use of more sophisticated physics and animation possible, I'm confident that the animation and physics problems will disappear. Improvements in Game AI will probrably spell the end of the current AIController class and make player controllers and AI controllers more similar. For the sake of sanity, I hope that these changes come soon.
</rant>
PS, I don't actually have anything against Epic, because I realize that it is not their responsibility to make classes that accomodate mod authors, let alone those with non-FPS aims. I am actually quite fond of the Unreal Engine overall. I'm sure there is some logic to the way they did things, and I'm in no position to question the quality of their work, or that of Digital Extremes. It just seems to be that native functions should be in classes with a little Unrealscript as possible - so that they can be accessed without requiring a bunch of code you aren't even going to use.
Manifesto
I find I have a natural aptitude for problem solving, and I think that all, yes ALL, of the world's problems are easy to solve. Unfortunately the politicians, and the citizens, for that matter, for the most part are unwilling to do what it takes to turn this planet around. In science fiction, mankind is portrayed as being such a noble and refined race. When I look around I see endless potential in people. Why then do people starve and suffer when others have the means to help them and refuse to?
Normally I'm not a "hippy," but I think that capitalism is just plain stupid. Look at people with billions upon billions of dollars that they refuse to spend and have no intention of ever spending throughout their entire life. Bill Gates is an example, but there are definately many, many others like him. I have nothing against Bill Gates, but the fact remains: the guy has over 40 billion dollars, which he has no intention of spending. If that was split up, you could make 40 thousand millionaires. It's not like he's using it. There are 427 confirmed billionaires in the world, most of which will never spend that money. This strangles the capitalist economy resulting in others who desperately need the money living in poverty. Money is worthless unless it is spent.
Since it is not being spent, it is worthless and should be abolished. I think we should do away with money entirely. A system of pure, unabashed communism or socialism is very efficient. Many people, if asked, will say that communism does not work, that it goes against human nature. Nothing could be further from the truth. Do your children pay you for the food you provide them? Generally they do not. Humans are communist by nature and though many people will bash communism and say it doesn't work, they cannot provide an example, or they provide an example that is absurd because it was phenomenally successful.
An example of a successful communist regime was Stalinist Russia/the USSR. His methods may not have been the kindest, and many despise him. Regardless of how people may feel about the brutality, etc, when you take that away and look at the pure economic side - the communism was enormously successful. If you don't like that example, there is a colony of Hutterites near where I live. They are entirely communist and generally never see a dime. Only the elders handle the money, and they use it only for interaction with the "outside world." They are farmers primarily, and they have so much money it's a joke. They can afford to buy brand new combines, swathers, etc. EVERY YEAR. They haven't been able to grow a thing for 7 years because of drought and they still have so much money they are only now starting to run out. This is with constantly buying new farm equipment that they don't even end up using. They have absurd amounts of money - COMMUNISM saves the day again. Tell me again about how Communism doesn't work.
Crime runs rampant in many countries, because they refuse to take appropriate measures. Punishments need to be swift, harsh, and affirmative. I propose summary execution for nearly any crime, combined with constant sting operations. Bust someone for drugs, it's simple - no fines, no jail time, just blow the guy away in his home, auction off all of his belongings, and use the money to fund more sting operations. Then, when his clients come to get their fix, blow them away too. It is imperative, of course, that you do the actual drug deal before the gunplay, just to make sure that they're really druggies. That way you don't cap innocent people. You could do the same thing with prostitution, drunk driving, the works.
That's just the beginning, but it would be a good start, and if I could accomplish the above in my lifetime I would die satisfied. If, however, a means to preserve myself infinately should arrive, long term goals include conquering the universe in the name of humanity, and attempting to develop extradimensional transport capabilities, again for the purpose of conquering other civilizations.
A lot of people say that this is crazy, that we don't NEED to conquer. I ask them what we should do instead and they say we should just all be free to do whatever we want. In other words, free to do NOTHING. Most people in this world will accomplish NOTHING in their lifetime. They will be forgotten by almost everyone within 50 years of their death. I hope to be a part of something big, that will not be forgotten. Noone forgets about Hitler, because he did something BIG. It wasn't something good, it wasn't even really subject to interpretation. It was just BIG, and people will remember him for it. Child psychologists will tell you that children prefer negative attention to no attention at all. I think the same goes for species in general.
Mankind should be known across the Universe, and I'd rather we be known for wiping out the peaceful Gooblackian people than to forgotten as soon as some other evil alien race wipes us out. In fact, I wouldn't even mind if we were known for something totally pointless. If we blew up the sun and killed off the entire race, I'd be happy. At least then we'd have done something, even if it was something totally useless. Doing something useless is in my opinion better than wasting resources just living so that we can eventually die. That is what insects do, and I refuse to be an insect.
I realize that I've kind of changed the focus a couple of times above, but I still think that the ideas are good ones. To that end, I'm considering writing my own Manifesto of how I think the world should be run, but I'm sitting on the fence still. I doubt anyone would publish it. Some of my ideas are highly controversial. Some would call them brutal. But they WORK. On the other hand, the G11 project worked and was amazingly successful yet it was cancelled anyway. Apparently the world has sunk so deep that we cannot even see what is good and what is not.
Guestbook
Tarquin: Hey there, and a belated welcome to the site. Nice refactoring work you've been doing!
Kerlin: Nice job on that replication page!
Mosquito: Can you share some screenshots of this vehicle you're working on, it sounds VERY interesting
Foxpaw: I'm not much of a modeller so right now it looks more like a flying warehouse. When I get up tomorrow I'll probrably do some more on the controls and maybe add some fins and stuff to make it look a bit better. I'll put up some screenshots once I've got the bells and whistle in half decent, and something other than default textures everywhere.