-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Terrain types and resistance to movement #205
Comments
It can be very useful for robots to synchronize their movements. Roads can guarantee that all robots take the same ammount of ticks per This can also contribute to scaling difficulty with expansion! |
I think this sounds like a fun idea. A few thoughts:
|
Some ideas for terrain types, with suggested friction values:
Maybe mountains, instead of being impassable, could just have a very high friction value (e.g. 10 or 20). Also, perhaps |
Also, if we want to allow road-building, then there would need to be a way to "terraform", i.e. change the terrain value. |
@byorgey terraforming would be useful for system robots. 👍 I wanted to reveal new rooms in a challenge but realized I could not change the terrain. I can work around it using blank terrain everywhere or with entities that obscure the terrain, but being able to change it would be nice. |
Right now terrain is immutable but there's not really any good reason for that. |
I guess we would need a map of sliding robots. 🤔 That way, whatever the robot is doing it will slide on the ice at the end of the tick. A funny consequence of that design would be that moving and sliding in one direction would be the fastest way to move with 2 squares per tick. , slidingRobots :: Map RID Direction If we wanted to see the individual moves, I think we would have to refresh the UI before and after the sliding. |
I don't understand, why would they move twice per tick? My idea was that if a robot is sliding then any In any case, a |
@byorgey I was thinking about sliding in a different way - a bonus move at the end of the tick. Executing move would change the direction of sliding or stop. In that system we can have fun with adding the direction of slide and move and possibly moving diagonally. Making velocity more than one extra move is a bit more complicated and I am afraid it would be hard to see on the map. |
But a frictionless ice where you keep your direction from stepping onto it also sounds like fun! 👍 |
It could make for a fun programming challenge to cross a swamp/quicksand with a pair of leapfrogging robots. The property of this type of terrain would be: a tile is only passable of it is occupied by another robot. An extension would be: after completing one challenge with a pair of robots, the next challenge is to make a long bridge of robots. Continuing a stream of consciousness: can we make a wolf, goat, cabbage game out of river-crossing? |
Taking some inspiration from an ice surface that only allows travel in a straight line... What if we took that idea a step further, and made it so that on any terrain, robots can only travel forwards or backwards along a straight line from the base, unless equipped with a "steering wheel". To put another way, only longitudinal, not lateral, movement is allowed by default. Perhaps this mechanic would only be exploited in niche challenges, and robots would normally have steering wheels equipped by default, like solar panels are in the tutorials. |
Back to the ice sliding mechanic, I recall playing a game where tiles that represented 45 degree walls could "divert" the "missile" to the side by one tile, and thereafter the missile continues along the original direction (now offset laterally by one tile). Such "sloped" environmental obstacles might also work into puzzles with the "no steering wheel" mechanic. |
Such nostalgia! That's a great source of inspiration for tile-based puzzles. |
In fact the game I was thinking of is called Hero's Heart (DOS), or Hero's Hearts (Windows). Coincidentally, a comment on this page described it as similar to Chip's Challenge. |
It's interesting having different types of terrain have different levels of resistance to movement, meaning that the
move
command takes a different ammount of ticks to execute depending on what type of terrain we're on.The ability to pave the terrain (building roads and such) for some advantage would be nice.
The text was updated successfully, but these errors were encountered: