Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Osu!
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Osu!

Posté le 11/12/2017 06:56

Salut tout le monde !

L'autre jour j'ai commencé une sorte de Guitar Hero, histoire de tester les capacités de gint. Le moteur de jeu est plutôt fonctionnel (ajout de tracks via des fichiers, plus éditeur intégré), mais je suis pas convaincu par mes graphismes.

Du coup j'en appelle à votre aide, si ça vous dit. Pour donner une idée, j'ai besoin :

– design des menus
    – jouer / éditeur / crédits
    – choix de la track
– sprites in-game (j'ai déjà quelques trucs, mais si vous voulez en refaire y'a pas de soucis)
    – textes du genre "perfect | good | bad | miss"
    – des trucs kawai pour les séries de combos, genre +100, +200, etc.

Si on arrive à finir plus ou moins le jeu, la seconde étape sera de faire des maps, avec l'éditeur intégré. Pour info, les maps sont facile à éditer, ce sont juste des listes de timestamps, donc ça peut aussi se faire manuellement avec un éditeur de texte (mais c'est plus chiant).


Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 11/12/2017 16:06 | #


Oh, j'ai bien envie d'essayer tiens ! Tu nous montres ce que tu as pour nous donner une idée de l'ambiance ?

Edit : Monochrome, gris ? Aucune restriction sur les dimensions ?

@Lephenixnoir : Repasse ici, fainéant !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 11/12/2017 16:18 | # | Fichier joint


Of course. J'ai pas de quoi prendre une vidéo in-game, donc je mets ici les quelques sprites que j'ai déjà fait (plus la font que j'utilise pour l'affichage du score et des combos)







——— Edit ———

J'ai ajouté en pièce jointe les sources. Je les mettrais sur la forge une fois que le projet sera un peu plus abouti. Vous pouvez switcher entre l'éditeur et le moteur en modifiant le main.c et recompilant. N'oubliez pas de transférer ou créer les tracks avant d'essayer d'y jouer.

Dans mes souvenirs (j'ai pas touché au programme depuis quelques semaines), il se peut que y'a des instabilités si vous lancez plusieurs fois l'addin. J'ai checké les fuites de mémoire, mais j'en ai pas vues…

Ajouté le 11/12/2017 à 16:42 :
Au passage, voici comment sont gérés les tracks :

Track title
Difficulty;Length;Notes
Row Timestamp
Row Timestamp


Avec :
typedef enum {MASTER = 1, HARD, MEDIUM, EASY, BABY} difficulty_t;
Length la longueur de la piste en ticks (le jeu tourne à 50 ticks/s).
Notes le nombre de notes
Row la colonne sur laquelle la note est jouée
Timestamp le timestamp optimal pour jouer la note

Les points sont attribués comme suit :
– on calcule la différence (absolue) de temps entre la touche et la note (pour peu que la note soit pas trop loin : taper sur une colonne où y'a rien est pas compté comme un fail, et ne décompte pas la note qui viendra plus tard).
– on divise ce délai par la difficulté (donc MASTER demande à être 5 fois plus précis que BABY)
– suivant le résultat obtenu :
    – 0 : score += 3 * combo++
    – 1 ou 2 : score += 2 * combo++
    – 3, 4 ou 5 : score += combo++
    – Entre 6 et delay <= 50 (1s) : combo = 0

Exemple :
Premier test
2;197;14
0,23
5,38
1,45
4,53
2,61
3,71
1,81
4,90
0,97
5,106
1,116
4,122
2,128
3,137

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 11/12/2017 17:43 | #


J'ai un concept pour le menu principal, dis-moi si ça vaut la peine que je tente de le réaliser (ou si je perds mon temps) :


Le vide, c'est évidemment pour mettre tes items, « Continuer » , « Crédits », etc. Je ne sais pas trop combien tu en as.

Sinon de façon beaucoup plus random :


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 11/12/2017 17:44 | #


Oh

Bah écoute, si t'as le temps de faire un truc vite fait, je prend.

Les items, y'en aurai pas des masses, mais à la rigueur je me démerde avec la place dispo. Disons play | editor | scores ( | credits )
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 11/12/2017 17:51 | #


Le mieux serait de pouvoir importer les fichiers midi (faits pour GH3 PC ou FoF) comme ça on a pas besoin de réécrire tous les tracks.

Pour ça, il faut bien veiller à respecter les mécanismes de GH : 5 frets, hammer-ons/pulloffs, etc. Regarde aussi pour ajouter le strum vide (mod GH3 assez connu).
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 11/12/2017 18:12 | #


Je répète : « une sorte de ». Pas une adaptation. Parce que les tracks du vrai sont sans doute beaucoup trop grosses pour être exploitables on-calc, et de toute façon je compte pas implémenter plus que les notes et sliders.

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 12/12/2017 15:11 | #


Bof, il faudrait faire une vraie adaptation, ça pourrait être sympa.

Les tracks du vrai sont trop gros, mais il suffirait de faire un convertisseur (sur PC) qui convertirait les .midi en format approprié.
Aussi, j'espère que tu stockeras pas les maps en texte, ce sera beaucoup trop gros (et dans ce cas autant mettre le .midi), par exemple That Was Just Your Life a 2000 notes et dure 7 mn (420000ms), ça fait 4 (chiffre)+1(virgule)+6(timestamp) = 11, * 2000 = 22 ko, alors que le midi fait 23 ko
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 12/12/2017 17:07 | #


Si si, c'est stocké en texte (pour l'instant). C'est beaucoup plus pratique à éditer à vrai dire.
Après, peut-être que je ferai un compresseur, mais c'est pas pour tout de suite. Déjà j'aimerai finir à peu près le jeu x)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 13/12/2017 19:21 | #


