SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > Releases > Mods

Reply
 
Thread Tools
SRB2 Dungeon Crawler [v2.0.2] - A Rogue-like SRB2 experience Details »»
SRB2 Dungeon Crawler [v2.0.2] - A Rogue-like SRB2 experience
Version: 2.0.2, by Flame ("It's ok, I like you too!") Flame is offline
Developer Last Online: Jul 2020

Version: SRB2 Rating: (4 votes - 4.40 average)
Released: 05-04-2020 Last Update: 05-18-2020 Installs: 9
Single Player Levels Multiplayer Levels Scripts Re-Useable Content Sprites/Graphics

How fast can you and your friends clear a 50 floor dungeon in this...

SRB2 Dungeon Crawler


Intro
Fight through randomly generated levels with increasing difficulty (Max: 5). Most Levels will have randomly generated enemies, and (basic) hazards. If you think this is crazy, or if you think I'm crazy for creating this, you're probably right. Don't believe me? Open up your favorite .pk3 editor and see the level for yourself!

Encounter randomly generated enemies



Experience randomly generated nonsense!



Get to to the goal!



It's also netplay compatible*! Assemble a team together!


Gameplay
You spawn in a random area of the map. Your goal is to reach the spring which will bring you to the next Dungeon Level. At the time of writing, all players must be present on a spring to move on. At the last level, you fight a basic Eggman boss, however he may be accompanied by other enemies to spice up the challenge.

As an added bonus, rings, score and present shield powers are preserved between level transitions.

Helpful Console commands
Code:
dng_printlevel <num> - Prints the desired level. Up to the maximum generated levels.
dng_levels <1-999> - Server only. Defaults to 5. Generates this many levels for a given dungeon. (Requires map switch+reload. Will not generate if in a current Dungeon Run)
dng_clear - Server only. Clears the current dungeon, and starts a new dungeon run from Level 1. (Requires map reload)
dng_skiplevel - Server only. Skips the current Dungeon Level. (Does not work for the last floor)
dng_gotolevel <num> - Server Only. Allows you to skip to a specified floor of a dungeon, if one exists.
  • dng_printlevel legend
    • Below is a list for what is visible to the player in a 48x48 grid (matrix).
      Code:
      Tile.WALL = 0 -- Impassible
      Tile.WALK = 1 -- Walkable
      Tile.CORR = 2 -- Corridor passageway
      Tile.SPAWN = 3 -- Player Int Spawn
      Tile.SPRING = 4 -- Spring (Ascending)
      Tile.RING = 5 -- Ring collection
      Tile.ITEM = 6 -- Item
      Tile.KEY = 7 -- Key space
      Tile.ENEMY = 8 -- Enemy
      Tile.BOSS = 9 -- Boss
      Tile.PIT = 10 -- Death Pit

Problems, bugs?
  • MT_DRAGONBOMBER has been disabled for this release. It has a tendancy to cause an unknown sigsegv with the Eggman boss found on the last dungeon floor.
  • Outside of the MT_DRAGONBOMBER behavior, I have not seen any erratic behavior from any other enemy that would cause an error to happen.
  • Some enemies will be looking away from you when they are spawned. This is expected and I'm actively looking into changing this for the better in a future release.
  • If there are any enemies that DO happen to give an error, or worse, a sigsegv, please report it! I understand the mixing of enemy types can have unexpected results. Please report anything you may be doing at the time of error, if one were to occur. Screenshots and providing your srb2win.RPT file also helps too! Let's work through this together.

Speical Notes
Level generation is random. So don't be surprised if you find a level with a spring next to your player spawn, or a level that has multiple of the same enemy. I've tried to mitigate this as much as I can.


Changelog:
Spoiler: Changelog
Code:
v2.0.2
- Added a helpful message for dedicated server hosts that identifies what Dungeon Level a player is currently on.

Bugfixes
- Fix of Lua error on NONET builds that attempt to find the ALLOWJOIN console variable.
- Additionally, hosting dedicated netgames without problem or error is now possible.

v2.0.1
Bugfixes
- You will no longer obtain erroneous extra lives caused by going to the next dungeon level with 100 or more rings.

v2.0.0
- Added command: dng_gotolevel - Allows you to skip to a specified floor of a dungeon, if one exists.
- Significantly improved networked Dungeon Code for new joiners. [Special thanks to LJ Sonic]
-- Dungeons with less than 100 levels can now safely be joined without host error/sigsegv.
- Default generated levels have been increased from 5 to 10

- First wave of Level clear conditions have been added:
-- Added Level clear condition: Key Search.
--- 15% chance to encounter a Key level in a dungeon. A key must be collected to move on to the next level.
- Existing HUD Element graphics have been modified and new HUD graphics have been added to reflect the addition of this first Level clear condition. [Special thanks to Rubberjig]
- Additional clear conditions will be progressive updates to be added overtime.

Bugfixes
- Console command dng_skiplevel now properly brings ALL players to the specified spring instead of the person (server) that executed the command.

