Giter VIP home page Giter VIP logo

a-little-game-called-mario's Introduction

A Little Game Called Mario

open source collective hell game

a bad idea from the mind of izzy kestrel, inspired by Aaron San Filippo

GitHub contributors GitHub contributors Contributor Covenant

Screenshot Of A Little Game Called Mario

🗣 join the discord server (by joining our discord you are agreeing to abide by our code of conduct) 🗣

The tweet

about

this is (at least to start), a simple 2D platformer game made with Godot Engine. it exists for all to enjoy - not only as players, but also as Game Developers.

finally, we can put the discourse to rest. are you a Game Developer? no? why not? all you have to do is make some changes to this project. it's that simple.

will you add some art? some music? some new gameplay mechanics? dialog? robust multiplayer functionality with rollback netcode? it's up to you.

your contributions are valuable regardless of how experienced you are or where your strengths lie.

even if you never touch a line of code, you're still valuable as a player who can spot things that are wrong and reporting them for others to fix.

i would even go so far as to say you're still a Game Developer by simply playtesting and providing QA support - games wouldn't exist without those people!

this is a game that will live or die by its ability to capture a collective imagination and i like to believe that people can do some pretty amazing things when they organize together under a common goal.

so the next time someone asks, "oh, you're a game developer?" you can proudly say:

"yes. i worked on A Little Game Called Mario. heard of it?"

rules

be kind, respectful, and have empathy for your players and fellow developers. this means:

  • adding content that improves the player's experience
  • adding comments/tools/utilities that make it easier for less experienced developers to contribute
  • removing content that is racist, homophobic, transphobic, ableist, or any other number of things that diminish the work and make it less accessible to anyone who might want to play or contribute to it

your contributions should be additive whenever possible.

this is not your game, it is everyone's game.

if you believe changing/removing existing features could improve the game, that's great! but please try to get in touch with the people who originally made those choices and see if you can collaborate rather than disregard their hard work.

assume their contributions were made with just as much intentionality as yours and should be just as valued.

don't be shy about talking to new people, be it to collaborate or just to ask for help! you're all here for the same reason: to make a game.

the whole point is collaboration and making new friends.

please read through our code of conduct!

contributing

there are many ways to contribute to the project! games are complex things with a lot of moving parts that only exist because collaboration between creative and technical disciplines makes that happen. here are just a few ways you might be able to help out:

🎨 if you're the creative type 🎨

make something! anything! it doesn't need to be perfect or polished and it certainly doesn't have to be hooked up via code right away! leave a little gift for the more technical/design-minded folks - their eyes will light up as they think of a dozen different ways it could be implemented as a weird new power-up or something.

learn more about submitting assets

⚙️ if you're the technical type ⚙️

see if there are any open issues to work on! these can range from bug reports to feature requests and some of them may even be tagged as a "good first issue" for new folks. you can also dig around in closed issues and check out what people are actively working on in pull requests.

learn more about making code changes

🤔 don't forget the designer types! 🤔

