Coder Social home page Coder Social logo

moraguma / gamutoware Goto Github PK

View Code? Open in Web Editor NEW
20.0 4.0 98.0 407.83 MB

Many developers, many microgames!

Home Page: https://moraguma.itch.io/gamutoware

License: GNU General Public License v3.0

GDScript 97.46% HTML 2.43% GAP 0.11%
game-development godot-engine godot4

gamutoware's Introduction

Gamutoware is a collection of short, simple, and creative minigames built by many people. It was created by Gamux - a student collective focused on video game development, research, and culture - to teach students the fundamentals of the Godot game engine. Each year, a course is given and each student is tasked with creating a new minigame for Gamutoware. This is the repository used during the lessons.

Though development mostly happens at the start of the year, contributions, be they new minigames or improvements to the game's core, are accepted throughout the whole year. If you want to contribute, feel free to open a pull request. Reading the wiki may help you understand how the game works.

The slides (in Portuguese) used in the lectures given in 2023 can be found here.

You can play Gamutoware in your browser here

gamutoware's People

Contributors

alexiabettoni avatar andre-satorres avatar ayudav avatar cl4nyz avatar dhx13 avatar felipepm01 avatar felipeqq2 avatar ginocarlo01 avatar goliasvictor avatar gustavoesteche avatar gvinfinity avatar isaelgabriel avatar jucamm avatar lucasnp avatar matotoso avatar milenafs avatar moraguma avatar mrriquerique avatar mscii7 avatar okynaua avatar onoriofelipe avatar packss avatar porpoisepor avatar rafaelcarro avatar skypillars avatar wakieu avatar yoneey avatar

Stargazers

 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

gamutoware's Issues

Adaptive minigame selector

Some minigames are way harder than others. We want to create a system that dynamically updates the probability of a game being chosen based on its base difficulty value and the number of turns the player has played.

Let di be the base difficulty for the minigame i, di, t be the relative difficulty for the minigame i in the turn t, pi, t be the probability of the minigame i being selected in the turn t and T be the max amount of turns before normalization, here's a possible implementation:

for each turn t:
  total = 0

  for each i:
    d_i,t = d_i + (1 - d_i) * min(t / T, 1)
    total += 1/d_i, t

  for each i:
    p_i,t = (1 / d_i,t) / total

Implementação de Modo em que você escolhe o Jogo

Imagino que depois de jogar vários jogos, as pessoas acabem tendo seus favoritos ou mais desafiadores. Por isso um modo em que a pessoa possa revisitar o jogo que ela quiser diretamente seria interessante.
Duas possíveis ideias são:

  1. Um mosaico n x m que pode "scrolar" para baixo (ou ser tipo Friv pela nostalgia kk) que basta mover usando WASD e selecionando usando Space.
    Prós: Fácil localização e acesso de qualquer jogo.
    Contras: Possível poluição visual, uma vez que as capas não são padronizadas

  2. Um carrossel idêntico aos outros modos, porém as setas A e D movem a fila e permitem que seja escolhido o jogo.
    Prós: Mantem a estética dos outros modos e podemos usar as setas WS para mudar o carrossel de acordo com o ano, assim facilitando achar o jogo.
    Contras: Certos jogos ficariam muito distantes do ponto 0 do carrossel e talvez seja difícil encontra-los

Game Freezes in Collection after Mouse Click

Whenever you play a game in the collection, after the animation, if you click on the screen the game freezes, allowing just the escape button to work. This doesn't happen when using just the keyboard, neither when you haven't played a game yet.

Allow for contribution to require a smaller download

As Gamutoware is made to be worked on on faculty computers, size is an important concern, especially since memory requirements increase along with minigame count. As Gamutoware is very modular, with each minigame being its own folder, it's easy for people to work on their projects without having access to all other ones. How can we change the contribution workflow to allow for that?

Update credits visuals

Gamutoware's credits look ugly! I was thinking of remaking them based on the learn section of another project I've worked on, maybe two column of icons on the left and a fold with the contents of the credits that would come out on the right

Typefixer no keys to fix

Sometimes typefixer chooses the same key multiple times and makes the game apparently unsolvable.

Unify Jam and Arcade modes into a single menu

The purpose of both these modes as different options in the title screen representing 2 different scenes results in problems in maintainability (as we have 2 distinct scenes with pretty much the same functionality and look) and usability (as people have no idea what these modes are at a glance). The proposed solution is to create a Play menu that will include minigame packs, filters, as well as modifiers. Arcade mode would be implemented as an infinite modifier.

Update font to allow for latin characters

Gamutoware's current font (StopBullying) doesn't allow for latin characters. This is an issue because Gamutoware's main language is portuguese. I propose we choose a new font that doesn't have that issue

Add audio muting options

Gamutoware's core divides sounds in sfx and music so they can be easily muted, but this isn't possible in minigames where we depend on each creator to configure their sounds. It would be nice to have a global muting option in the main menu

Minigame loading enhancements

Minigame loading was optimized by loading all minigames at once when the game starts. As the amount of minigames grows, however, this is resulting in long waiting times and creating worries about eventual memory problems. To make it future proof, Gamutoware should have a system that loads minigames as they are needed on a separate thread

Recorde Null

No itch.io o record não é salvo, fica null.

Update filters

Create new filters and rename existing ones for more clarity, as a lot of people seemed to think the 13+ adds 13+ games to the mix

  • 13+ -> No gore
  • No luck : Removes luck based minigames

Reimplement Soulchain

Soulchain minigame stopped working after conversion from Godot 3 to 4. It should eventually be reimplemented

Improve RNG for infinite mode

Currently the RNG makes it possible for the same game to appear multiple times in a row, shuffling a vector with all the games should improve this.

Reimplement Whale Eater

Whale Eater minigame stopped working after conversion from Godot 3 to 4. It should eventually be reimplemented

Minigame improvement

A couple minigames feel very unfair in their current state. This issue is meant to compile these minigames and propose solutions to make them feel more fair

To start with, projeto-pluvinage is often impossible to beat depending on the bat spawn positions. I propose changing the number of bats from 2 to 1. I feel like taking all bats away would make it better, but I think this kind of change would take away from the creator's original vision

Implement a Play Again button

Currently, Gamutoware requires the player to go to the main menu in order to play another set of lives

The {Play Again} button would help diminish the time it would require for the player to play the next set

Jogos feitos com Assets de IA

Recentemente, fiz a implementação do jogo gamufit #199, porém todos os assets do jogo, e a musica foram gerados por IA. Nesses casos, como deveriamos fazer a implementação?
Remover o jogo / Criar uma tag (tipo gore) / Refazer todos os assets do jogo

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.