Floodgate - Randomly Generated Sewer System Search Thingy

* As of now this game is just a toy project. However, maybe some day it’ll be considered game worthy. *

Finally, something other than a 1D shooter project, amirite?

However, with all seriousness, for the last day or two I took my current random dungeon generator system and decided to take it in a completely different direction. I was frustrated with the amount of content that would go into a good Rogue-Like and rather over-whelmed with school, and all the other stressors in life. I went to bed a defeated man, but when I rose the next morning, I awoke determined to code. So here’s the exact paper description I wrote down for the game:

Basically, you run around this sewer system in search of a valve that will stop the water from spreading. You can improve your chances by impeding the water’s spread by tossing out player-made barriers or closing, and opening floodgates. You have 15 seconds of oxygen which can be used to swim through flooded hallways in search of an air pocket, and such.

The game is in alpha 0.0.7.

Current Features:

  • Random sewer generation
  • Efficient water spreading
  • Player is able to place barriers (Currently limitless)
  • Player-made barriers are destroyed after being exposed to water long enough.
  • Floodgates
  • Some form of a GUI.
  • Classes
  • Inventory
  • A bunch of fun items I don’t feel like typing again.

Planned Features:

  • Better artwork.
  • Persistent upgradable player that you can buff up for each run.
  • Perhaps enemies to fight or traps?

Download the launcher!
https://dl.orangedox.com/KdkcGZ586ptjzMR9di/Floodgate%20Launcher.jar
I recommend putting the launcher in its own folder because it makes its a new directory called files.

Arrow keys to move, and Space to generate a new map.
Space next to a chest will open it and put it’s contents in your inventory. Left-Shift now makes the player sprint however this uses oxygen. Inventory is now swapped to the I key, and the numpad now works as well to toggle the Floodgates. M toggles map focus. If you have it of course. ESC will either close the game, or any popups open on the screen. Single click in the inventory to drag, double click to use an item, and right click to view more info on an item.
Controls: WASD - Movement. SPACE to turn valve. Click to place barrier. Press 1 to toggle red doors, press 2 to toggle green doors, and press 3 to toggle blue doors.

Github:

Trello:

Screenshots:

New Generation Showcase

v7 Item Showcase

Ice Potion Showcase

Potion of Duplication Showcase

Mini-Map (Live updating too :wink: )

Inventory Management and Gear

Inventory and Placing/Removing Demonstration

Source code for random generation
It’s a paste bin.
Feel free to critique my code as I’m sure there are better ways to go about this. This is just the first way that worked for me.

Nice work! I would prefer to see the corridors twice as wide - they seem a bit too narrow as is.

Turned it into an actual game now! Check it out!

Made the hallways bigger! Thanks for the tip!

v0.0.4 is Complete

I’d love to hear a bit of constructive criticism on this project so far. So feel free to give some.

Added:

  • Color-coordinated randomly generated floodgates
  • Tweaked random generation, and difficulty.
  • Stress to developer. :wink:

Press 1 to toggle red doors, press 2 to toggle green doors, and press 3 to toggle blue doors.

Download:

Images:

Majestic still image of a gate

Gates in action

Randomly Generated Sewer System Search Thingy”, now that’s a game I didn’t know I wanted to play until I saw it :slight_smile:

Looking forward to seeing what sort of problems or puzzles you can come up with for this game mechanic.

You asked for constructive criticism, so here you go!

The game runs smoothly and I couldn’t find any bugs. A barrier can also be placed under the valve sprite which doesn’t make much sense and is not a bug because the valve still functions. As for features, it would be nice if you could remove a barrier with a right-click. It’s pretty easy to accidentally block yourself in. The movement in the game reminds me of turn-based RPGs - is this intentional? It could have more fluidity if movement wasn’t restricted to individual tiles.

All that aside, I’m excited to see what you do with this idea you have here. Lots can be done with this! :slight_smile:

[quote=bornander]“Randomly Generated Sewer System Search Thingy”, now that’s a game I didn’t know I wanted to play until I saw it Smiley

Looking forward to seeing what sort of problems or puzzles you can come up with for this game mechanic.
[/quote]
I mean, what else can you call this? I have no idea. I’m thinking about adding traps, and locked doors, and such. Any other ideas are more than welcomed!

[quote=EtmosCode]You asked for constructive criticism, so here you go!

The game runs smoothly and I couldn’t find any bugs. A barrier can also be placed under the valve sprite which doesn’t make much sense and is not a bug because the valve still functions. As for features, it would be nice if you could remove a barrier with a right-click. It’s pretty easy to accidentally block yourself in. The movement in the game reminds me of turn-based RPGs - is this intentional? It could have more fluidity if movement wasn’t restricted to individual tiles.

All that aside, I’m excited to see what you do with this idea you have here. Lots can be done with this! Smiley
[/quote]
I’ll fix that tile glitch as soon as I can. As for the removing of barriers, I’ll get that in as well. Now onto the important topic. I didn’t exactly intent on tile-based movement, but this project was originally going to be a turn based RPG, so I just kept the idea. Do you think the game would look better with velocities, and free movement? I’d still keep all AI’s and water being tile-based, but fluid movement doesn’t sound too bad to implement.

a tip: build a game around concept to kill enemies trapping into sewer and then flooding ?

https://gyazo.com/689fb2c838e4ce00b06b2b370e58fcc2

This is after just unzipping the package from your Dropbox :frowning:

[quote=Gornova]a tip: build a game around concept to kill enemies trapping into sewer and then flooding ?
[/quote]
Very good idea, however, in this game I want the player to feel like they are being pushed and blocked in. So I’d like the water to be the main enemy, and anything else just something to slow you down.

What OS? Linux? Make sure you have the res folder in the same directory, and if you could, check to see if the wall_floor_tiles.png is in the res folder.

[quote=“Jacob_Pickens,post:7,topic:55890”]
Yes! That’s an opinion, but a game’s movement can often set the tone.

v0.0.5 is Complete

I added in a lot of cool things in my opinion. Including classes. I of course have to balance them, but hey, they’re a nice touch. Also, the inventory is super cool. Though it was basic, I’ve never made one before so I’m glad I was forced out of my comfort zone. I plan on adding in a lot more items in 0.0.6. Anyhow, as usual, I’d love to get some more feedback.
By the way, I plan on keeping the Rogue-Like movement as of now. 1) The engine was not even close to being built for that, and as far as I’m in now, I don’t think it’s really worth it. 2) It kinda fits my theme in a way. The game was originally intended to be a Rogue-Like.

Added:

  • Fullscreen mode and multiple different resolutions
  • Basic classes. (Normal, Runner, & Big Lunged (He has a lot of oxygen so))
  • A main menu
  • Death menu and restarting (No more exiting the game!)
  • Inventory!
  • Barrier Items that can be placed and removed and what not!
  • Health and oxygen bars
  • Probably some other things I forgot too.

Press Left-Shift to open up the inventory. You can click on the items to use them. Also, the colorful things on the main menu are buttons.

Download:

Images:

Demonstration of inventory and place/remove mode

Classes!

Great game so far! The concept is pretty interesting and the the effects and looks in general are good for this stage of development. It would be cool to have maps (or tilesets) of lava or a toilet bowl to go with the game play. One problem is I get an error when I choose to do FullScreen:


org.newdawn.slick.SlickException: Failed to find value mode: 2720x1024 fs=true
	at org.newdawn.slick.AppGameContainer.setDisplayMode(AppGameContainer.java:146)
	at com.pickens.main.Game.main(Game.java:98)

Monitor resolution isn’t 2720x1024 though.

I would assume this is a problem with your set up. Currently the code uses the Toolkit class to find screen size, and then sets the width and height of the game to that size.