i think these folks get a bad rap (not just saying that bc i'm one of them!!) - design is important and even tho you can't throw a rock without hitting someone with a "good game idea", what you may not appreciate is how hard it actually can be to execute on! and i'm not talking about learning to code or create art to support your vision....we have plenty of folks here who are already experts at those things! but at the same time, those same folks may not think about problems in the same creative way that you do.

check out the discussions and issues to see if there are any conversations you might be able to contribute to and don't forget to join our discord to see what other folks are talking about!

🎮 about the game engine 🎮

Godot Engine is a free and open-source tool for making video games. Check out this video for a very quick primer: The Godot Game Engine Explained in 5 Minutes

you can download Godot here:

this project was created with v3.4.4 - if you have an older version installed, we recommend upgrading to avoid compatibility issues during development

Godot is relatively easy to learn but can be fairly powerful. the documentation is very good and includes some helpful resources:

if videos are more your thing, i recommend these channels:

this video was used as reference to create the framework for this project: Make your first 2D platformer game IN JUST 10 MINUTES

this is all rad but i'm still intimidated 😱

i could go on for hours about impostor syndrome and all that junk (stuff i feel, just the same as you!!) but some ppl need more encouragement than others so i won't attempt a one-size fits all spiel here 😉

but if you have questions/feedback/concerns/ideas/whatev PLEASE don't hesitate to ask for help on our discord server!!

with that, i relinquish all creative control of this beautiful beast. godspeed, Little Mario. make mommy proud 💖

a-little-game-called-mario's People

Contributors

aeonofdiscord avatar alexcolinvarela avatar captaincolonelfox avatar crazedtinkerer avatar duianto avatar elmar-wiese avatar harperposten avatar harrisongowland avatar iznaut avatar jamsp00n avatar jummit avatar lazerwalker avatar lilwaddledee avatar luminighty avatar masheepcian avatar monochromia avatar nknauth avatar paulloz avatar propstg avatar radzo73 avatar ragoun avatar samsemy avatar schonstal avatar scotsguy avatar simonmnash avatar stevesefchick avatar tayloranderson avatar tcoxon avatar vegeta897 avatar woahsea avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

a-little-game-called-mario's Issues

Focus order of main menu items is wrong

If you load the game and then press enter, the credit screen loads (the last menu item), when presumably the game should play (first menu item).

Ideally that first menu item would also have a selected state by default as well. That default selected state seems slightly broken right now -- the "credits" option is highlighted white instead of pink, but doesn't have the corn icon it gets if you press up and then down.

(This is relevant as I'm thinking about automation pipelines for #184 ;) )

Keyboard controls on title screen

the title screen only detects mouse clicks to select menu options, which is unintuitive (esp when the rest of the game is keyboard based)

would be ideal if WASD/Arrow Keys were functional here (and whatever "select" should be). maybe even worth having a "Press SPACE (or whatever) to begin" prompt just to initiate the player and let them know that's a valid key to press

Better credits display on title screen

i don't think the marquee credits scroll is very effective, especially with the option for a much more readable credits screen right there on the menu

there's a lot of blank space on this screen currently - i would like it if we could grab like.....10 random names (or however many) from the credits list and display those instead

(i would have done this while working on #228 but i am not comfortable with UI stuff in godot 🙃)

Add standard Sokobon Mode undo/restart controls

Typically, Sokobon-style puzzle games let you reset game state with 'r' and undo actions with either 'u' or 'z' (a full history undo stack, ideally but not necessarily with 'y' as 'redo' and even including 'reset' as an action you can undo. If you can't undo a reset, resetting probably should have a confirmation prompt). It would be awesome if we had that!

If an undo stack doesn't already exist, this may be non-trivial new functionality instead of merely wiring up keys.

I recognize I may be the one who implements this, but throwing out here into the world anyway.

Broken Input Mapping

Input mappings appear broken after cloning the repository and running in Godot 3.4.4. The attached picture shows the two mappings from the repository at the top and an added input mapping that works below. Is there a Godot version requirement that should be added to the README?
image

DDR doesn't work from the hub, but is listed there

Only seems to work from the main menu, and just shows a black screen when going to it through the hub.

Hub.gd's _get_first_level_in_dir function isn't limiting the search to .tscn files, so it appears to be picking DDR_01/Controls.gd. #189 fixes this part of the issue, by making it pick DDR_01/Level.tscn (so the label works, at least), but it still fails to load the level for some reason.

credits are broken

firstly they're missing a lot of names (e.g. we're not in there, as ncrecc or wibi):
image

secondly there seems to be some bug that affects what name people show up as?

There definitely weirdness going on with the credits
Because sometimes I'm listed as my name+surname and sometimes I'm listed as my username

i notice this happens when i commit from my local machine via vs code or something
izzy kestrel (from vs code) vs iznaut (editing directly on github site

Easy-to-implement mobile controls that won't cover the screen, and won't burden desktop development

Here's a proposal for anyone who wants to contribute something small and self-contained —

I’ve prototyped a lot of mobile platformer control schemes. For an action game with touch screen controls as responsive as a physical D-pad, which don't cover the screen, here's what I find works best:

  • left half of the screen: drag[1] left to walk left. drag right to walk right.
  • right half of the screen: drag up to jump, drag down to crouch.

This lets you do all your inputs, unambiguously, without taking your eyes off Mario.

Try it in a mobile browser:

(These examples draw the controls, which is not what I'm suggesting for Mario. But that's up to the implementer!)

[1] For a drag threshold, I recommend something on the order of 1/64th the width of the game screen. This ensures that it's low enough that it’s easy to input on tablets, and high enough to avoid accidental inputs from touch screen jitter or shifting posture on small phones.

It would be cool to have scrolling levels!

I feel like we could do a lot more in the level design if there was some camera scrolling!
I might try to add it if people agree! or if someone wants to try it themselves.

The project is coming along so quick! it's cool to see!

(I guess this is not really an issue because I can just add the feature and merge it in? Not sure if feature requests are ok in issues or if we should try to keep it separate. 🤔 )

Dynamic BGM

Hi! I composed a bit of music with the intention of implementing it, but I won't have the time to actually sit down and look into it for a bit. So, I figured I'd drop it in here in case someone else wants to tackle it in the meantime. I've rendered it out as individual tracks in WAV so they can be losslessly converted to any other format. (probably OGG Vorbis)

MARIO_MUSIC.zip
This is an archive containing the individual tracks. There's two variations of the melody and backing tracks and a single chord track.

mario.mp3
This is a preview of how the individual tracks could be arranged in-game.

Reducing build/release frequency

currently, in .github/workflows/build-and-publish.yml, there is a paths-ignore section - this is to keep the automated build process from kicking off when non-game relevant files are updated.

there are, however, scenarios in which "game relevant" directories could have files added, but not impact the build (for example, if an artist contributes assets but doesn't have the time/expertise to actually hook them up in Godot). if this happens, a build still gets kicked off and increments the release number, despite the actual playable game being identical to the last.

open to any clever suggestions on how to "solve" this problem...there may not be a perfect solution. it's possible to make the paths-ignore more strict, but there could very well be scenarios in which existing art assets are modified and a build IS desired to pick up those changes.

maybe there's some sort of diff checking that can be done within GitHub Actions? or we allow the game build to execute every time, but before releasing/publishing, it does some sort of hash check against the last release to ensure it's substantially different?

not sure if there's a good answer for this one, but i just thought i would start a discussion and see where it goes 🙂

Flappy Mario double UI

When loading Flappy Mario from the main menu, and then returning to title and loading through the level hub, the UI is doubled.

This feels emergent and like it'd be more easily fixed by changing the way we load alternate game modes, or moving all alternate game modes to either the level hub or the main menu.

Accessibility Options

all the visual effects (screenshake, CRT filter, etc) are very cool! but also i want to be mindful of folks that might get motion sickness or other issues that would make them unable to enjoy the game.

anything that doesn't impact gameplay significantly* should probably have toggles available - maybe in a pause menu? and likely turned off by default for now (i think it's more reasonable to think that folks might take the time to sift through an options menu if/when we have a title screen, but if we're dumping them right into the action, i'd rather err on the side of caution)

*okay but hear me out - toggles for everything. maybe there's a secret code you can input to access some "arcade machine DIP switch" level config and just like, tweak all the gameplay values 👀

Collision Layer Diligence and Proposal

A lot of the content that is being added, and that contains collision boxes, are all set to layer 1 mask 1.

This will start to become a major issue moving forward. I already ran into a problem trying with commit #252

Here is what I propose:

  • We do a major PR that changes all current assets to no longer use layer 1 or mask 1.
  • Create a wiki page that explains the reasoning behind this choice and what they need to do to fix it.
  • (If this is possible) We add a check on commits that checks for collision_mask and collision_layer in *.tscn files to see if it is an odd number.
    • These numbers can only be odd if layer 1 or mask 1 is set. All the other options are even numbers.
    • If odd numbers are found, tell the contributor and link to the document explaining what needs to be done.

Pre-Release Tweaks!

hi y’all - i’ve been sitting on this repo for a few weeks now, mostly waiting to get a little feedback on how to set things up and waiting to get some art assets in so it looks a little more “polished” before doing a proper social media push. thanks to all your contributions, it’s even cooler than i was expecting it would be at this point!!

i plan to tweet out the repo tomorrow and encourage more folks to come check it out, but i wanted to highlight a few things that would be “nice-to-have” if any of y’all have the energy/skill to contribute:

  • sprite font to replace blurry built-in font
  • a little background music loop?
  • another sound effect or two? (i used jsfxr to make the jump sound)
  • something a little more “portal-y” to replace the Godot icon

i’m adding everyone who’s contributed so far to this issue - no pressure to do any of these things if you simply don’t have the time/interest! but if you want to take ownership of some or part of these tasks, i think it would make the game that much more impressive when more ppl start shuffling in. i’d really like it to make a good first impression!

you’re also absolutely welcome to tap a friend who might be better suited to contribute - that’s the whole point of this thing! and i still plan to tweet it out tomorrow even if none of these things are done, so don’t feel like you’re holding the project back either way 💖

thank you all again for all your hard work so far! i’m so excited to see where our weird little mario goes next!!!

Add a license to this repo

This project should have a license stating how people can use the game's code/assets! Without an explicit license, nobody looking at the code/assets in this repo have any IP rights to it, and legally cannot do anything with it without being open to you suing them. Similarly, it's ambiguous whether anybody contributing code to your repo is even giving you IP rights to use their modifications, leaving you open to liability. This all is probably not your goal!

The solution here is to add a license: a bit of legalese to this git repo that explains the legal IP rights that anyone visiting this repo has to the code and assets stored in it.

There's sadly no one "correct" answer for what license you should use. Even though this is relatively cut-and-dry for e.g. open-source infrastructure projects built by tech startups, it gets fuzzier for art projects like this, and there is a lot of wiggle room depending on your goals.

I've got a few different recommendations below, but first it's worth separating out that we're talking about two different things here. On the one hand, a license explicitly grants legal IP use rights to anyone who comes across this repo, and makes it legal for them to do certain things with your IP. On the other hand, you are presumably trying to communicate intent about how you as a creator want people to be able to use your work.

In an ideal world, these two things are one and the same! In practice, OSS licenses are rather blunt tools, and it's useful to separate out "what am I communicating about my intent?" from "what rights am I legally granting?".

That said, here are three(ish) good options to consider, with the massive caveat upfront that I am not a lawyer, this is not legal advice, etc:

An OSS license and a Creative Commons license

A tricky thing is that "open source licenses" are written with code in mind, and it's a bit ambiguous how they apply to non-code things like art assets. At the same time, licenses like Creative Commons meant to protect artistic works don't care at all about the difference between binary distribution vs source distribution, which makes them unsuitable for code (even Creative Commons themselves don't recommend it)

A common technique is to use two licenses: all code is under one OSS license, all non-code assets are under a Creative Commons license. For this project, it would probably be pretty reasonable to split this out by folder or by filetype.

MIT License vs GPL

There are an extremely large number of OSS licenses, but MIT and GPL are arguably "the two big ones", and solid examples of two different philosophies.

The MIT License basically says "you can do whatever the heck you want with my code, as long as you give me credit".

The GPL basically says "you can do whatever you want with my code, as long as any changes you make to my open-source code are themselves made open-source and licensed under the GPL".

The MIT license grants "freedom" in the sense that anyone can use your code to build a proprietary commercial product. The GPL grants "freedom" in the sense that, even though it restricts what people can do with your code, it does so in a way that leads to more open-source software and thus net more "freedom" for end-users.

Most OSS software maintained by large tech companies is MIT or a similarly-philosophically-aligned license (Apache and BSD are two others you see a lot), because the economic model behind that sort of OSS is generally "a bunch of tech companies all contribute to this thing in order to benefit from it in their closed-source commercial products".

I personally feel really conflicted about the GPL: I appreciate its ideological purity, and usually explicitly want to encourage people to make their improvements public. But in many cases, requiring that unintentionally limits some uses you'd like to enable (sometimes in weird edge-case-y ways -- e.g. someone who isn't the copyright holder releasing a GPL'd game on the iOS App Store is technically against the terms of the GPL, as the App Store doesn't meet the GPL's requirements for distribution). It's also awkward that the GPL's author and main evangelist for decades is an alleged sex pest who (among many other things) resigned from his position at MIT after a bunch of public comments defending Jeffrey Epstein.

It's also worth noting here that there's some weird politics around the term "open source". In order for a license to be considered "open source" by the Open Source Initiative, there are a number of criteria the license must meet. One of those criteria is that it must allow equal use to everyone -- you won't see an "open source" license that e.g. restricts commercial use, because that by definition makes it not capital-O Open Source. I personally think this is bad!

Various Creative Commons Licenses

The half-dozen Creative Commons licenses basically span the same ideological spectrum of MIT vs GPL, but with a bit more fine-grained choice around what restrictions are placed on what people can do with your work.

The Creative Commons License Chooser is a clear view for how these differ. All CC licenses require attribution (except for CC0, but I'll talk about that later). You have a choice of whether or not you allow commercial use of your work, as well as a choice of whether adaptations of your work are allowed to be shared, not allowed to be shared, or require any derivative works to also be licensed under the same terms as your work (similar to the GPL).

It's worth noting that, while restricting commercial use in derivative works may sound extremely appealing, Creative Commons themselves are philosophically opposed to it, in favor instead of what they call "free cultural works". Their viewpoint is basically "eh, we don't want to allow this, but it's better that works be CC Non-Commercial than to not have any CC license".

To me, in a lot of situations where I'd be tempted to add a non-commercial clause, I'd instead consider adding a share-alike clause. If what you want is for people to be able to freely remix your work, letting people release commercial products based on it but requiring them to also license those works under Creative Commons feels like a good compromise -- it's philosophically similar to the GPL, but without a lot of the legal or cultural baggage.

To me, the big difference between a share-alike clause and the GPL is, with the GPL, someone wanting to steal a tiny bit of invisible glue code requires them to open-source their whole project (which is likely not your intent!). That's still the case with a share-alike clause, but with art assets, it seems less likely that you'll fall into that degenerate state where someone's trying to use only a tiny insignificant bit of your work and are now "caught" by license virality.

But it's possible I'm completely wrong here, and it's also possible that your personal ideological leanings would rather err on the side of unintentionally restricting valid use cases rather than unintentionally enabling use cases you don't want to allow. I personally lean towards being more lenient in what I allow legally, and informally expressing what I don't want people to do. But that's just one opinion, this is complicated and tricky.

Putting it all together

Finally, it's worth noting here the distinction between legal IP restrictions and communicating your intent. If you choose more permissive licenses, you can still write in your README "hey, I know you're allowed to do whatever you want with this, but PLEASE don't do X, Y, or Z". I often find that a really nice middle-ground of "this isn't legally enforceable, but communicates to reasonable human beings what I want".

So, uh, what does this all mean? If I was choosing a license for this repo, and wanted to go the "OSS + CC" route, I'd probably pick MIT, either CC BY or CC BY-SA ("only attribution required" or "attribution and share-alike"), and put a paragraph in the README explaining my intent. But any of the other things mentioned here are reasonable options!

2. The Anti-Capitalist Software License

This is a unique license in that it adds restrictions on who can use your software. You can do whatever you want with the code, as long as you're an individual, a non-profit, an education institution, or a worker-owned co-op, with a carve-out banning military and law enforcement use.

I'm inclined to view this license through the lens of performance art. While this license probably most directly aligns with how I personally would want a lot of my projects to be used, I've read a number of arguments explaining why it almost certainly would not hold up to litigation, and would basically equate to including no license at all (with the caveats that I am not a lawyer, and suspect many/most of the people posing those arguments are also not lawyers). It's possible this is unjustified fear, uncertainty and doubt; the current tech industry culture extremely stigmatizes any software licenses like this that do not conform to the "proper" definition of "open source".

Along those lines, this WILL incidentally act as a deterrent to many larger tech companies using your work, as management will look at a non-standard license like this and say "the time and effort saved by using this code is worth less than the billable hours for the legal team to vet this license".

This license is on the extreme end of tradeoffs: it is an incredibly strong socio-political statement about how you wish your code to be used, but realistically is likely to leave you in the same legal IP situation as if you had not included a license at all. Using this license does have the positive benefit of normalizing licenses like this, which could eventually lead to future iterations of the idea that are more proven to be legally-enforceable.

3. Creative Commons 0

A final option is to place your work in the public domain: you relinquish all rights to them, and anybody can use your IP for whatever purposes they want. This is "chaos mode" -- it's definitely the simplest of all these options, and the most easily-understood by people who don't want to have to become armchair IP lawyers. But it's also the least restrictive, for better and for worse. It's specifically worth calling out that people are not required to provide credit or attribution.

If your intent is to put this project in the public domain, you should still specifically apply the CC0 license. Many countries do not have a legal mechanism (or only have limited ways) by which a living IP holder can "dedicate their work to the public domain". CC0 is explicitly written to work around this, and allows authors to explicitly waive all possible copyright protection and IP rights they have, to the extent possible in their jurisdiction.

Handle non-successful response codes in GitHubAPI.gd

If I run my changes locally multiple times, github will timeout my ip and I'll get a 403 Forbidden response, however this isn't handled in the GitHubAPI.gd script and results in an exception.

My proposition is, since it's only while developing, we could just catch these errors and not load the contributors.

Bug: auto jump on top corners

If you jump towards the top corner of a block and hold the button, your speed will get reset and you will do a very high jump. I am not sure how this happens, maybe the player touches the floor of that platform for a frame? There is probably a problem in the jump buffering code but I am not sure how exactly

Wall Mech Enemy Implementation

I'm sorry to have to ask this, but can someone make the Wall Mech enemy? I already made a scene for it under enemies with the basics. I don't know Godot enough to make an enemy but the way I would heavily prefer the Wall Mech to be would that it:

  • Moves Up and Down (moves in one direction until it hits solid collision, in which case it reverses direction)
  • Occasionally Shoots to it's Left (or where it's facing if you wanna give it multiple directions)
  • Takes about 3 or 4 hits to kill (with fireballs or coins or whatever)

In-game automatic credit screen

I think it'd be SUPER cool if the game had a "credits" screen that automatically updated whenever anyone new contributed.

Current thought process: assuming it's safe to programmatically edit the project from the CLI (a question mark, I'm not very familiar with Godot), a GH Action workflow can run every time code gets merged in that hits the GH API to check if the contributor is new. If so, grab their GH username and avatar, and create a new commit adding them to the credits screen.

I may poke at doing this myself (this isn't me just throwing an idea out and saying "someone else needs to do this!") but getting it outside my own brain since I don't know when I will.

This may turn out to be infinitely easier if it's just usernames and not avatars, or if we're comfortable loading avatars at runtime via URL instead of committing them to the repo (and also avoids problems of e.g. making sure we update the repo's image if someone updates their avatar on GH)

Do other people have Codespaces access?

I'm curious if other people have access to Codespaces if, on the root page of this repo, they click the green "code" button on the top right.
Screen Shot 2022-04-08 at 20 57 45

There's some cool tooling I'd love to work on if this is universally available to everyone on this repo, but I don't know if it only exists because my account has special preview access.

Credits cut off on title screen

The credits on the title screen are now cut off. With Dance Mode added to the main menu, I think it's pushed the rest of the content lower.

A Little Game Called Mario

Netlify test build is unreliable

@lazerwalker was nice enough to help set up a second build process with Netlify - while the latest version of the game is always built and hosted on itch.io, the Netlify build should kick off when a PR is submitted (in order to quickly test changes without having to pull the code down locally).

it seems like this process is a bit unreliable, though! i've seen a few different things happen:
#4 - the GitHub Action is kicked off and "passes", but doesn't return a URL to the build. the credentials were not found.
#6 - the Action works as expected and returns the build URL for testing.
#7 - the Action "passes" again, but displays "This branch has not been deployed"

worth noting that #4 and #7 were from the same user (pre-contributor status and post-contributor status, respectively). i granted #6 contributor status prior to their submission of a PR

i've brought this to @lazerwalker's attention via DM but also want to respect her time and continue being ultra transparent with development here so i'm making a proper issue! if anyone happens to have any insight into a potential fix it would be much appreciated 💖

mario can stand on invisible blocks

mario has a bad habit of standing on coin blocks even when they're still invisible

if this is supposed to be the case then my bad & please close this

image

how do I push changes aaa

I've used git on my own server but I don't know how to use github, when I try to push it gives me permission denied error. Help

v0.0.17 build is broken ERR_INVALID_PARAMETER

ERROR: Condition "!int_resources.has(index)" is true. Returned: ERR_INVALID_PARAMETER
   at: _parse_sub_resource (scene/resources/resource_format_text.cpp:118)
ERROR: res://scenes/Main.tscn:36 - Parse Error:
   at: _parse_node_tag (scene/resources/resource_format_text.cpp:255)
ERROR: Failed to load resource 'res://scenes/Main.tscn'.
   at: (core/io/resource_loader.cpp:206)
ERROR: Failed loading resource: res://scenes/Main.tscn. Make sure resources have been imported by opening the project in the editor at least once.
   at: (core/io/resource_loader.cpp:270)
ERROR: Index p_idx = 1 is out of bounds (edited_scene.size() = 1).
   at: remove_scene (editor/editor_data.cpp:531)

Maybe there was some merge conflicts? Trying to see if I can fix it...

Infinite loop on start due to missing `credits.txt`

#228 removed the credits.txt file, but the project code still expects it to exist.

#242 added an infinite loop without checking first that the file was actually opened successfully.

So running the project from a fresh Git clone gives an infinite loop of

ERROR: File must be opened before use.
   at: get_line (core/bind/core_bind.cpp:2073)
ERROR: File must be opened before use.
   at: eof_reached (core/bind/core_bind.cpp:1986)

I see that credits.txt is generated automatically on CI (

fs.writeFileSync('credits.txt', names);
) but that doesn't cut it for people who want to contribute to the code and test changes locally.

Bullets shot during level transition persist

I tried speedrunning and I discovered that when bullets are shot during a level transition, the bullets persist. It's hard to explain so I included a video to show you to reproduce it

2022-04-11.21-36-02.mp4

Double teleporting through portal

ezgif.com-gif-maker.mp4

By jumping up into the portal, and moving away from it the moment you hit it, it's possible to teleport twice
As seen in the video, the level counter goes up from level 1 to 3 instantly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.