C'est encore trop imparfait, mais je ne pense pas que j'aurai le temps d'y revenir, désolé. Ça devrait au moins faire un menu principal décent.



Si tu peux donner plus de détails (genre des dimensions) pour les objets plus petits... je trouverai peut-être un moment.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 17/02/2018 02:01 | #


Bon, en fait le truc que je vous ai fait testé n'est qu'un prototype qui sera intégré dans un truc un peu plus grand.

Je compte avancer de la même manière que Louloux conseille dans son article, vous retrouverez tout ce qui touche au projet par ici.

Edit Lephenixnoir : Mis à jour le lien vers la forge (Dark-Storm → Darks).

Et du coup j'ai renommé le topic.

Ajouté le 17/02/2018 à 02:06 :
Désolé Lephe pour ton menu du coup, ça n'aura pas servi à grand chose.
Si quelqu'un a l'intention de faire un truc plus fidèle à Guitar Hero, qu'il se serve.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 17/02/2018 08:05 | #


Aucun problème ! J'avais fait ça rapidement, le temps n'a pas été perdu.

Si tu as des plans pour un autre menu, je pourrai regarder.

Ajouté le 17/02/2018 à 08:08 :
Ah, j'ai vu tes graphismes après. Pas mal du tout !

Sur la calculatrice par contre, ce cercle d'épaisseur 1 autour des numéros ne se verra probablement pas à cause de la rémanence de l'écran et de la vitesse de déplacement (et tu veux pas un contraste élevé pour un jeu rapide, il me semble).

Faudrait tester, mais si ça ne passe pas tu peux fallback sur l'algo de tracé de cercle d'Andres qui a l'avantage majeur de faire des cercles à épaisseur sans laisser de trous.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 17/02/2018 10:49 | # | Fichier joint


La forge a du mal à exporter les assets uniquement, ou le projet compressé, obligeant à cloner en local pour récupérer son contenu, donc je vous mets ci-joint les graphismes dont parle Lephe.


Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lepianoteur Hors ligne Membre Points: 217 Défis: 0 Message

Citer : Posté le 02/11/2018 20:54 | #


Dark storm est un joueur de Osu!mania ?
*pat pat pat pat pat pat tap tap pat* je pianote
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 02/11/2018 22:34 | #


J'ai un ami, je lui ai annoncé ce jeu, il m'a sauté dessus.
Tu continue de le développer ?
Lepianoteur Hors ligne Membre Points: 217 Défis: 0 Message

Citer : Posté le 02/11/2018 23:27 | #


si tu le continue moi aussi je suis trop content

Ajouté le 03/11/2018 à 00:12 :
j'avais pas vu qu'il l'avait mis en piece jointe le projet ! si il reste plus qu'à faire des map et quelque finition je veux bien faire les map
*pat pat pat pat pat pat tap tap pat* je pianote
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 03/11/2018 00:27 | #


Heu… Alors oui, c'est encore en projet, je peux continuer de taffer dessus si y'a de l'attente
Mais pas mal de choses ont changé depuis, faut voir sur la forge pour la dernière version

Et oui, je joue régulièrement à Osu! (sous le pseudo de Ionipst)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lepianoteur Hors ligne Membre Points: 217 Défis: 0 Message

Citer : Posté le 03/11/2018 01:43 | #


moi en tout cas en voyant ce que t'as fais je trouve que les graphisme sont super bien reproduit :o et j'ai regardé vite fait ton profil en mania tu as du talent + de 1000 pp en 50h de jeu pas mal moi c'est "zorm82" si tu veux m'ajoute
*pat pat pat pat pat pat tap tap pat* je pianote
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 03/11/2018 23:34 | #


Ouais enfin j'y ai pas mal joué à Taiwan, là j'ai bien réduit le rythme x)
Je verrai, on pourra se faire une partie à l'occas'
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lepianoteur Hors ligne Membre Points: 217 Défis: 0 Message

Citer : Posté le 04/11/2018 02:30 | #


mais oui bien sûr ! je t'ajoute et si je te vois connecté un jour je te mp dessus tout simplement
*pat pat pat pat pat pat tap tap pat* je pianote
Yunhai Hors ligne Membre Points: 1 Défis: 0 Message

Citer : Posté le 28/12/2020 10:51 | #


Bonjour,
Je suis un joueur d'Osu plutôt récent , mais c’est assez addictif!
Je me suis acheté la tablette graphique XP-Pen Star G640 (Lien modéré) hier, et je la trouve très bien, Convenable pour des utilisateurs droitiers ou gauchers. Pas besoin de pilote pour jouer au osu!

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 55 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd