Page 1 sur 2
COSMOS THE SECRET MELODY
Publié : jeu. 05/mars/2020 23:10
par drfloyd
Voilà, j'ai débuté le remake de mon jeu COSMOS CHRONICLES, maintenant que j'ai acheté la licence !
Je vous tiendrai au courant de l'évolution du jeu ! C'est le premier jeu procédural qui simule l'univers dans son entier.
MAJ du 18/04/2020
j'en suis a 13% de développement

Re: COSMOS THE SECRET MELODY
Publié : ven. 06/mars/2020 7:45
par SPH
Ca fait tres annees 80 mais ca peut etre cool si le scénario tiens la route

Re: COSMOS THE SECRET MELODY
Publié : ven. 06/mars/2020 20:02
par case
ca a l'air cool

Re: COSMOS THE SECRET MELODY
Publié : ven. 06/mars/2020 20:18
par Ollivier
Rien que le visu donne à t'encourager. Bon courage dans ton travail.
Re: COSMOS THE SECRET MELODY
Publié : lun. 09/mars/2020 18:42
par Fig
Je ne connais pas le jeu original, je vais aller voir.
En tout cas bravo
La question est de savoir si c'est juste un visuel ou est ce que c'est déjà fonctionnel ?

Re: COSMOS THE SECRET MELODY
Publié : mar. 10/mars/2020 13:41
par Zorro
@Fig , DrFloyd est un vrais codeur Basic a l'ancienne
il a deja un prg qui tourne ... il est coutumier du fait, il code depuis tres longtemp en Basic
je lui ai permis de voir que le Purebasic etait un bon langage , il a accroché, c'est cool
plus il va coder avec, plus il va kiffer ....
le seul probleme, c'est qu'il viens de tomber dans un piege
car il ne pourra plus changer de langage maintenant
DrFloyd a son propre Site et Forum , plutot orienté ancien jeux,anciennes machine (consoles compris ) tres intéressant a lire
si ce n'est quelques membres un poil lourding , mais c'est pas de sa faute
ps: il a fait un article sur
notre MajickEric

qui nous avait bien caché son identité , le coquin
https://www.purebasic.fr/french/viewtop ... ic#p205437
et dont la photo apparait meme dans le bandeau du forum de notre ami DrFloyd
voir ici :
https://www.gamopat-forum.com/
Re: COSMOS THE SECRET MELODY
Publié : ven. 13/mars/2020 22:26
par drfloyd
ahah merci Zorro

Tu nous manque sur Gamopat ! Et merci aux autres pour le soutiens !
Le plus compliqué je pense c'est d'accrocher... quand on le decouvre comme ça, franchement le Pure basic n'inspire pas confiance

Mais une fois dedans, whaouuu... Ce langage cache bien son jeu... Sans Zorro j'aurai lâché.
J'ai seulement un peu galèré au départ avec le paramétrage du mode fenetré plein ecran et/ou fullscreen.... Pure ne facilite pas le boulot pour ça. Pour l'instant le jeu est en 640x400 mode windows (fenetre plein ecran)... mais ce n'est pas du pixel perfect du coup, j'ai envie de passer vrai fullscreen pour la version finale mais je crois que 640x400 n'est pas une definition native ?
Je code effectivement à l'ancienne, à l'instinct

Je pense avoir de bons concepts, car mes 2 jeux précédents COSMOS ont été adapté sur Atari ST et ont tous deux gagné des prix dans des conventions rétro.
Pour répondre à la question : oui ca tourne, c'est fonctionnel (jeu à la souris et clavier, et 5 ecrans fonctionnels)... je bosse un peu chaque semaine dessus.
Je vous posterai des screenshots de l'évolution du développement
Re: COSMOS THE SECRET MELODY
Publié : dim. 19/avr./2020 14:14
par drfloyd
Re: COSMOS THE SECRET MELODY
Publié : dim. 19/avr./2020 17:17
par MLD
Merci vivement la fin

Re: COSMOS THE SECRET MELODY
Publié : mer. 06/mai/2020 21:32
par drfloyd
ca avance, mais j'ai une question technique :
Un sprite, comment l'inverser en mode miroir horizontal ? Il n'y a pas de commande pour ça.
Ca doit etre avec
Transformsprite... mais je ne trouve pas les parametres a indiquer... c'est un chaud à maitriser cette commande pour moi.

