Erik_
COBOL Roguelike
Fri May 07, 2021 3:26am

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.




    • Added new "conveyor belt" functionality - Erik_, Fri May 28 2021 1:32am
      I was trying to think of other "nifty" tile 'effects' I could add besides just teleports and decided to also add conveyor belts. These push the player in the direction that they're programmed to push in at each game tick. The player can speed up using these by going with the direction of the belt... more
      • Those can be cool - Puckdropper, Sat May 29 2021 5:05am
        I remember conveyor belts with some versions of Zelda. They would also have a switch to change the direction of some belts, so you couldn't access something without finding the switch first. You'd also sometimes be propelled towards an enemy, so you had a problem you had to fix first.
        • Oh! I remember that. That's an excellent idea! - Erik_, Sat May 29 2021 3:03pm
          I was already thinking of switches to open doors and such but didn't think about reversing the conveyor belt's direction. I guess I can reverse the foreground and background color when they get reversed. The tile character can be anything so I don't think I can just swap it to a " Thanks!
          • Flipping color can be a pretty good clue. - Puckdropper, Wed Jun 02 2021 4:37am
            Especially if you choose contrasting colors so it's easy to see that things have flipped. That might help for "color challenged" people (if you think any such people will play your game.)
            • 95% implemented now... (demo video in message) - Erik_, Thu Jun 03 2021 1:16am
              I created a test world that requires you to flip the switches back and forth to get to the exit teleport. I guess I could have picked more contrasting colors, but for just a test I think it's okay. I'm currently not sure if I want to keep the "blinking" while reversed feature or not. (Actually, it... more
              • I like it. The conveyors work well, it's easy to tell what - Puckdropper, Thu Jun 03 2021 4:56pm
                they're doing. That hidden or secret wall, though, I'd never have discovered. There was a game called "Milton's Secret Castle" or something. Waste for $5 on the Wii Play store. You basically had to know where everything was to unlock secrets or hidden things, and try everything on every tile. ... more
                • Thanks! Glad to hear it's clear what they are. - Erik_, Fri Jun 11 2021 4:05pm
                  Yeah, I guess I could have set the conveyor belt to push you all the way into the wall or something. Where that secret wall is now, you can't exit back out any other way but it could leave you pressing every wall to see which one might "open". (If you even knew that was a possibility).
                  • I've seen games do that the first time - Puckdropper, Sat Jun 12 2021 3:28am
                    to "teach" the player that there's a walk-through wall. The next time, they do just what you did. OTOH, some successful games do go for the inescapable chamber approach.
                    • way to show new features to the player. Give them a spot to learn it so that they know how it works in the future (or know to look out for it.) I remember reading the first level in the original Super Mario Bros was designed like this. It showcased jumping, enemies, pits, star power, mushroom, flower... more
                      • People read tutorials? - Puckdropper, Thu Jun 17 2021 2:41am
                        Before they're stuck? I just don't understand them... People that is. Some will read, some won't but they'll all play the game. The cool thing about the first level was it did all those teaching things but still felt like "level 1" of the game. Some games have a "teaching" mode that feels exactly... more
                        • go "yeah yeah, I got it." then get stuck and go back to it and "ok what did I miss?" haha For the game, I was thinking like a small set of maps (or probably just one) that just walked you through the different things. That way you're not sitting there reading dense text and get a little sandbox area... more
    • Cool! - Puckdropper, Sat May 08 2021 1:57am
      I kinda like just calling the character "Adventurer", it's very classic PC-game. Nintendo was the one who had you naming your character (4 whole letters!). I often just called it "Link". How does your HP system work? When the enemy attacks, it looked like you took very small damage. (Video 2.)... more
      • damage to either 1 or 2 so that they wouldn't kill me before moving to the next section. Right now, your health gets increased and refilled at every level up. I plan on adding health items that will heal you for a certain amount when you pick them up down the road. I think in Zelda for NES you... more
        • It's a bit of a balancing act... - Puckdropper, Mon May 17 2021 4:23am
          Making sure someone gets some playtime for their quarter (arcade game reference) while not making things too easy so they get too much play time. Yeah, I'm thinking the Capcom Zeldas on Gameboy did 5 letters. It's been a long time since I played the other ones.
          • It's definitely not the fun part of making a game. - Erik_, Thu May 20 2021 5:13pm
            At least not for me! Right now, I'm not really worrying about it so much as the test level data formats are still in flux with me making changes. All the levels in the screenshots/videos no longer work with the current version of the editor and engine. I have a few test levels I've thrown together... more
"Forces act when not restrained" - Puckdropper