Yeah, so the random generation currently is pretty dumb in that it cuts our randomly sized rectangles around the map. The room detection algorithm is then run to identify contiguous free space. The next step is to connect the rooms via tunnels and secret passages.
Yeah, I think some really interesting mechanics can be utilized with a lighting system. Torches, spells, and other lighting effects could have really cool effects but also could lead into some sort of stealth system.
While the shaders work well for the lighting effects, I still needed to implement proper field of view calculations. Instead of using traditional grid based approaches favored by most roguelikes, I'm going to be using a vector based solution presented by the developer of Monoco. Tonight I implemented the first step of the algorithm by collecting the list of all edges that are facing the player's position. That is, all edges which could possibly be illuminated before calculating occlusions.
I also implemented a better debug system so I can quickly switch between debug and full effects mode.
You seem to have problems with sightlines going through walls.
That's a bit by design at this point. However, I realized yesterday that my projection of the lines are not quite correct. Combine this with proper line intersection and I should almost be finished. Just need to find the time to implement it however.
Still working on Field of View. Not much done tonight, but I implemented sorting of the edges based upon distance from the player. The debug is displayed below where the edges are colored from red to white based upon their distance from the player. I also implemented a line intersection function, although it's not currently integrated. Should finish this component up in the next session or two depending on how much time I get.
It would be awesome to do something similar with sound. Have certain things make noises, and calculate how far away it is, how many corners the sound must go around, and the size of the space it is in. Then lower the level of that sound and add the right amount of reverb. Instant spooky sound scape!
Still working on Field of View. Not much done tonight, but I implemented sorting of the edges based upon distance from the player. The debug is displayed below where the edges are colored from red to white based upon their distance from the player. I also implemented a line intersection function, although it's not currently integrated. Should finish this component up in the next session or two depending on how much time I get.
Why aren't all the wall vertexes mapped to the character? Also is the point that it identifies intersections between vectors and the walls and should only shade to that edge? Seems like you could filter out any vectors that intercept an edge since the character wouldn't any of those vertexes. I've never tinkered with anything like this though so I'm just guessing what is happening.
I've been working on a fun project to put in results of three club combat tournaments and spit out points and rankings. The points and rankings are based on the ATP tennis system. The coding is really, really shit, and spits out super ugly pages, but the results are useful.
The plan is to encourage more people to organize more Fight Night tournaments at more juggling conventions, and the points and rankings are to help with seeding players and seeing who is best over the course of a year (spoilers: Jochen is the best).
Comments
Yeah, I think some really interesting mechanics can be utilized with a lighting system. Torches, spells, and other lighting effects could have really cool effects but also could lead into some sort of stealth system.
I also implemented a better debug system so I can quickly switch between debug and full effects mode.
Wait, no, I don't understand this at all.
Here are the current rankings.
You can also see pages for individual players showing their results and rankings over time, pages for individual tournaments, and a big page showing all rankings since 2005.
The plan is to encourage more people to organize more Fight Night tournaments at more juggling conventions, and the points and rankings are to help with seeding players and seeing who is best over the course of a year (spoilers: Jochen is the best).
I've been Pythoning for... 4 years?
even_numbers = [x for x in range(0,100) if x % 2 == 0]