Re: COSMOS THE SECRET MELODY
Publié : mer. 06/mai/2020 22:46
par Ar-S
Il ni a pas de commande pour cela effectivement.
Donc soit tu mets plus images dans tes spritessheets, soit tu peux essayer cette solution (non testé).
https://www.purebasic.fr/english/viewto ... 13&t=16501
et ici
viewtopic.php?f=1&t=1352&view=next
Re: COSMOS THE SECRET MELODY
Publié : jeu. 07/mai/2020 0:08
par Ollivier
Code : Tout sélectionner
Procedure SpriteHorizontalFlip(N.I)
Structure DWORD
L.L[1 << 14]
EndStructure
Define.I W = SpriteWidth(N), X, Y
If StartDrawing(SpriteOutput(N) )
Define *A.DWORD = DrawingBuffer()
For Y = 0 To (SpriteHeight(N) - 1)
For X = 0 To (W >> 1 - 1)
Swap *A\L[X], *A\L[W - X - 1]
Next
*A + DrawingBufferPitch()
Next
StopDrawing()
EndIf
EndProcedure
Re: COSMOS THE SECRET MELODY
Publié : jeu. 07/mai/2020 13:11
par Ar-S
Très cool Ollivier.
Mise en pratique dans l'exemple PB sur openswindowedscreen()
Code : Tout sélectionner
Declare SpriteHorizontalFlip(N.I)
If InitSprite() = 0
MessageRequester("Erreur", "Impossible d'ouvrir l'écran & l'environnement nécessaire aux sprites !", 0)
End
EndIf
If OpenWindow(0, 0, 0, 220, 160, "Un écran dans une fenêtre...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0, 170, 135, 45, 20, "Quitter")
If OpenWindowedScreen(WindowID(0), 0, 0, 160, 160)
CreateSprite(0, 40, 40)
If StartDrawing(SpriteOutput(0))
Box(0, 0, 20, 20, #Red)
Box(20, 0, 20, 20, #Yellow)
StopDrawing()
EndIf
Else
MessageRequester("Erreur", "Impossible d'ouvrir un écran dans la fenêtre!", 0)
End
EndIf
EndIf
direction = 2
Repeat
; Il est très important de traiter tous les évènements restants dans la file d'attente à chaque tour
;
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_Gadget
If EventGadget() = 0
End
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
DisplaySprite(0, x, x)
x + direction
If x > 120 : SpriteHorizontalFlip(0) : direction = -2 : EndIf
If x < 0 : SpriteHorizontalFlip(0) : direction = 2 : EndIf
Delay(1)
ForEver
Procedure SpriteHorizontalFlip(N.I)
; Ollivier
Structure DWORD
L.L[1 << 14]
EndStructure
Define.I W = SpriteWidth(N), X, Y
If StartDrawing(SpriteOutput(N) )
Define *A.DWORD = DrawingBuffer()
For Y = 0 To (SpriteHeight(N) - 1)
For X = 0 To (W >> 1 - 1)
Swap *A\L[X], *A\L[W - X - 1]
Next
*A + DrawingBufferPitch()
Next
StopDrawing()
EndIf
EndProcedure
Re: COSMOS THE SECRET MELODY
Publié : jeu. 07/mai/2020 15:43
par drfloyd
merci pour vos réponses
c'est un peu lourd
je pensais qu'une simple commande genre :
TransformSprite(0,1,1,100,0,1,100,0,100)
suffirait
Non ?
Re: COSMOS THE SECRET MELODY
Publié : jeu. 07/mai/2020 17:12
par Ollivier
Non, elle permet de faire de la 3D et d'éviter le calcul de l'état de la face : cachée ou pas. Si tu sais le faire de tête, t'es un bon en méca (c'est un torseur), mais pas en optimisation puisque tu dois calculer chaque face à chaque frame d'affichage.
Là, TransformSprite() t'épargne ce travail et charge le GPU de faire le calcul donc ton CPU pionce pendant que ça s'affiche.
Le flip horizontal (ou vertical, même constatation) se calcule avant l'affichage, une bonne fois pour toute, donc, pareil, pas de perte de temps.
Il ne faut pas oublier que TransformSprite(), c'est déjà jusqu'à 10 paramètres donc rajouter l'option de face cachée optionnelle, ça aurait fait fuir d'autres survivants !