Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 290 083

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» projet: "player" Amiga pour les jeux conçus avec Game Maker

projet: "player" Amiga pour les jeux conçus avec Game Maker#2131

15Contributeur(s)
thellierTarzinLioElwoodCrisotCreolsastrofrazzd10hPetrolsinisrushunoppcK-LPseudaxosYesCop
3 Modérateur(s)
K-LElwoodcorto
thellier thelliericon_post
@Elwood

Oui oui on est d'accord & je suis confiant: Hugues pourra certainement écrire les qques fonctions qui manqueraient pour faire tourner son jeu = après tout c'est juste écrire des fonctions utilisant AmigaOS
Au final c'est juste des wrappers GML -> Fonctions AmigaOS : C'est juste fastidieux pas dur

@Kamelito
J'utilise déjà comme base pour le traçage des sprites et autres ce que j'avais écrit pour "Abbaye des morts" ainsi le tracage 2D et les sons marchent bien déjà

Comme ça parais un peu obscur voici 3 exemples de commade GML qu'il faudra implémenter

audio_stop_music();This function will stop any background music that is currently playing. This function only affects the sounds that have been played by the audio_play_music function.
Note: facile

instance_nearest(x, y, obj);This function will check all the instances of the given object to see which is nearest to the given point of origin. If no instances of the object exist, the function will return the keyword noone, but if there are instances then it will return the id of the instance found. Please note that if the instance running the code was created as an instance of the object being checked, then it will be included in the check.

Note: les instances sont les personnages en fait: on cherche le perso de tel modèle le plus proche de x y

draw_sprite_tiled_ext(sprite, subimg, x, y, xscale, yscale, colour, alpha);
Argument Description
sprite The index of the sprite to draw.
subimg The subimg (frame) of the sprite to draw (image_index or -1 correlate to the current frame of animation in the object).
x The x coordinate of where to draw the sprite.
y The y coordinate of where to draw the sprite.
xscale The horizontal scaling of the sprite. A multiplier ' 1 = normal scaling, 0.5 is half etc.
yscale The vertical scaling of the sprite. A multiplier ' 1 = normal scaling, 0.5 is half etc.
colour The colour with which to blend the sprite. c_white is to display it normally.
alpha The alpha of the sprite (from 0 to 1 where 0 is transparent and 1 opaque).
Returns: N/A
Description
This function will take a sprite and then repeatedly tile it across the whole view (or room if no view is defined), starting from the coordinates that you give in the function and with each tile scaled, colour blended and with the alpha that you define (these properties are the same as those used in draw_sprite_ext).

Note: certainement la plus complexe fonction parmi celles à faire : c'est un effet papier peint
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
icon_post
@Thellier
Si la licence est compatible pourquoi ne pas utiliser ce qui a été fait ?
http://enigma-dev.org/docs/Wiki/ENIGMA
Kamelito

[addsig]
Message édité par : kamelito / 09-09-2015 18:19
Lio Lioicon_post
@ Alain : c'est ça le gamemaker en question ?
 https://www.humblebundle.com/weekly
en fournissant ton email tu peux avoir gratuitement l'abbaye des morts + sources (que tu as déjà il me semble) ainsi que spelunky classic + sources.

il y a aussi un autre : RPG maker avec des jeux et des sources : http://www.bundlestars.com/all-bundles/game-makers-mega-bundle/


A1G4/Radeon9000PRO/1Go RAM; X5000/RadeonR7-250x/2Go RAM; AOS4.1FE
K-L K-Licon_post
Lio : oui, il l'a déjà et il a même déjà été porté par alain d'ailleurs :-) http://os4depot.net/index.php?function=showfile&file=game/action/abbayedesmorts.lha
--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
Lio Lioicon_post
oui je sais bien, je l'ai installé sur mon A1 mais ma question était plus de savoir si Alain parlait bien de ce logiciel là et de signaler qu'il y avait des sources de dispo !
A1G4/Radeon9000PRO/1Go RAM; X5000/RadeonR7-250x/2Go RAM; AOS4.1FE
thellier thelliericon_post
Ok merci les gars c'est bien le GameMaker dont je développe un player

J'ai pas récupéré le GameMaker du bundle (j'en ai déjà une version démo) car je sais pas vraiment m'en servir

Par contre j'ai récupéré les 2 jeux + sources

J'ai repris abbaye des morts car la version GameMaker originale est pas celle venue de Linux (que j'avais

porté sur Amiga)



Avoir les sources de jeux GameMaker me permettent de les comparer à mes désassemblages



Là j'ai avancé mon émulation du langage GML sur les 105 fonctions (celles utilisées dans le jeu que jeux avoir sur Amiga) j'en ai fait 70

Là j'implémente un rendu des sprites via Warp3D car le Compositing
buggait sur ma Sam440 avec les textures de 2048x2048 (planches de
sprites) => j'espère que ça va pas bugger aussi



