This project has stemmed from the QB tile engine idea from the previous thread where I decided to try and make it in COBOL (
https://nediscapp.herokuapp.com/discussion.cgi?disc=46108&article=36793&page=0 ). It's been slow going with work and everything but I think it's finally getting somewhere! :)
The video below shows the current state of things as of today. The first area is a traditional Roguelike level I threw together in the editor to see how it would work. The other areas are less traditional open world like areas.
Video demo of current state:
Currently the enemy AI is stupid. It will just try to make a straight line to you. If it can't, it will keep pressing on the wall until you move to an angle it can move closer.
There are no item pick ups but you do get experience points for killing enemies and will level up when you get enough of them.
Players also cannot set their name yet. It's just hardcoded as "Adventurer" for now.
The big missing aspect of the game that I'd like to work on next is the "fog of war" is currently missing. This would have the map get revealed as the player explores instead of having it visible from the start.
The game is turn based but it is based on game ticks. If the player moves, that will be a game tick. If the player does not move within a timeout value, that will also be a game tick. Each enemy has their own configured amount of ticks before they can move again. This value is set with the rest of the enemy values when creating the map in the editor. So, a slower enemy may have to wait 25 game ticks to move whereas a fast enemy may only need to way 1 or 2. If you end up standing still to think about what to do next, the enemies will still hunt you down and get you. This may lead to a hallway full of enemies once you start to go exploring again as they all started to descend upon you (or you could get surrounded and beaten to death!).
If you hold an attack on an enemy (arrow direction key in the enemy's direction when standing next to them), you will parry back and forth quickly. That said, the enemy will still need to wait their configured game ticks before their next attack. So for example, an enemy has a wait time of 3 ticks. You could possibly get in 3 hits before they can hit you back for 1. The game "rolls" for hit like DnD, on both sides so there's no guarantee you will hit or they will hit though your chance of making contact improves with level, as does the enemies as they get harder.
I think some Roguelikes are straight turn based where you stand still, no one will move but I think I like this idea better. If you stand still to think, the bad guys will still slowly hunt you (later of course when they have better "AI").
Anyway, I'm rambling here. I figured I'd share it here now that it's actually slowly becoming something.
Also, I had someone star my GitHub repo for it like a week ago or so. I guess it came up in a search. :)
Github link:
https://github.com/shamrice/COBOL-Roguelike
Edit: 5:30pm
While waiting for my scripts to finish running at work, I decided to tinker with adding the dynamic map exploration. So far, it's coming along pretty well! :D Video below demonstrates how it works. I still need to add some sort dynamic seeing distance based on the light level of the area the player is in. Right now it's hard coded to 3 tiles in each direction of the player.