3 ms·
Of course, the original Rogue game had an elegant design solution: Rooms are fully visible when you enter them. Passages have a simple distance fog. Some rooms
by jungler 8y ago
Of course, the original Rogue game had an elegant design solution: Rooms are fully visible when you enter them. Passages have a simple distance fog. Some rooms are marked "dark" and also use distance fog. And you can only shoot in the same directions you move in so there is no raycasting needed for projectiles either.
You can implement a solution like that in a few hours and move on. And that's how it tends to work as an experienced game dev: you don't commit to any "real solution" until at least the second go-round, cause you need the context of the whole design to do it properly anyway.
- wild_preference 8y agoThat'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."
- Pulcinella 8y agoyou don't commit to any "real solution" until at least the second go-round, cause you need the context of the whole design to do it properly anyway. Or you just don’t commit to a “real solution” ever. Nothing is more permanent than ‘temporary.’ =P
- xsmasher 8y agoThis sums up the gameplay side of game development pretty well: the best solution has no relation at all to the 'correct' solution.