zero-to-mastery / ZTM-Quest

A fun little 2D top-down rpg where you can explore the world of zero-to-mastery. Be prepared for funny and serious content and of course, Bruno.
https://zero-to-mastery.github.io/ZTM-Quest/
27 stars 69 forks source link

Add a game over scene with credits for assets and code contributions #21

Open r4pt0s opened 1 week ago

r4pt0s commented 1 week ago

Each game usually has a game over scene. Due to the fact, that losing in this game is not possible, we need a game over scene which can get triggered anytime by the user so to speak. The time when the game over scene starts doesn't really matter for this scope.

It should just be callable anytime.

The content of the game over scene should contain credits for the assets we use (which you can find here ) and nice to have, the name of the contributors of this game which you can fetch via github api.

Like a real game end scene which we know from AAA titles

Kannav02 commented 5 days ago

Hey @r4pt0s

Just to clarify some points before moving ahead

if these are all the requirements, I would love to work on this issue , thank you!

r4pt0s commented 5 days ago

Hi @Kannav02,

Find the explanations below:

create a gameOver() function

Exactly, or better said, a gameOver scene. Head over to scenes to get an idea how.

create a button that triggers this function at any time by the user.

I let it up to you how exactly it should get triggered. If it is a button, then make sure it is not overlapping another area which might be of interest.

the UI should contain the assets and the name of the contributors fetched via github API?

Exactly. You can fetch the asset credits from here. I found a helpful articel which explains how you can load the file content via the github api which you can find here Also, the contributors are fetchable via the github api. To make things easier, I figured already the url out which is https://api.github.com/repos/zero-to-mastery/ZTM-Quest/contributors

Is there a specific style you'd like for the credits page? Additionally, what are your preferences for the technology or tools to be used in styling it?

No, no specific style thought of right now. The only requirement is, that it should be compatible with the overall game design that it does not look like a entire new thing :sweat_smile: There are no preferences regarding technology or tools. I only mentioned Tiled for map design (which you might not need because the screen is not a map) and CakeWalk for audio creation. I personally use GIMP to create graphics (like Bruno).

Just one important thing, if you use any third party assets, designs or styles, make sure to add them to the credits file so that we have a shout out to the creator and that those files are free to use under the right license.

Any further questions? Should I assign it to you?

Kannav02 commented 5 days ago

Perfect, this sounds like an exciting issue to work on

I would love to work on this

thank you!

r4pt0s commented 4 days ago

Awesome @Kannav02. Go for it 🚀🎉

Kannav02 commented 2 days ago

Hey @r4pt0s !

sorry for the late response, I was going through the entire codebase, this is my first time experimenting with kaplay library, it's vast. I love how the project is structured and organized,

also, I wanted to add something that I found when I was playing around with the demo, in the starting area, I am not able to use D to move right, the browser that I ran this on was Chrome, and the Operating System is Mac, I found that this was due to an overlapping key bind with an extension that I was using i.e. Vimium. should this also be included somewhere in the docs, like informing the users to turn off the extension?

r4pt0s commented 1 day ago

Hi @Kannav02,

Thanks for the kind words about the project and the setup.

Thanks for reporting the key bindings issue. For now we will not add that information somewhere because in the UI on Desktop we show the arrow keys to use.

But maybe - as soon as the start menu scene is ready - I would add another issue where we can work on informing the user about the game controls in a info section like you have it in other games. Letting the users choose the key bindings themselves would also be a option.