v0.0.6 is Complete

This was a gigantic update in my opinion. I didn’t get much work time this week, however, though because I was dangling some benders in hockey, but hey I added a lot! Including mini-maps, gear, and polishing up the inventory! (There is movement and shiz now!) Feedback, as always, is extremely welcome. (To the point of me practically forcing you to give it.)

Added:

  • I made some pretty player art. (It took me an hour. :’( )
  • Gave pretty much every key binding a GUI button as well.
  • Made chests that are randomly place in the map that give you random gear!
  • Made a gear ranking system, and made it visible in the inventory. (Minor, Normal, Major, & Ultra-Major)
  • Made a minimap item. You can toggle focus and such.
  • Inventory randomly rolls minor loot at the start. (Pretty much just barriers at the moment.)
  • Added in sprinting (Left-Shift), but it uses oxygen.
  • Added in bubble items that fill a bit of your oxygen bar when you’re running low (Also refills scuba tanks.)
  • Added in the item info page. (Right Click on an item.)
  • Made the inventory completely editable. You can move and remove items now!
  • Made gear slots at the top of the inventory. (Head, Body, Feet)
  • Added in Running Shoes which increase land speed.
  • Added in Scuba Flippers which increase water speed.
  • Added in Scuba Tanks that are stored oxygen used before your player’s oxygen. (Refillable with bubbles)
  • Added in Dice that re-rolls an item for another item in that same loot rank.
  • All gear has either Damaged, Used, or New condition specs affecting the effects.
  • General polish and stuff.

Space next to a chest will open it and put it’s contents in your inventory. Left-Shift now makes the player sprint however this uses oxygen. Inventory is now swapped to the I key, and the numpad now works as well to toggle the Floodgates. M toggles map focus. If you have it of course. ESC will either close the game, or any popups open on the screen. Single click in the inventory to drag, double click to use an item, and right click to view more info on an item.

Download:
https://dl.orangedox.com/diOIhs8CUuJjgp6OtQ

Images:

All of the items. (Flippers and Shoes both have the same sprite right now.)

Mini-Map (Live updating too :wink: )

Inventory Management and Gear

v0.0.6 is pretty cool. Love the new inventory system, sprites and loot! It’s nicely laid out and the management was straightforward. That’s usually the most frustrating thing with a new game, but you managed to get it right. :slight_smile:

Two Notes

  • For some reason, I could go not go through this gate vertically. It was disabled and switching it ON/OFF didn’t change the collision. Not sure what happened there!

  • When using the inventory, your oxygen does not deplete. Ignore this point if that is intentional.

That water looks totally gross, I like it. Nice job on the game so far!

I was having plenty of fun figuring out the game. Although, the immediate quit upon pressing escape ended my fun too quick.

Thanks! Anything I could change or perhaps improve?

Yea, I do agree. Using escape is a ballsy move when closing out your inventory and other GUIs. I, of course, plan on making a pause menu that would allow you to click leave or not, but since its such an early early build, I decided my time was better spent improving gameplay, however I am very glad you are having fun! I actually have 80+ items designed for the game already, just a matter of adding them in, so you will have much to figure out soon enough. Thanks for the feedback!

Sorry for the late reply. Must’ve missed the message. I’m glad you like the inventory. I’m very proud of it. Now with the floodgates, this glitch has been brought up to me multiple times, however, I was never able to recreate it. I don’t understand how it works, and it’s happened to everyone but me. So I guess I have a bit of studying to do. Other than that, the inventory completely pauses the game so that you can re-gear your character and take time to think it out, but you can’t open a map in the inventory because maps don’t pause the game. I did this so that people are still rushed while they are looking in the map. Otherwise the game gets boring and gives you too much time to plan. The whole point of the game is quick decisions, so I hope that will always ring true. Thanks for playing and giving feedback! v0.0.7 should be out soon!