Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
A jam submission

Stuck In RogueView game page

A Programming Roguelike-like
Submitted by Arkanar Systems — 11 hours, 20 minutes before the deadline
Add to collection

Play game

Stuck In Rogue's itch.io page

Results

CriteriaRankScore*Raw Score
Innovation#184.0004.000
Overall#1122.3332.333
Fun#1272.0002.000
Polish#1351.0001.000

Ranked from 2 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.

Successful or Incomplete?

Incomplete

Did development of the game take place during the 7DRL Challenge week?

Yes

Is your game a roguelike?

Yes

Turn-based

Yes

Meta-Progression

Yes

Roguelike Elements
top-down turn-based dungeon crawler, procedurally generated world. has permadeth, but also has in game scripts that can be saved, modified, and used across runs

Screenshots

Yes

Leave a comment

Log in with itch.io to leave a comment.

Comments

Developer (2 edits)

when attempting to upload an updated version of this game I accidentally replaced the original one. Apparently itch automatically replaces files with the same filename even if the display name has been changed.

I have reuploaded the original file that was made during the jam, but alas, the windows version still says it was updated today (march 13th). Just want to be clear I'm not trying break the rules or anything like that.

Submitted (1 edit)

AMBITIOUS. Access to scripting is a huge draw for me.

I’m excited for you, I hope more comes out of this concept. I’ll keep an eye out for you at next 7DRL or anytime in between!

Gameplay

GUI is rough: I clicked around lots of buttons with kind of no idea what was supposed to do what. The terminal seems to take the arguments off of things but doesn’t give any error or status messages. I guess my examples are running because their print statements come out, but I only have a vague idea what they are supposed to do.

Scripting

character-wise languages are easy to parse but hard to read. Ultimately I have to admit that I may not have the patience to learn this language, which seems like reverse Polish notation version of Lua with a Lisp-y “WORN”-vibe to it.

Translating This Script

On a long weekend I might be tempted to do a search and replace type thing –

Data isn’t too bad:

map = {"pos": {"x": 15, "y": 10}}

->

: map { "pos" { "x" 15 "y" 10 } }

close paren as return statement is pretty mind bending tempted to say ‘horrifying’:

def hello(s0):
    s1 = "hello " + s0
    return s1

->

: hello ( s0 
    : s1 + "hello " s0
    ) s1

conditions and loops:

i = 0
while True:
    if i < 10:
        print(i)
        i = i + 1
    else:
        break

->

: i 0
  !
    ? < i 10
      $ i
      : i + i 1
    ,
      ;
    .
  .

postfix makes this language look awesome and hackery, but I’d have a lot more love for it in the gameplay sense if data could come and go as JSON.

I could not figure out how to interface with the game systems with this language. Is the only interface just the step function name? Can I only control the player? I think there might have been a “right click to configure the target entity” system that I couldn’t figure out or wasn’t fully working yet.

Bugs

  • press “backspace” in an empty terminal (i.e. first thing when loading the game) and get a segfault
  • switching text documents keeps the view scrolled to the previous Y-coordinate, so a short text doc is entirely off screen if you were scrolled down previously.
  • scrolling zooms the world and moves the file listing at the same time
  • file listing scrolls up and “behind” the text editor
  • new game doesn’t restore the files (you can just click the trash can icon and delete the docs and examples???)
Developer(+1)

thanks for the feedback. The bugginess of the interface was the main reason I ended up marking it as incomplete (that and the lack of sound). I plan on releasing a more complete version in a few days.

All entities are scripted and can be modified its just that its hard to tell, I guess cause there's not enough feed back. I now realise this probably should have been the first thing I mentioned in the read me, but connecting  entities can be done by right clicking on an enemy (or item) in the world, you will then see a dark blue line between the player and the entity. If you are connected to multiple entities, you can cycle through active connections with TAB, the active selection is represented by a dark blue line while the others are more of a transparent grey/blue. Once connected you can use the upload and download buttons near the top left of the editor to download and assign scripts to the active connection.  You can disconnect from an entity by right clicking it again.

The default files can be reset with the setting in the 'options; menu called 'reset save'

The terminal is mostly just for print outs and testing, and 'run' is the only command that is implemented. I probably should've disabled inputs in it cause its so buggy though. Funny enough, I went to reproduce the crash from backspacing in the terminal and it looks like I unintentionally fixed it somehow shortly after the submission deadline.

I appreciate your feedback on the scripting language. I can see how it it might not be suited for a short jam game as there are quite a few quirks that have to be learned.  Doesn't help that the examples are also incomplete, as my intention was that you can learn it by viewing the scripts attached to entities.  "postfix makes this language look awesome and hackery" I'll admit the the my main motivation for the design of the language was for it to look cool, and be easy to parse. It was designed originally for a much larger project I'm working on where the player will have a lot of time to get used to it. I'll probably keep the single character keywords, but I am considering switching from Polish notation to something more conventional.

Submitted (1 edit) (+1)

Awesome! I went back and took a crack at it with your instructions. I was able to reprogram some entities:

  • food that refills my health entirely and doesn’t disappear
  • spiders that permanently wander and ignore the player, and use their field of view to scout for the exit
  • landmines that hit for zero damage
  • a bot that hunts for other bots instead of the player

Tried to make a spider hit me for healing, but it seems like it was healing itself instead. Would have been funny to rig one up as a punching bag like that to grind melee attack experience.

I had some issues “defusing” the bombs, especially if they aggro’d immediately outside of the spawn point on lv 2. There’s just not a lot of rounds to link + upload a hack.

edit: Should probably add that I was a little confused on the signatures of the functions used, it seems like ent is the entity itself and fov is the tiles (and entities) the entity can see, but the docs would make it pretty straightforward to dig around in there.

and I meant it before and mean it even more now, this is an awesome concept that I’d love to see evolve. Maybe it’s more cyberpunk than “sucked into a video game”, but I’m imagining:

  • having a budget for the number of opcodes you can add or change, alter the values by a limited amount
  • other enemies investigating “off script” behavior of their allies
  • changing input instead of code, make enemies “hallucinate” that entities have different tags than they do
  • getting through an enemy’s security system without detection, either by requiring certain code still works, or requiring the length or checksum of the modified program match the original

so basically, my hat’s off to you. I think I may put some of these ideas to work myself, this is such an awesome sandbox concept