Serious Water Glitch

Feb 28, 2008 at 11:57 AM
ATTN: QuickStart Engine Developers

First of all I would like to commend you all for your fine work on this project; still so early in developement and yet it can already serve as an all-purpose game engine. My hat goes off to you.

Now to move away from the ass-kissing, I seem to have come across a very odd issue with the engine. This is barely noticable on a low terrain scale (1 or 2) but becomes much more so as it increases.

The water looks fine while the camera is sitting still, but as soon as it is moved, so is the water-level. This doesn't happen relative to the camera either, at every noticable movement, the water shifts in a seemingly random non-linear way.

Sadly, I've never had a gift for explaining things so below I've put up links to two screenshots taken within short succession of one another at slightly different angles to illustrate my point:

http://img122.imageshack.us/my.php?image=wb1oo1.jpg
http://img99.imageshack.us/my.php?image=wb2db1.jpg

The area circled in red on both pictures has a very low gradient so the effect is most easily observed there. On steeper slopes the effect isn't as serious in regard to recession of shoreline or exposure of underwater land but, I assure you, the high-frequency wobbling is absolutely ghastly.

I've been pulling my hair out for quite a few days now trying to find out how the movement of the camera could change the elevation of the water but I haven't come up with anything, so here I am hoping you could tell me it's something small that I've overlooked or that you're aware which part of the code is causing this.

I realise that you all have day jobs and personal lives so I don't expect you to toil over this (not that anyone would anyway) but if you could sort of push me in the right direction I will be endlessly grateful.

Regards,
Gary Thompson

Addendum - The tide is turned off, in case you'd ask.
Feb 28, 2008 at 1:49 PM
Can you post your hardware specs, and a description of any changes you've made to the engine code? Better yet, any chance of uploading your project (binary-only is fine, if you prefer) somewhere?

My first guess is z-fighting or a geometry issue, but that's a shot in the dark without more information.
Coordinator
Feb 28, 2008 at 4:07 PM
A small video of the issue would be helpful as well. Fraps is free for making up to 30-sec videos.
Feb 29, 2008 at 12:14 AM
Thanks for the attention gents.