J'ai encore qques trucs théoriques à résoudre comme "comment gérer les variables locales"



Sinon le gros truc à faire sera la gestion des collisions: dans
GameMaker tout est géré avec des "évenements" sur les instances
(personnages) qui déclenchent des actions (programmes GML)

Autant les événements "création" ou "tracé" des instances (personnages)
seraient déjà gérables autant les collisions/destructions dépendent de
ce qui se collisionne dans le niveau



>Enigma

Oui effectivement c'est intéressant surtout comme référence pour savoir ce que font/comment faire les fonctions

Mais bon je vais pas implémenter tout GML comme Enigma

Si j'ai bien compris Enigma permet de recompiler des sources GML

Alors que moi je veut executer des binaires GML





Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
thellier thelliericon_post
Hello

Voilà les nouvelles

  • Plus que 16 fonctions GML (89 faites sur 105) à implémenter pour que le jeu prévu puisse tourner
    Grace aux exemples récemment récupérés j'ai compris à quoi servent les instructions bytecode nommées pushenv & popenv : à faire un "with" avec une instance
    La version AmigaOS4 marche désormais : 100% correct en mode fenétré ... mais toujours pas en plein écran
    http://thellier.free.fr/GMAP-OS4.JPG
    Cette version Ng apporte par rapport à "Abbaye des morts" la correction du problème sur les tiles vis à vis du filtering (Hugues: et oui c'est fait) et le redimensionnement de la fenêtre à la volée durant le jeu (très cooool)


Reste à faire:
Gestion des variables
Appels des (nouvellement écrites) fonctions GML depuis la machine bytecode (facile)
Gestion des autres sons (ogg vorbis)
Gestion des collisions
Tester tout le bouzin

En fait je réalise que c'est un projet d'émulateur en fait puisque ça fonctionnera avec des jeux prévus pour PC dont on interprétera le bytecode (cad un pseudo assembleur) à la volée

Alain Thellier


Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
sinisrus sinisrusicon_post
Trop fort en plus ta pas trop mis de temps c'est balaise
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
hunoppc hunoppcicon_post
Citation: thellier 

Hello

Voilà les nouvelles

  • Plus que 16 fonctions GML (89 faites sur 105) à implémenter pour que le jeu prévu puisse tourner
    Grace aux exemples récemment récupérés j'ai compris à quoi servent les instructions bytecode nommées pushenv & popenv : à faire un "with" avec une instance
    La version AmigaOS4 marche désormais : 100% correct en mode fenétré ... mais toujours pas en plein écran
    http://thellier.free.fr/GMAP-OS4.JPG
    Cette version Ng apporte par rapport à "Abbaye des morts" la correction du problème sur les tiles vis à vis du filtering (Hugues: et oui c'est fait) et le redimensionnement de la fenêtre à la volée durant le jeu (très cooool)


Reste à faire:
Gestion des variables
Appels des (nouvellement écrites) fonctions GML depuis la machine bytecode (facile)
Gestion des autres sons (ogg vorbis)
Gestion des collisions
Tester tout le bouzin

En fait je réalise que c'est un projet d'émulateur en fait puisque ça fonctionnera avec des jeux prévus pour PC dont on interprétera le bytecode (cad un pseudo assembleur) à la volée

Alain Thellier


AmigaOs4 Rulez
- X1000 Nemo - 1800 Mhz 4 Go de Ram - Radeon HD R9 280X Version Toxic 3GO
Soundblaster live 5.1, Siil 3114 PCIe 1X, Port Serial debug
X5000/40 RX560 4Go
 
Tu es au top Alain sur ce coup là tu as bien bosster et au final tu as du résultat, il te manque que quelques semaines et tu sera sur le podium :-) 
Je te félicite encore pour ce super travail acharné que tu nous réalise et vive l'amiga
PS: tu n'as plus qu'à fixer l'abbayes maintenant :-)

HunoPPC
AmigaOs4 Rulez
- X1000 Nemo - 1800 Mhz 4 Go de Ram - Radeon HD R9 280X Version Toxic 3GO
Soundblaster live 5.1, Siil 3114 PCIe 1X, Port Serial debug
X5000/40 RX560 4Go
thellier thelliericon_post
Merci à Hugues et Toni

>mais toujours pas en plein écran

Bon ça (re)marche pour le plein écran NG: c' étais juste un copier/coller malencontreux d'une allocation de bitmap  dans ma fonction d'ouverture de fenetre (en plein écran =pas de fenetre ==> pas d'alloc ==> pas d'affichage :-( )
 
@Hugues
mais en fait j'avais déjà une version (non diffusée) de "Abbaye des morts" qui faisait ça
(le bon filtrage des tiles et le redimensionnement) = je l'avais implémentée suite à ta
remarque

Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme