🏃‍♂️Open source, puzzle based adventure game in your browser

  • By null
  • Last update: Aug 25, 2022
  • Comments: 14

🏃‍♂️ Rungeon

Rungeon is an open source, puzzle based adventure game.

My Skills

Repository version Repository contributors Repository license

📙 About

Rungeon features a series of puzzles in the form of stages, in which the user relies on their wits to 'escape'. The site offers a sense of customizability with a variety of themes sure to fit a user's preference. We're in an active state of development, always building, and preparing the next rungeon stage as you read!

🤝 Contributing

Refer to the contributing file for a beginner-friendly guide on how you can contribute.

  • Suggest changes to existing code
  • Improve upon the site
  • Add new stages
  • Create and solve issues
  • Share the repo

💛 Support

You can support the development of this project by starring the repository, it makes us feel special.

🤔 FAQ

What's stopping me from checking the code for answers?

If you can understand the solution from the code, you deserve it.

The game side isn't my thing, can I still contribute code?

Rungeon is not just a game, it's an environment for developers to learn and improve their developing skills!

How can I reach out or join the community?

You can participate in the discussions, send me an email or join our Discord.

📜 License

This content is licensed under the GNU Public GPL-3.0 license

Github

https://github.com/devkennyy/rungeon

Comments(14)

  • 1

    RGB theme is no longer RGB

    The RGB theme doesn't actually make any of the stage content RGB. The selectors are there but there's obviously a problem.

    #index.theme-rgb .nav-link,
    #index.theme-rgb .stage .icon,
    #index.theme-rgb .doors i,
    #index.theme-rgb .links i,
    #index.theme-rgb #themePopup,
    #index.theme-rgb #themePopup #closeButton {
      animation: rgb 5s linear infinite !important;
    }
    
  • 2

    Achievements

    Todo

    • [x] Allow overflowing achievements to be scrolled by the entire page rather than the achievement container
    • [ ] OnHover descriptions (similar to GitHub's)
    • [ ] Add icons/pictures
    • [ ] Store achievements

    Description

    This PR is built atop the backend PR (#85) and could be the base of an achievement system.

    Changes

    Solves

    Closes #3

  • 3

    Updated Linting-Formatting

    Description

    I'm hoping that this provides an adequate solution to #128 make ESLint format.

    In order to tackle this problem, I chose to integrate prettier and couple it with ESLint that is already present in the application. I also installed the eslint-config-prettier library to ensure that prettier and eslint work well together. I then made sure to add a new script npm run format that allows the developer to format all of the files within the application. I adjusted all potential errors so there shouldn't be any when running the format script. I made a small tweak to the ESLint rules in order to get it to stop yelling at everyone and coincide with prettier.

    Changes

    • added Prettier
    • added prettierignore to mimic gitIgnore
    • added prettierrc config file
    • adjusted ESLint rules to cohabitate with Prettier
    • added format script to run formatting for all files within application
    • proofread rungeon.html, files to delete / edit offending pieces of code that caused ESLint to yell

    Solves

    Closes #128

  • 4

    Stage Remake

    Description

    In an effort to rid the codebase of it's intricacy, this PR addresses the following issues:

    • [x] Creating/modifying stages is not scalable or contributor friendly
    • [x] Excessive JS manipulation

    Todo

    • [x] Themes chosen on main page should carry over into game page or vice versa
    • [x] Remove all unnecessary code

    Changes

    Solves

    • #5
    • #31
  • 5

    Add a tick indication beside current theme

    This was lost in the stage-remake merge and is a change I think we should have. Simply change the text content of the theme title to include a checkmark emoji beside it. Don't forget to clear it when a new theme is set.

  • 6

    Theme popup modifications.

    image

    The bottom margin should be increased and the height should be increased by roughly 1 pixel. Overall, this needs to be more responsive in case we add more popups. Maybe we should remove all the icons on the page? Would love to hear suggestions.

    image

  • 7

    fix: align content vertically

    Okay, I've aligned the content vertically by making the navbar position absolute instead of relative. This does mean that I had to override Bootstrap with an id.

    Closes #67

    The content doesn't need to be horizontally aligned. In your previous image, you were comparing the center of the content with the center of the navbar buttons. The actual center of the navbar includes the little drop-down arrow.

    Screen Shot 2022-07-17 at 12 18 05 PM

    So while It may look off center, in the code it's doing what it should.

    Screen Shot 2022-07-17 at 12 37 27 PM

    I can try to shift the navbar over if you want it more aesthetically pleasing. 😃

  • 8

    theme pop-up

    Description

    When clicking a theme the pop-up close.

    Changes

    1- Call toggleThemePopup in the setTheme function so when clicking a theme the pop-up close. 2- Remove the if statement that only remove de popup if has in the / or /index.html location.

    Solves

    Issue: https://github.com/devkennyy/rungeon/issues/95

  • 9

    Progress bar

    Description

    Created a progress bar to display the progress through the stages

    Changes

    • Added progress bar
    • Added animation
    • Added visibility toggle button

    To-Do

    Fix the theme error?

  • 10

    Add SEO beneficial tags

    There are a few tags that are pleasing to search engines and crawlers. They are used to rank results to users. Right now, we don't have anything but the title tag. Let's fix that so that way the world will know Rungeon exists.

  • 11

    New stage(s)

    Description

    This PR is going to be a collection of at least one new stage. As the stage-remake branch is coming together quite well, I felt that it could use some new stages to go with it.

    • A new stage that uses a custom cursor to (in theory) act as a magnifying glass to help the user track down missing objects.

    To-Do

    • [ ] Resolve the CSS indexing issue that exposes other HTML elements
    • [ ] Determine the missing objects and generate them
  • 12

    Allow players to add custom levels in-game

    That would be a really cool idea. Contributors and players could be able to create levels and add the to the pool of existing levels that other people created. This was just a thought I had...

  • 13

    Add an alert if icons don't load

    Some way to notify the user that the link for icons failed to load. The site is heavily based around icons and if they don't load, there's no site. Let them know they can refresh to try again.

  • 14

    Themes/styles are out of hand

    As of now, Rungeon uses 6 different themes (not including the default theme). Certain elements are given colors and styling specific to themes and it creates problems. For example, when implementing new pages, I find myself switching between themes (or working in one that I wasn't the day before due to testing). This makes it difficult when dealing with CSS and colors for obvious reasons. Not to mention, the 404 page has its own theme and styling, which is very different from the game and what I'm currently working on on my fork.

    This also goes with the JS side of things. It took me a literal 10-15mins to find and fix the few broken links JS was manipulating in the public/main.js file. I can only imagine how long it'll take to create a new stage (for both myself and for new contributors). This codebase needs a complete makeover. Rungeon's future depends on it.

    Proposal

    • Stages should be organized in a manner that is both easy to read, write, and manipulate for both contributors and Rungeon. (I'm thinking more along the lines of JS objects or JSON to tackle this)
    • Better documentation/comments. Very Important.
    • Halt on all work on themes until a set style has been established and #49 is patched. We need a consistent development area.
    • Resolve CSS element stylings. For example, <a>...</a> are for links. Why are they styled as if they are buttons?

    These are a few things that stood out, but there are many more opportunities for improvement.

    See Also

    • #121
    • #117
    • #49
    • #114
    • #134