AmiDARK Engine pour Classics ?
15 sujets de 1 à 15 (sur un total de 25)
- 1
- 2
-
Bonjour à tous,
La question m’a été posée quelque fois…
Je n’y ai jamais réellement accordé d’intêret car l’AmiDARK Engine utilise MiniGL (ou indirectement, Warp3D) sur AmigaOS4 et TinyGL sur MorphOS.Il est donc dépendant du support 3D de la machine hors sur Amiga Classics .. la 3D devient vite compliqué (sauf si l’on possède une carte vidéo genre BVision ou un Médiator/GRex avec une Voodoo).
J’ai pu regarder un peu ce qui se faisait et j’ai noté (il y a quelques temps) que via WinUAE, on peut avec Wazp3D (de Alain Thellier) et Mesa, utiliser l’accélération matérielle 3D du PC émulant l’Amiga … Cela permet donc de bonnes performances 3D … Mais cela laisse un peu de côté le côté « pur » des classics (sur une machine Amiga ancienne génération).
Actuellement, l’AmiDARK Engine « n’est pas » compatible aves l’AmigaOS3.x cela dit, si j’obtient pas mal de retour d’utilisateurs Amiga Classics qui aimeraient que l’AmiDARK Engine soit présent sur AmligaOS3.x , j’envisagerai peut-être la chose autrement …
Je détaille ceci car il y a pas mal de modifications à faire au niveau du noyau du GDK pour le rendre compatible et donc, je n’envisagerai pas de le faire si c’est pour seulement 2 ou 3 personnes …Voila, je vous laisse la parole 🙂
Plus nombreux vous serez, plus cela augmentera les chances de me décider à ~ .@+
AmiDARKHello AmiDark.
Ça pourrait être intéressant si cela pouvait être utilisé pour développer pour 68k même si ça ne vise que des grosses configs genre 040/060. Mais si tu ne penses pas le projet viable hors carte graphique de cowboy via uae je ne suis pas sur que cela motive suffisamment de monde pour justifier le surplus de travail que cela te demandera.
CBM A1200:
Blizzard1260/96Mhz,128Mo(40ns),Indivision, HD80Go,WifiPcmcia. ... Merci hivernaal et l'A.R.T (Amiga Rescue Team) pour ma CD32 !!Qu’appels tu petite configs ? Si tu parles de 020/030 ça n’est pas choquant en ce sens que c’est déjà le cas (FPS genre quake/démoscene/…).
CBM A1200:
Blizzard1260/96Mhz,128Mo(40ns),Indivision, HD80Go,WifiPcmcia. ... Merci hivernaal et l'A.R.T (Amiga Rescue Team) pour ma CD32 !!L’AmiDARK Engine ajouterait une couche logicielle et donc, un jeu serait forcément « un peu plus lent » qu’un jeu codé directement en Assembleur sur 680×0/6888x …
Je pense sincèrement que la 3D ne serait réellement utilisable (car via MESA pour les classics) que sur 68040/68060 ou + (Blizzard PPC + BVision) …
Pour la 2D, elle devrait pouvoir être « utilisable » sur toutes configs avec un peu de mémoire (je pense 4/8Mo mini mais faudra que je vérifie) …Peux-tu le faire pour C64 ? Il n’y a aucun humour dans cette question. Je voulais juste la poser, c’est tout.
Elwood : Je n’en sais rien … Je n’ai jamais réellement connu le C64 et je n’ai jamais programmé dessus.
S’il existe un SDK, donne moi le lien et je pourrais me faire une idée … Mais bon … le C64 est tout de même bien moins puissant que l’Amiga… Une API programmable en + ça ralentit toujours un peu plus qu’une programmation directe … Est-ce que cela vaudrait réellement le coup ? Et puis, il faudrait qu’il y ait du monde derrière qui soit intéressé par le projet.
Sur Amiga Classics, j’entends toujours dire sur le forum qu’il y a « beaucoup de monde » sur classics (bon, j’en suis pas convaincu mais bon, dans le doute :p)@+
je suis pour : 68k et/ou PPC
juste une version 2D pour 68k et peut être une lib chunky pour PPC ?
ah oui j’ai oublié de dire que j’achèterais une licence si un jour ça se réalise.
Un truc que je n’ai pas suivi. C’est un moteur qui interprète des scripts ou est ce que le code créé sous amidark est compilé ?
Si la réponse est compilé qu’apporterait AmiDark par rapport a un Amos ou Amiblitz ? (Cette question n’est pas un piège mais une réelle curiosité sur les features que je ne connais pas).
CBM A1200:
Blizzard1260/96Mhz,128Mo(40ns),Indivision, HD80Go,WifiPcmcia. ... Merci hivernaal et l'A.R.T (Amiga Rescue Team) pour ma CD32 !!Salut Jay,
L’AmiDARK Engine est une bibliothèque (.a contenant plusieurs .o) de commandes utilisables en C/C++ permettant de simplifier la programmation d’applications ludiques en C/C++
Avec l’AmiDARK Engine, plus besoin d’apprendre comment fonctionne les pointeurs … car tout est géré par la bibliothèque de fonctions.Le Programmeur a donc toujours besoin d’un compilateur genre GCC pour créer ses programmes. Il aura aussi besoin du SDK de l’OS sur lequel il compilera (actuellement AmigaOS4 & MorphOS).
Dans son MAKEFILE, il aura juste à ajouter la bibliothèque de fonctions avec : -lAmiDARK
L’AmiDARK Engine fonctionne d’une manière particulière assez protégé contre les fuites de mémoire lorsque l’on programme. Pour cela il prends la main sur la fonction habituelle nommée « main{ … } » utilisée comme fonction principale en C/C++ et l’utilisateur doit donc utiliser à la place la fonction « DarkLoop{ … } ».
L’intêret est que, si l’utilisateur a oublié de supprimer de la mémoire des médias chargés via l’AmiDARK Engine, l’AmiDARK Engine le fera tout seul en fin d’exécution.
De plus, cela permet à l’AmiDARK Engine de procéder à toutes les initialisations nécessaires au bon fonctionnement du moteur de jeu et ce, avant que le développeur n’ai la main avec son programme dans la fonction « DarkLoop{ … } ».
Pour donner un petit exemple de programme en C utilisant l’AmiDARK Engine :
01 `#include « libAmiDARK.h »
02
03 void DarkLoop( void ){
04 DESetDisplayMode( 640, 480, 32 );
05 DESyncOn();
06 DESyncRate( 60 );
07
08 DEMakeObjectCube( 1, 60 );
09 while( !DELoop() ){
10 DERotateObject( 1, DEWrapValue( DEObjectAngleX( 1 ) + 0.1 ), DEWrapValue( DEObjectAngleY( 1 ) + 0.2 ), 0.0 );
11 DESync();
12 }
13 }
`
Ce petit exemple crée un cube et le fait tourner à l’écran.
Voici le détail du source code :
01 Inclusion du fichier de définitions des fonctions de l’AmiDARK Engine.
03 Début de la fonction principale DarkLoop{ … }
04 Ouverture de l’écran de l’application en 640×480 32 bits.
05 Activation du mode (synchronisation passive).
06 Fix le frame rate à 60 images par secondes au maximum.
08 Création d’un objet 3D de type cube de dimensions X, Y et Z de 60 unités.
09 Début de la boucle principale de la démo. Qui se quittera lorsque les messages de sortie seront valides (échap, bouton fermer, etc…)
10 Rotation de l’objet sur X et Y en tenant compte de la dernière valeur de ces angles et remise sous un range de 0-360°
11 Affichage de la synchro à l’écran.
12 Fermeture de la boucle principale.
13 Fermeture de la fonction « DarkLoop{ … } ».Par défaut, l’AmiDARK Engine contient plusieurs modules qui gèrent un peu tous les domaines qu’on peut utiliser pour un jeu.
Pour plus d’informations sur les commandes/fonctions disponiblaes actuellement, regarder la doc HTML fournie dans l’archive de l’AmiDARK Engine.J’espère qu’avec cela, la compréhension de l’AmiDARK Engine est amenée :p
Liste non complète et sujette à modifications des commandes prévues :
http://www.amidark-engine.com/spip.php?article25
Cette liste est ancienne et n’a pas été mise à jour de puis longtemps. Une liste plus exhaustive est présente dans la doc HTML de l’archive.Voila 🙂
@+
AmiDARKOk ! Je reviens de ton site je n’avais pas compris qu’il s’agissait d’une bibliothèque. Je pensais que c’était un langage complet, j’étais à coté de la plaque.
La mise en forme a l’air des plus simpliste et accessible c’est un très bon point.
CBM A1200:
Blizzard1260/96Mhz,128Mo(40ns),Indivision, HD80Go,WifiPcmcia. ... Merci hivernaal et l'A.R.T (Amiga Rescue Team) pour ma CD32 !!
15 sujets de 1 à 15 (sur un total de 25)
- 1
- 2
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › AmiDARK Engine pour Classics ?