car

by Kaiochao
It's a car.
ID:1884952
 
Move with WASD.
Pretty cool. When the car is pointed north however I get the unexpected interaction of the car icon being faced perfectly north but when I accelerate I turn left.
In response to Zecronious
It's possible that since the icon is so small, you can't see the very small angle that's actually present. There aren't enough pixels to show it, and it doesn't help that the transform isn't being anti-aliased. That might actually be a downside to non-rounded pixel movement...
In response to Kaiochao
Yeah. Not a biggie but if this was going to be used for a game it wouldn't really be playable. I think some of it has to do with the fractional system as well. It's very difficult for me to fine tune where exactly I'd like to go with such a large number of options. It's virtually impossible at a point for me to choose to go in a straight line.
In response to Zecronious
Try changing the shape matrix to something with greater numbers. I released this as a demo, so I encourage you to tinker with it. You can change the speeds, map size, icons, etc.

And technically, if you're not actively turning, you'll always go in a straight line.
In response to Kaiochao
Yeah but what's the point in a car that can't turn or otherwise it'll never go in a straight line again?

I see your point but the mechanic is fundamentally flawed.
In response to Kaiochao
From a human computer interaction standpoint. Mechanically if your fingers had the dexterity you could do it and it would work.
From a game design standpoint, steering your vehicle is a matter of skill, which would be good in something like a competitive racing game. A realistic race track isn't always aligned with the cardinal and diagonal directions.

If you want twin stick shooter controls, where the vehicle automatically steers in the direction of your movement inputs (and maybe you have a mounted gun aiming towards another input) I can do that too. It sounds like fun, so I'll maybe do that tomorrow. However, this demo is complete as is. Changing the control scheme would call for a separate demo.
In response to Kaiochao
I agree that steering is a matter of skill but you've introduced a gulf of execution problem. The user expects the car to go one way, instead it goes the other.

You can't have a driving game in which your car may or may not go the way you've turned it. It just doesn't work.
It's a purely graphical issue. I'll see what I can do to make the direction more clear, if you don't want to do it yourself.
In response to Kaiochao
I don't think it's a purely graphical issue but it might be. Right now you'd be the person to have the best luck to fix it because you know the system better than I do.

I would but right now I'm super busy.
runtime error: list index out of bounds
proc name: Update (/mob/car/proc/Update)
source file: car.dm,87
usr: null
src: NNAAAAHH (/mob/car)
call stack:
NNAAAAHH (/mob/car): Update()
world: GameLoop()
world: New()
runtime error: list index out of bounds
proc name: Update (/mob/car/proc/Update)
source file: car.dm,87
usr: null
src: NNAAAAHH (/mob/car)
call stack:
NNAAAAHH (/mob/car): Update()
world: GameLoop()
world: New()

Whenever you quickly go from 'a' to 'd' or 'd' to 'a', it gives a error. Started after I crashed into the border of the map(first error above)
I found this earlier today. My dir2dx proc is given a value past the length of the list (east+west=12 > 10) if you have both d+a held simultaneously. I fixed it but I don't have internet on my laptop to upload the fix.
This is how the movement controls work in the game I'm currently working on!