v1.0.1
Hotfix
- Fixed small typo within the code that originally wasn't triggering anything.
- Disallowed joins for *new players* joining servers while in the middle of a run if the number of generated levels is greater than that of it's set default value (5)

v1
- Initial Release

Special Thanks
Spoiler:

Lat' - Inspiration to this Random Dungeon Generation script.
LJ Sonic - Code utilization to optimize sending Dungeon data over network buffer.
CobaltBW - Playtester and Brainstormer for enemy difficulty
Ruberjig - Key and Hud Graphics
Tatsuru - Playtester
Amperbee/Rapidgame7 - Playtester
DylanDude - Playtester
Digiku - Community playtester/support

Download Now

File Type: zip VSL_DungeonCrawl-v1.0.1.zip (1.70 MB, 529 views)
File Type: zip VSL_DungeonCrawl-v2.0.2.zip (1.73 MB, 626 views)

Screenshots

Click image for larger version

Name:	srb20386.gif
Views:	5781
Size:	2.12 MB
ID:	30706   Click image for larger version

Name:	srb20391.gif
Views:	5751
Size:	1.68 MB
ID:	30707   Click image for larger version

Name:	srb20382.gif
Views:	5724
Size:	909.1 KB
ID:	30708   Click image for larger version

Name:	srb20378.gif
Views:	5747
Size:	1.39 MB
ID:	30709   Click image for larger version

Name:	srb20392.gif
Views:	5761
Size:	207.5 KB
ID:	30718  

Click image for larger version

Name:	srb20383.gif
Views:	139
Size:	528.7 KB
ID:	30720   Click image for larger version

Name:	srb20192.jpg
Views:	54
Size:	76.0 KB
ID:	30729   Click image for larger version

Name:	srb20193.jpg
Views:	67
Size:	118.3 KB
ID:	30730  

Supporters / CoAuthors

Show Your Support

  • The author of this addon has given explicit permission for its content to be re-used and/or reproduced.

Comments
Old 05-25-2020   #22
Digiku
Default

Great mod! There's a small Lua error if you're trying to play this on NONET builds. The Lua tries to retrieve the ALLOWJOIN console variable, which does not exist under NONET. As a result, springs are broken.

Under Lua/1-Library/srb2Functions.lua, line 309, change this line:

Code:
allowjoin = CV_FindVar("allowjoin")
if mapheaderinfo[gamemap].dungeon and DNG and #DNG.levels > 100 and allowjoin
to this:

Code:
local status, allowjoin = pcall(CV_FindVar, "allowjoin")
if status and mapheaderinfo[gamemap].dungeon and DNG and #DNG.levels > 100 and allowjoin
That fixes it right up. The rest of the mod plays swimmingly!
Digiku is offline   Reply With Quote
Old 05-26-2020   #23
Flame
"It's ok, I like you too!"
 
Flame's Avatar
Default

That's wonderful! What a sneaky find!
Conveniently enough, I think it warrants a patch release considering this also fixes an outstanding unrelated 'dedicated' netgame issue as well. It just so happens to be something I've been trying to solve in my own spare time.

With that said, v2.0.2 of this script is available!
Code:
v2.0.2
- Added a helpful message for dedicated server hosts that identifies what Dungeon Level a player is currently on.

Bugfixes
- Fix of Lua error on NONET builds that attempt to find the ALLOWJOIN console variable.
- Additionally, hosting dedicated netgames without problem or error is now possible.
Thanks again, Digiku! :)
__________________
Consider giving me a follow on Twitter!
  〃 ∩ ∧_∧
  ⊂⌒( ・ω・)
  `ヽ_っ_/ ̄ ̄ ̄/
       \/___/
Flame is offline   Reply With Quote
Old 05-26-2020   #24
jameds
James
Administrator
 
jameds's Avatar
Default

Could you apply HUD translucency? It was a little out place seeing LEVEL totally opaque to the rest.

Also, you can just attach the pk3 itself, since it's already a zip. =P

I wish there was more progression of difficulty going through the dungeons. That's probably difficult with SRB2's enemies since they're not the most threatening though. It was a pleasant experience though.
__________________
Quote:
Originally Posted by AlamTaz
please directly any issues about srb2.org to NOTGIVINGAFULLFUCK
jameds is offline   Reply With Quote
Old 2 Weeks Ago   #25
Scorpius_Hedgememe
 
Scorpius_Hedgememe's Avatar
Default

This was really fun! I enjoyed it a lot!
__________________
Discord: Scorpius#1065

Fun Fact: 12 plus 5 equals to 17
Scorpius_Hedgememe is offline   Reply With Quote
Old 1 Week Ago   #26
Latius
Hybrid Kart Mapper/Porter
 
Latius's Avatar
Default

Not sure if this is intended or not, but I was playing with a bot, and the bot triggered the spring, causing us to go up a floor as a result.
__________________
You're giving me a little MANIA.

SRB2Kart Track Mapper
Latius is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:34 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.