I didn't think that it could be a hardware issue up until now, but since you mentioned it I've been wondering. Here are my system specs:
AMD Athlon 64 X2 Dual Core Processor 5200+ (Socket AM2)
2GB RAM
NVidia NX8500GT TD256E
MSI K9N Diamond (That would be the motherboard: http://global.msi.com.tw/index.php?func=proddesc&prod_no=1028&maincat_no=1&cat2_no=171)

Sorry I couldn't be more specific on the RAM, those little boxes are long gone.

As far as uploading the project goes, I've noticed I get the same problem in the completely unmodified version of the engine (sans tide) as you'll see towards the end of the video. But if you want it anyway, I'll put it up as well.

Meanwhile, I've crafted a charming little video in about 3 minutes demonstrating the effect under certain conditions as well as two clips form the unmodified engine. I uploaded this to YouTube a while ago but it's still "processing" so I can't give you a direct link. However, by the time you read this it will probably be done so you can just pop over to http://www.youtube.com/user/garrettkirkthompson and find it there. I never use YouTube for uploading so it will be the one and only video there.

Now, I'm relatively inept in regard to programming and computer graphics; but one thing that I have noticed is that the farther away you are, the more extreme the problem gets (also demonstrated in the video). This has led me to believe that there is some issue with rounding off to the nearest Z-position. This still wouldn't explain why it does it while close up, though. Just my two cents.

Thanks for your time.

Regards,
Gary Thompson

Addendum - You'll have to forgive me for my lack (or rather, complete absence) of technical jargon. I haven't ever had any formal training in this field. I taught myself (albeit poorly) how to programme and work with XNA.
Feb 29, 2008 at 6:02 AM
Addendum II - YouTube's finally done processing, here's the direct link:

http://www.youtube.com/watch?v=EmvfTKE0oxY
Feb 29, 2008 at 3:12 PM
It definitely seems like some sort of z-fighting issue. There is not enough difference between the terrain height and the water height.

Try to push out the near clipping plane and see how much that helps. Add this line of code in GameMain.LoadCameras after FreeCamera = new FreeCamera(...):

    FreeCamera.SetNearPlane(5.0f);

Try it with the value of 5.0f. Then try 10.0f. Let me know how much that helps, if any.


LordIkon, I can actually partially reproduce this with a clean build of 0.182b. Not to the extent of his videos, but then again his terrain is a lot more flat around the water edges.
Mar 1, 2008 at 4:21 AM
Edited Mar 1, 2008 at 4:26 AM
Thanks for the advice.

I tried it on 5 and then on 10, then I tried extremes like 50 and 1, then I tried combinations with the far plane ( FreeCamera.SetFarPlane(#.#f) ). While I do get this lovely purplish tinge with the water and varying visibility, the wobbling persists.

I tried it with the unmodified engine (0.182b) and I get the same results.

I recall you asked me for my system specs earlier; that, along with the fact that it looks like neither of you have noticed this before, is raising a very unpleasant question in my mind: Do you think it's a hardware issue on my side? I should mention that my entire system is made up of MSI parts (insurance company couldn't find Gigabyte).


EDIT: I also wanted to ask something about the z-fighting, wouldn't it still occur while the camera is sitting still?
Mar 3, 2008 at 8:02 PM
You could try updating your graphics drivers.

If changing the near/far planes doesn't change the magnitude of the effect at all, then it's probably not a z-fighting issue. But if it lessens/magnifies the effect a little bit, then it most likely is a z-fighting issue. So watch for changes in the magnitude of the effect, not just whether it disappears or not.

I wouldn't worry too much about bad hardware yet. Do normal games still play fine on your computer?


EDIT: I also wanted to ask something about the z-fighting, wouldn't it still occur while the camera is sitting still?


Not necessarily. Z-fighting occurs when the depth values are too close together and the floating-point hardware cannot maintain enough precision to properly compare depth values. If the camera is perfectly still, then the error in the depth comparisons will most likely come out the same each frame, resulting in the same visual error each frame. When you move the camera, this error in the depth comparisons changes, resulting in the flickering effect as the hardware incorrectly compares two values.
Coordinator
Mar 3, 2008 at 10:32 PM
Edited Mar 3, 2008 at 10:41 PM
My guess is that your far plane clipping distance is too great. The further the far plane the less accuracy you'll have. Does the height from the water matter, or just distance? For example, can you get very close the water's elevation, but back away a large distance and still have this issue?
Mar 4, 2008 at 7:35 AM
Thanks again for the attention gents.


shawmishrak wrote:
If changing the near/far planes doesn't change the magnitude of the effect at all, then it's probably not a z-fighting issue. But if it lessens/magnifies the effect a little bit, then it most likely is a z-fighting issue. So watch for changes in the magnitude of the effect, not just whether it disappears or not.

No change whatsoever. I tried again to make sure.



shawmishrak wrote:
You could try updating your graphics drivers.

Just did that too. No change.



shawmishrak wrote:
I wouldn't worry too much about bad hardware yet. Do normal games still play fine on your computer?

I'm not the world's biggest gamer but generally yes, I have no problem playing new(ish) games on 1280x1024 with antialiasing.



LordIkon wrote:
My guess is that your far plane clipping distance is too great. The further the far plane the less accuracy you'll have. Does the height from the water matter, or just distance? For example, can you get very close the water's elevation, but back away a large distance and still have this issue?

The severity of the issue is only affected by the elevation of the camera. For example, I can be 140 units high and notice the same amount of wobble as when I'm 140 units high and 500 units away. But when I'm 200 units high the straits make a little land bridge.



shawmishrak wrote:
Not necessarily. Z-fighting occurs when the depth values are too close together and the floating-point hardware cannot maintain enough precision to properly compare depth values. If the camera is perfectly still, then the error in the depth comparisons will most likely come out the same each frame, resulting in the same visual error each frame. When you move the camera, this error in the depth comparisons changes, resulting in the flickering effect as the hardware incorrectly compares two values.

Fascinating.


Thanks again,
Gary.
Coordinator
Mar 5, 2008 at 7:03 AM
The water plane has actual points and elevation. It might be worth a quick test to output those values whenever the camera moves to see if by chance something is changing them.

I wish I could be of more help, unfortunately, I won't get to see if my C++ disk works right until Thursday night. If not I'll need to locate another. Until then I'm a spectator.
Mar 5, 2008 at 7:54 PM
If you school email address is still valid, you may be able to just download Visual Studio from Dreamspark.
Coordinator
Mar 6, 2008 at 1:42 AM
Our school did MSDN differently. They'd get copies of software, and license keys. They'd loan out a copy, and give you a single key, once you installed you return the copy. Of course, I always made copies of my copy, because the keys didn't expire. So I'd have to get them to give me a copy of VS2008, and a key. Unless I could get them to set me up with an email address. I'd have to talk to the program director about their agreement for MSDN.
Mar 6, 2008 at 7:25 AM


LordIkon wrote:
The water plane has actual points and elevation. It might be worth a quick test to output those values whenever the camera moves to see if by chance something is changing them.


Good idea. I'll give it a shot.

Thanks,
Gary
Mar 6, 2008 at 10:13 AM
Nope, no luck.

The water elevation remains the same at all times.

I just put this code in the DrawHUD method:

 
HUD.DrawText(CommonVars.SCREEN_WIDTH - 320, 140, "Elevation: "+SceneWater.Elevation.ToString(), Color.LightBlue, HUD.FontHaetten_16PtReg);
 

Gary

Addendum:
I assumed that "SceneWater.Elevation" gives the current elevation and not the initial one but I didn't check it. Let me know if I'm wrong.
Coordinator
Mar 6, 2008 at 1:23 PM
It is true that is what changes the water's elevation, so that is probably right. The two polygons that make up the water plane are created, using elevation as their Z value.
Mar 7, 2008 at 7:01 AM
For those interested, I've found a way to dramitcally decrease the deathwobble. I've reduced the size of the water plane to match the corners of the terrain. It's not completely gone but now you don't even notice it unless you look for it.

I never thought of this before, but it seems that the deathwobble is a direct result of the length/width of the water plane. This also explains why it's more prevalent with larger terrain scales.

Now, naturally, I'm much to stupid to actually fix it myself, but maybe knowledge of the cause will help you guys pinpoint it.

Thanks,
Gary


Addendum:
This post again demonstrates my total ineptitude in regard to conveying thoughts; therefore, I have included the changed code below:

 
SceneWater.Initialize(Color.LightBlue.ToVector3(), 
                                      new Vector3(-terrains[0].MapWidth * 2 * terrains[0].scale, -terrains[0].MapHeight * 2 * terrains[0].scale, 0),
                                      terrains[0].MapWidth * 4 * terrains[0].scale, terrains[0].MapHeight * 4 * terrains[0].scale, terrains[0].scale * 2.75f);
 

CHANGES TO:

 
SceneWater.Initialize(Color.LightBlue.ToVector3(), 
                                     Vector3.Zero,
                                      terrains[0].MapWidth * terrains[0].scale, terrains[0].MapHeight * 2 * terrains[0].scale, terrains[0].scale * 2.75f);
 


Addendum II:
The reason the length in the changed code is multiplied by 2 is because I use two identically sized maps next to each other.

Also, one would obviously have to ammend this code to work with one terrain if that's what they're using and change the water elevation (last value) to one which they desire.

On second thought, here's a block of more generic looking code for those who can't decipher my ramblings:

 
SceneWater.Initialize(Color.LightBlue.ToVector3(), 
                                     Vector3.Zero,
                                      sceneTerrain.MapWidth * sceneTerrain.scale, sceneTerrain.MapHeight * sceneTerrain.scale, sceneTerrain.scale * 10);
 
Mar 10, 2008 at 12:24 PM
Here's an update on my endeavors to slay the mighty deathwobble:

Upon further experimentation, I have discovered that the deathwobble is definitely directly and solely affected by the length and width of the water plane.

Now, as mentioned before, I sorely lack the expertise to actually ammend the code that creates the water to no longer wobble. My lack of intelligence, however, has no effect on my shrewdness; and, using the latter, I have devised a way to all but eliminate this vicious plague:

Instead of one large water plane, one can use many little ones. Obviously one would have to change some of the code (such as the physics code) to react with more than one water plane, but since I've already (partially) done that with the multiple terrains, this should be no problem.

EXCEPT for one small thing with which I shall once again have to throw my pride (or what's left of it) out the window and come asking for help. Here's the situation:

The water plane needs to be drawn first, only then will the environment look normal. Multiple water planes can't share the first place in the list of drawable components. Only one of the water planes, namely the last (of the water planes) to be drawn, is actually drawn. The rest simply don't appear... at all.

I tried "messing around" until I got it right, and while that's how most of my programs are written (and, surprisingly, all work), it didn't fly (for very obvious reasons) with this one.

Any suggestions would be greatly appreciated.

Thanks,
Gary
Mar 10, 2008 at 11:56 PM
When I read about your 'first solution' I thought of a similar 'second step' that might be taken to get rid of the deathwobble (I kinda like this term).
Maybe the deathwobble can be reduced using a water plane that consists of multiple quads rather than just one quad... just like the terrain patches.
Although this does not explain what causes the dw in the first place it might be a temporary solution to it.
Mar 11, 2008 at 8:36 AM
Sounds like a plan.

So... uh, how would one go about doing this?

I'm afraid I don't know th first thing about water quads or terrain patches, I don't even know what they mean.

Gary

Addendum:
Did you notice the deathwobble yourself or only when you read my thread? It just seems that no one else had noticed it. I mean, I could even feel it on the unmodified engine with the tide on. Of course it's effect was much less pronounced under those circumstances but it was still there.
Mar 11, 2008 at 2:19 PM

Gary_Thompson wrote:
Upon further experimentation, I have discovered that the deathwobble is definitely directly and solely affected by the length and width of the water plane.


Oops, my bad.

Since I was so elated upon hearing Suzume's solution, I decided to do some more testing.

As you'll recall, I mentioned that the more I decreased the length/width of the water plane, the less prominent the deathwobble became. So, now convinced that making tonnes of little water planes (or quads) would completely eliminate my problem, I decided to test under extreme conditions to see how it would look with no deathwobble.

What do I mean by extreme conditions? Basically what I did was create a tiny little water plane (one-eighteenth of one of the maps' size) and position it over a very gentle slope (so gentle that it looks almost flat (but, of course, isn't)).

The result: same amount of deathwobble.

I then looked at the other steeper slopes and noticed the same amount of deathwobble as when I was down to one-third size.

It seems that there is a certain threshold beyond which the severity of the deathwobble does not decrease.

In conclusion, an infinite number of tiny quads wouldn't solve the problem.

I don't mean this in an offensive, insulting, hypocritical or commanding way, but I'd say that the water system needs an overhaul.

Gary
Mar 11, 2008 at 2:42 PM
Any chance of creating some minimalistic repro cases? I'd be interested in taking a look. On a fresh copy of 0.182b with tide disabled, I can almost get the effect you're talking about, but not to the same extent and adjusting the near/far clip planes gets rid of the issue for me. I just get a very tiny distortion around the water edges.
Mar 11, 2008 at 3:16 PM

shawmishrak wrote:
Any chance of creating some minimalistic repro cases?


Sorry, you'll have to repeat that in layman's terms for me.


shawmishrak wrote:
I just get a very tiny distortion around the water edges.


Me too (unmodified 0.182b). But my map is one of the entire world split into two 1024k maps. This results in something like the Sea of Marmara only being one pixel in width which inevitably leads to very gentle slopes upon which what is obseved on a steep slope as "tiny distortion" being observed here as "epilepsy inducing flashing".

I'm not trying to be cocky, just saying that I need to pull this effect as low as possible for the shoreline to not look like Scotty's in the process of beaming it back up to the Enterprise.

Gary
Coordinator
Mar 11, 2008 at 3:53 PM
I hadn't thought about a water plane with more than 2 tris (for this reason). You'd have to set up the water in a vertex/index buffer, and then apply the water shader over those instead. That could definitely help.

I had considered adding polys to the water down the road for things like waves.
Mar 11, 2008 at 4:16 PM

LordIkon wrote:
I hadn't thought about a water plane with more than 2 tris (for this reason). You'd have to set up the water in a vertex/index buffer, and then apply the water shader over those instead. That could definitely help.


Despite my revelation 4 posts above that beyond a certain threshold the deathwobble ceases to diminish with smaller size?
Mar 11, 2008 at 6:27 PM
Can you just upload one of the terrain map you're using? Or does Lord Ikon already have a copy of one?
Mar 11, 2008 at 7:49 PM
http://img255.imageshack.us/my.php?image=eartheast1ri4.png

There's the one I'm working on at the moment. I assume you want the heightmap, the texturemap is all green so far.

In case you're wondering what that gray ring around the Black Sea and the Sea of Marmara is, it's shoreline correction. The smoothing, although set to only 2, brings in the shoreline quite a lot so that crude editing you see is there to noramlize a bit. That's where you'll see the distortion. It's the most pronounced where Crimea connect to mainland Eurasia. In fact, the chances are you won't see it anywhere else due to the steep nature of the shoreline but that has to change throughout the whole map.

Here's some important info:

Terrain scale : 12
Smoothing passes : 2
Water elevation : terrains[0].scale * 2.75f
Size of water plane : terrains[0].MapWidth * terrains[0].scale, terrains[0].MapHeight * terrains[0].scale * 2

I think that's all the relevant information.

Thanks,
Gary

Addendum:
Not that it makes any difference whatsoever, but I'm not finished with the normalizing at the Black Sea or Sea of Marmara. So, if you want to tell me the map looks wrong, trust me, I know.
Coordinator
Mar 12, 2008 at 6:17 AM
Edited Mar 12, 2008 at 6:38 AM
Looks like this glitch (water glitch) is hardware/driver related. I'm not getting the glitch on my 8800GTS's. I've tried changing terrain scales up to 12 and I can't reproduce it. Do you possibly have any other XNA 2.0 compatible card to run it on? Not that anything is wrong with your card, but the problem will only show up under certain conditions. This is the bane of PC game programmers for the last 20 years, many hardware configurations, not enough rules. Makes for cool hardware, but lots of bugs. Or there is always the reverse, same ol' hardware, fewer bugs, like in the case of Macs. I don't like the same ol' hardware though.

I'm also looking into the terrain culling issue. First problem is the bounding boxes aren't drawing for your 2nd terrain section, so I have to look at that first.

Just so you know my specs:
Windows Vista Home Premium
2 8800GTS 512s in SLI
2GB RAM
Intel e8400

OS and video card(s) are probably the determining factors here. SLI shouldn't make a difference, not sure XNA even makes use of SLI by default anyway.
Coordinator
Mar 12, 2008 at 6:36 AM
Edited Mar 12, 2008 at 6:40 AM
Ok I believe I found the problem. I won't have time to fix it tonight, but I'll let you know the problem now so you can fix it if you have time.

For your second set of terrain, you're simply adding 1024 to the position.y of all the vertices. This causes the terrain for that shifted section to draw in the proper place in the world. However, when bounding boxes are created (inside of QuadTree.cs in private void SetUpBoundingBoxes() ) they're not being created with those shifted values you've created in mind. This is causing the second terrain's boxes to end up unshifted, and this puts them on the same side of the "world" as your first terrain.

To help you visualize this problem I'd suggest enabling bounding box drawing so you can see them. To do this you must first find bool DrawBoundingBox = false; , on or near line 144 in Terrain.cs, and set it to true. Then, I would advise you disable the skydome temporarily. Rendering on the skydome doesn't work so well with bounding boxes because they're draw with no culling or depth buffering. To disable the sky you simply comment out LoadSkies() in GameMain.cs.

The boxes you will see are the bounding boxes for each quad-tree section in the terrain. If this box is in view, the corresponding section will be drawn. That is why parts of the second terrain are drawing at odd times, because some of it's bounding boxes (which are over on the first terrain because of their lack of shift), are in view.

Again, the fix will require you to account for the 1024 shift in Y Offset within SetUpBoundingBoxes() function somehow.

Good luck.
Mar 12, 2008 at 9:56 AM
Edited Mar 12, 2008 at 11:03 AM

LordIkon wrote:
Looks like this glitch (water glitch) is hardware/driver related.


NOOOOOOOOOOOO!! http://sydlexia.com/imagesandstuff/arnold/recall1.jpg


LordIkon wrote:
I can't reproduce it.


Did you check where Crimea connects to mainland Eurasia? The shoreline is too steep to see it anywhere else.

Sorry to be so resistant, I just want to make double sure, a new mid-range graphics card costs about an entire monthly salary here.



Meanwhile, thanks for the advice on the bounding boxes. I'll butt heads with that today.


EDIT: Addendum:
Bringing us back to the water issue, did you check where Crimea connect to mainland Eurasia on this map: http://img255.imageshack.us/my.php?image=eartheast1ri4.png.

I don't remember which one was with the project I sent you but I'm thinking it's the freshly split one with the incredibly sharp shoreline.
Coordinator
Mar 12, 2008 at 1:31 PM
Edited Mar 12, 2008 at 1:40 PM
lol at the arnold picture. Take a deep breath or something :oP

Anyway, why does a new card cost so damn much? My 8800GTS cost me about 2-3 days salary, and I really don't make that much yet, because I'm still an industry newb.

I'll check again where Crimea is and let you know.

EDIT: Now that I think about it, flying the camera to Crimia with a scale of 12 and terrain culling messed up (on my end) will be insanely difficult. Is there any way you can fly to it on yours and give me your camera coords? If I can't find it then because of culling issue you can just send me your bounding box fix by sending me Terrain.cs and QuadTree.cs.

I can't get Europe to show up at all at large scales, like 12, because of the culling issue. I'll need the new code.
Mar 12, 2008 at 2:57 PM

LordIkon wrote:
lol at the arnold picture. Take a deep breath or something :oP


Not to worry, I'm busy drinking a glass of Amarula right now. I think better when I'm drunk anyway.


LordIkon wrote:
Anyway, why does a new card cost so damn much? My 8800GTS cost me about 2-3 days salary, and I really don't make that much yet, because I'm still an industry newb.


That would be because you live in America and I live in Africa. Your government give money for social services, my government takes away people's money and properties to buy themselves private islands. In your country internet is a norm, in my country you pay a fortune just to have a line open and then you have to pay on top of that for every gigabyte of traffic you use. As for a well-paying job, I'm unfortunately enough to happen to be here during what I like to refer to as a "passive ethnic cleansing", basically, no matter how proffesional you are, if you are a white man, don't ever expect to get promoted beyond grunt (unless you donate money to your local African National Congress kiosk). I'd better stop bitching now.


LordIkon wrote:
I'll check again where Crimea is and let you know.

EDIT: Now that I think about it, flying the camera to Crimia with a scale of 12 and terrain culling messed up (on my end) will be insanely difficult. Is there any way you can fly to it on yours and give me your camera coords? If I can't find it then because of culling issue you can just send me your bounding box fix by sending me Terrain.cs and QuadTree.cs.

I can't get Europe to show up at all at large scales, like 12, because of the culling issue. I'll need the new code.


My recommendation would be to open up a fresh copy of 0.182b, load the heightmap I provided above as your terrain while putting a plain green (or whatever) 1024 * 1024 terrain map to complement it. Set scale to 12 (you'd have to disable that limitation). Set smoothing passes to 2.
Water elevation : sceneTerrain.scale * 2.75f
Origin of water plane : new Vector3.Zero
Size of water plane : sceneTerrain.MapWidth * sceneTerrain.scale, sceneTerrain.MapHeight * sceneTerrain.scale
And you're set.

Crimea, is in the Black Sea (if that helps any).
Or rather: http://en.wikipedia.org/wiki/Crimea

Gary
Coordinator
Mar 12, 2008 at 3:54 PM
Edited Mar 12, 2008 at 3:55 PM
I know where Crimea is, on Earth, :)

I need to know what coordinates to find it at when the scale is set to 12.

Anyhow, I may try the fresh copy thing, or just set that terrain map as the first terrain as well.

Off-topic:
Sounds like you're not extremely happy with your government. I've never been in this situation so forgive my ignorance when I ask, why don't you move to another country?

I love the US, don't get me wrong, but if there ever came a time when I couldn't stand it I'd be moving elsewhere.
Mar 12, 2008 at 4:10 PM

LordIkon wrote:
I know where Crimea is, on Earth, :)


Sorry, I misinterpreted your statement. Honest mistake. It's just that I'm so used to being surrounded by idiots.


LordIkon wrote:
I need to know what coordinates to find it at when the scale is set to 12.

Anyhow, I may try the fresh copy thing, or just set that terrain map as the first terrain as well.


That would be the faster solution. I'm on my other operating system right now so I can't give you exact coordinates but if you do load the east one first you'd be starting out near Iceland. You just need to travel south-east from there and you'll hit either Scandinavia or the British Isles. From there you should have no problem following the coastline to the Mediterranean Sea. Reach the easternmost end and travel north over Anatolia and you're at the Black Sea and there's Crimea. I know that a scale like 12 sounds daunting but on a map as detailed as that one, Europe's actually quite small.


LordIkon wrote:
Off-topic:
Sounds like you're not extremely happy with your government. I've never been in this situation so forgive my ignorance when I ask, why don't you move to another country?

I love the US, don't get me wrong, but if there ever came a time when I couldn't stand it I'd be moving elsewhere.


I love the US too. I'd tattoo an American flag on my nutsack if it means they'd give me a green card but they don't work that way. I'm not farmiliar with what benefits outside of the US an American citizenship gives you, but with my documents, they'd turn me back at the airport.

As a temporary solution, I'm actually applying for a US student visa right now (hey, I deserve at least 4 years of happiness, right). Already accepted by the university, I just gotta put on my diplomatic mask for the consular officer and I'm set to leave in July/August of this year.

Gary
Coordinator
Mar 12, 2008 at 5:01 PM
If you want to come to the US with no green card or worries of being kicked out just come through Mexico and pretend you only speak Spanish. 12 million others have done it so far with little hassle.
Mar 12, 2008 at 6:05 PM
Yea, you guys really get screwed over with all the Mexicans. And now you've got three major presidential candidates who all want to give the illegals green cards. I'd imagine many people will be voting for a third party this year.

I said I'd do anything to live in America, but becoming a criminal is something I would never consider as an option.
Coordinator
Mar 12, 2008 at 7:02 PM
Edited Mar 12, 2008 at 7:03 PM
Sadly enough, we've let the immigration problem go for so long that the lower-class economy is driven by illegal immigrants, and throwing them out would be very bad economically, especially as the US is teetering on recession and in the middle of a terrible housing market.

I had a theory, but I'm sure it has holes:
- Build a fence so insane noone will cross it, then guard it ten times better than we are right now.
- Tell all illegals that they as individuals or entire families will be randomly exported sometime in the next 10 years.
- After exporting then they can apply legitimately and get in the back of the line like everyone else.

If they leave before they're randomly exported they're be further up in the line, and this would give the economy ten years to gradually adapt to a loss of labor. 10 years could even be 15-20 if needed, whatever it took.
Mar 12, 2008 at 8:59 PM
Seems reasonable.

The biggest problem with illegal immigration in the US (as seen from outside, at least), is that the US government itself seems to be "on the wrong side of the border war".

Like that story about those two border patrol agents that shot a drug dealer when he tried to cross the border and resist arrest. They're in prison now and the government gave the same drug dealer a green card so that he can testify against them. Man, that's bullshit.

Not nearly as bad as how they treat Law Enforcement Officers here, but unnecessary nonetheless.

I'm wondering, obviously living outside of the States one wouldn't know, are there really not enough American workers to fill the lower class jobs? I mean, are all those trailer trash inbred rednecks a complete myth?
Coordinator
Mar 13, 2008 at 12:11 AM
Technically the unemployment rate suggests there aren't enough people to fill those positions. Good point.
Mar 13, 2008 at 10:51 AM
Just out of interest, what is the unemployment rate over there. 'Cause anything higher than 0% means that the illagals taking up the jobs have to go.
Coordinator
Mar 13, 2008 at 1:51 PM
I believe it is around 4.5-5.0%, but I'm not sure if they factor in homeless people, some of which are simply unwilling to work, or mentally unfit for it. And there are people that are mid-upper class that when laid off from their jobs, will recieve more from unemployment then they would if they took a lower class job.
Mar 13, 2008 at 4:02 PM
Yea, how does that stuff work? I don't mean to sound like a fascist but people should get paid what they work for.
Coordinator
Mar 13, 2008 at 7:43 PM
Well without unemployment checks, even losing your job for a few weeks could result in losing a house, or other serious things. The thought is that by helping them out temporarily, there are less shocks to the economy from layoffs. The problem is this keeps people from taking back jobs that are "below them", or jobs that won't pay their bills. Also, people tend to ride on unemployment too long in my opinion. Similar to the welfare system.
Mar 14, 2008 at 2:27 AM
That's perfectly understandable, HOWEVER, a slight ammendment to this procedure would prevent the shocks from retrenchment and make sure people don't "cheat" with their unemployment.

It's quite simple really. All they have to do is not give them the money, but rather loan them the money. They can be lenient, that is, no interest and a very long term to pay it off; but, of course, it must be payed off eventually. So the longer you stay on unemployment, the further in debt you are (just without the burden of interest).

It could work.

And besides, when did the US government get so socialist. I thought Americans live and breath anti-communism. (Cold War, Vietnam War, Korean War etc)
Coordinator
Mar 14, 2008 at 3:34 PM
The U.S. has been swinging toward the democratic party much as of late. Democrats are very socialistic. They tend to increase taxes so that the government has the money to "take care" of its citizens, where Republicans tend to lower taxes, which means less help for people, and assumes they can take better care of themselves.

I see both arguments, and unfortunately have no faith in either side to take care of my personal views.
Mar 14, 2008 at 3:52 PM

LordIkon wrote:
I see both arguments, and unfortunately have no faith in either side to take care of my personal views.

Eloquently put.


In regard to the fiscal aspect of the left/right spectrum, I'd personally say that there should be some social programmes such as:
Help for the mentally-handicapped, who have the physical capacity to work but due to fault not theirs, cannot.
Help for the physically-challenged, who have the mental capacity to work but due to physical constraints, cannot.
And of course subsidies for staple diets (bread, rice, and other tasteless high-fibre crap like that).
But the system should be made in such a way that under no circumstances can it be exploited. For example, you have all your limbs and fingers, your mind is functional, go cut sheet metal for minimum wage, don't wait for social. In the States, there are post-sufficient scholoraship and student-loan programs for those who want them (as far as I know), so if one dreams of something bigger, the lack of funding doesn't stand in your way.

Just my two cents.
Coordinator
Mar 15, 2008 at 1:48 PM
One problem with someone that made $200k/year, and is now working a minimum-wage job while they look for new work, is that there would be high turnover in those temporary jobs. Unless the jobs were designed with the understanding that they're temporary, then it might be costly for the companies to have needless turnover of jobs.

To get a student-loan, the only real requirement is that someone with decent credit co-signs with you if yours isn't good enough, so the loan companies know they have a good chance to get paid back eventually. The problem with that is people who are raised in poor families may not know anyone with enough credit for a loan. But I guess in this case scholarships/grants can help out a lot. It is sad that the people with more money, can more easily afford school, can easily go to school, so they can more easily make more money. The rich keep getting richer isn't just a saying, it is actually, and factually, becoming worse. I believe something like 97% of the money in the US is owned by 5% of the population.
Mar 15, 2008 at 4:01 PM

LordIkon wrote:
To get a student-loan, the only real requirement is that someone with decent credit co-signs with you if yours isn't good enough, so the loan companies know they have a good chance to get paid back eventually. The problem with that is people who are raised in poor families may not know anyone with enough credit for a loan.

I don't mean to usurp you of your standing in regard to knowledge of the US since, for obvious reasons, you'd know much more about that than I would, but what about community colleges?

I hear that the US government sponsors these places so that they can provide education to students for a very low price. Obviously they aren't as glitzy as the privately funded universities but their degrees don't hold less weight, do they?

And if you apply yourself while at the community college, when you finish your two years and plan to transfer, you can get a scholarship at a big university.

I read, for example, that when you apply at Stanford University (alledgedly one of the best in America) they first decide whether they accept you or not, and only after this decision do they check how much you can afford, subsidizing you for the rest.

Of course that only applies to US citizens, so that's beyond my reach, for example. But one who is a US citizen shouldn't have trouble getting in if they prepare for it, regardless of funding.

Well, I'm talking now as if I know that all of these things I've read are fact. Feel free to correct me if I've just fallen for propaganda.



LordIkon wrote:
The rich keep getting richer isn't just a saying, it is actually, and factually, becoming worse. I believe something like 97% of the money in the US is owned by 5% of the population.

And that's where my (rarely seen) socialist side comes out. Two words: PROGRESSIVE TAX. The ultra rich won't feel the pinch if they give $10m rather than $7m out of their $100m annual income.

This "extra income" that the government receives beyond the flat tax can then be used exclusively for education and health funding so that a hard working individual won't be incarcerated by the caste system and can instead rise to reach his/her/its potential. The lazy buggers can stick to washing my windscreen with a wet newspaper.

I'm sure that, like everything in our wonderful world, the above plan has some major downfall which I can't yet see; but the benefits from something like that would be tremendous.

Gary


Addendum:
I'm not a communist, so no Russian Reversal "jokes".
Coordinator
Mar 17, 2008 at 5:06 AM
There are community colleges of different types, some will help you get your basics to get into the field. However they're not always enough to get you your dream job. So it really depends on what you're looking for. Also, some community colleges are not state funded and are therefore no cheaper than your standard state university.

I chose to go to a community college over Colorado University. CU didn't offer computer science specifically for video game development. It turned out rather well but I must say that my school ended up being strong on the game development side of things but very lax on the programming requirements. Therefore the last year I pretty much taught myself all the programming I was going to need, where as the University would've kicked my ass into gear with programming practice, but it may not have been geared toward games whatsoever.

Anyway, I'm on both sides of a progressive tax. I believe just because you're rich doesn't mean you should have to give a higher percentage, but at the same time I also know many rich people are rich because they often take advantage of the lower class. CEO salaries, gas prices, and all the corporate BS that goes around is a bunch of bullshit, and it is all for the powerful rich people, so a progressive tax may help level the playing field.
Mar 17, 2008 at 9:10 AM

LordIkon wrote:
Also, some community colleges are not state funded and are therefore no cheaper than your standard state university.

Really? I always thought that was what defined a community college (state funding).


LordIkon wrote:
I chose to go to a community college over Colorado University. CU didn't offer computer science specifically for video game development. It turned out rather well but I must say that my school ended up being strong on the game development side of things but very lax on the programming requirements. Therefore the last year I pretty much taught myself all the programming I was going to need, where as the University would've kicked my ass into gear with programming practice, but it may not have been geared toward games whatsoever.

Not to worry, I taught myself all of the programming I need, no formal training whatsoever. I suppose that's why I suck at it so much but that's a story for another topic.


LordIkon wrote:
Anyway, I'm on both sides of a progressive tax. I believe just because you're rich doesn't mean you should have to give a higher percentage, but at the same time I also know many rich people are rich because they often take advantage of the lower class. CEO salaries, gas prices, and all the corporate BS that goes around is a bunch of bullshit, and it is all for the powerful rich people, so a progressive tax may help level the playing field.

The progressive tax shouldn't be punitive. For example, you shouldn't get more money after tax with a lower income, that would just be ironic. But is it totally necessary to get tax from the janitor at the K-Mart who barely makes enough for his family. I mean, at a flat tax rate, all of the janitors in America's taxes put together will equal one installment from some big businessman (who probably inherited it all from daddy and doesn't know the first thing about it, or anything else).