3 ms·
That's a good example too of how the best option for a game (which is supposed to be fun) can amount to a hand-tuned game-specific solution despite the temptati
by wild_preference 8y ago
That's a good example too of how the best option for a game (which is supposed to be fun) can amount to a hand-tuned game-specific solution despite the temptation I think most of us have as developers to come up with generalized solutions.
Maybe your LoS algorithm sucks with 1x1 columns and windows, so decide your game doesn't need them and you move on.
Kind of like how the classic mistake you hear about among gamedevs is that they built a game engine instead of the game, basically the end result of constantly following the siren's call of "I'll just generalize this."
- s_m_t 8y ago>Maybe your LoS algorithm sucks with 1x1 columns and windows, so decide your game doesn't need them and you move on. I really like this viewpoint. The awesome thing about a game (and a roguelike in particular)is that YOU generate all the data your algorithms operate on. I'd take your solution a step further. If LoS is the thing holding you back... don't put ANY walls or LoS blocking terrain in your game. What would a roguelike look like without walls? Would it be any fun to play? Maybe you'd have to make it set on the high seas or in space to justify not having walls or LoS blockers. Typically walls are used in a game to limit the players movement, limit information, and provide meaningful choices in terms of where to go next. Keeping in line with the LoS theme, you need some sort of gameplay mechanic to fulfill those criteria without forcing you to code a sophisticated LoS algorithm. Wind, current, and fog could fulfill those criteria without having to code any LoS beyond fog of war.
- thegeekpirate 8y ago> Keeping in line with the LoS theme Line of sight would be a fantastic Ludum Dare theme!
- Fjolsvith 8y agoOr, call no LoS a spell feature (X-Ray vision) and code LoS later on, after you've had time to think it through.
- cl0ne 8y agoI've made the classic mistake. It was a good learning experience, but we probably could have finished the game if we just used an engine.
- Torwald 8y agoBecause it's two disciplines. The moment you have to decide wether to "generalize this" or not, you are a game designer, not a coder anymore. Completely different headspace. So, path of least resistance is to continue coding aka "I'll just generalize this."