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

Pages vues depuis 25/07/2007 : 25 234 810

  • 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 »»  OS4 toutes plateformes confondues »» AmiDARK Engine - Alpha WIP - 2D Demo

AmiDARK Engine - Alpha WIP - 2D Demo#491

7Contributeur(s)
AmiDARKSharynnCreolssinisrusK-LLioPseudaxos
3 Modérateur(s)
K-LElwoodcorto
AmiDARK AmiDARKicon_post
Salut,

Allez, je poste une première petite démonstration montrant l'avancement du projet.
Elle utilise les images 2D ( Textures OpenGL ), l'alpha mapping, et la transparence.
Scrolling sur plusieurs plans en différentiels et parallaxes ...

Voici le lien pour la télécharger et l'installer :
http://www.odyssey-creators.com/AmiDARK_Engine0.1WIP_2DDemo.rar

Voici aussi un petit visu de ce à quoi cela devrait ressembler :
http://www.odyssey-creators.com/AmiDARKEngine0.1WIP2DDemo.png
Bon SGrab m'a un peu foiré les arbres et les herbes ... normalement elles apparaissent bien comme il faut (verticales et pas en travers :p)

Sinon, voici pour ceux qui veulent se prendre un peu la tête, le code source de la démo :


/***********************************************************
**
**?AmiDARK?Engine?Development?Project
**------------------------------------
**
**?Sample?:?Textures/Images?demonstration
**?Author?:?Frederic?Cordier
**?Date?:???2009JUI22-043821?**
************************************************************
*/
#!!!include!!!?"AmiDARKEngine.c"
??int?ILoop;
??float?XMountain[3];
??float?XTrees[?4?];
??float?XHerbs[?3?];
??float?XClouds[5][?2?];

void?DarkLoop(?void?){
??//?Crée?l'affichage?en?mode?640x480?en?32bits.
??DESetDisplayMode(?640,?480,?32?);
??//?Définit?les?positions?initiales?des?3?images?de?décor?de?montagnes.
??XMountain[?1?]?=?0.0;
??XMountain[?2?]?=?512.0;
??XMountain[?3?]?=?1024.0;
??//?Idem?pour?les?4?images?d'arbres.
??XTrees[?1?]?=?0.0;
??XTrees[?2?]?=?512.0;
??XTrees[?3?]?=?1024.0;
??XTrees[?4?]?=?1536.0;
??//?Idem?pour?les?3?images?d'herbes.
??XHerbs[?1?]?=?0.0;
??XHerbs[?2?]?=?512.0;
??XHerbs[?3?]?=?1024.0;
??//?Idem?pour?les?nuages.
??XClouds[1][?1?]?=?0.0;
??XClouds[1][?2?]?=?640.0;
??XClouds[2][?1?]?=?0.0;
??XClouds[2][?2?]?=?640.0;
??XClouds[3][?1?]?=?0.0;
??XClouds[3][?2?]?=?640.0;
??XClouds[4][?1?]?=?0.0;
??XClouds[4][?2?]?=?640.0;
??XClouds[5][?1?]?=?0.0;
??XClouds[5][?2?]?=?640.0;
??//?Definition?du?nombre?maximum?de?textures/images?dont?on?a?besoin.
??DESetMaximumTextures(?13?);
??//?Chargement?de?toutes?les?images?pour?la?démonstration.
??DELoadImageEx(?"Images/RTSky02_SunWake05.png",?1,?0?);
??DELoadImageEx(?"Images/Mountains512.png",?2,?0?);
??DELoadImageEx(?"Images/Layer_Trees512A.png",?3,?0?);
??DELoadImageEx(?"Images/Layer_Trees512B.png",?4,?0?);
??DELoadImageEx(?"Images/Layer_Herbs512.png",?5,?0?);
??DELoadImageEx(?"Images/Layer_Water640.png",?6,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds4[640x12]_Alpha.png",?7,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds3[640x18]_Alpha.png",?8,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds2[640x38]_Alpha.png",?9,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds1[640x80]_Alpha.png",?10,?0?);
??DELoadImageEx(?"Images/Layer_Cllouds0[640x42]_Alpha.png",?11,?0?);
??DELoadImageEx(?"Images/Layer_Ground[640x60].png",?12,?0?);
??DELoadImageEx(?"Images/Logo.png",?13,?0?);
??DECls();
??while(?!DELoop()?){
????//?Tracé?du?fond?de?ciel?bleu?avec?le?soleil?et?la?lune.
????DEPasteImage(?1,?0,?0?);
????//?Gestion?du?scrolling?des?montagnes?devant?le?fond?de?ciel?bleu.
????for?(?ILoop?=?1;?ILoop???????XMountain[?ILoop?]?=?XMountain[?ILoop?]?-?0.25;
??????if?(?XMountain[?ILoop?]?????????XMountain[?ILoop?]?=?XMountain[?ILoop?]?+?640.0;
???????}
??????DEPasteImageEx(?2,?(int)XMountain[?ILoop?],?224,?1?);
??????//?Affichage?de?l'eau?qui?se?déplace?en?parallèle?des?montagnes.
??????DEPasteImage(?6,?(int)XMountain[?ILoop?],?320?);
?????}
????//?Gestion?du?scrolling?des?arbres?devant?les?montagnes?et?le?ciel?bleu.
????for?(?ILoop?=?1;?ILoop???????XTrees[?ILoop?]?=?XTrees[?ILoop?]?-?0.70;
??????if?(?XTrees[?ILoop?]?????????XTrees[?ILoop?]?=?XTrees[?ILoop?]?+?2048.0;
???????}
?????}
????//?Gestion?des?scrollings?des?nuages?sur?les?5?plans
????for?(?ILoop?=?1;?ILoop???????XClouds[1][?ILoop?]?=?XClouds[1][?ILoop?]?-?0.15;
??????if?(?XClouds[1][?ILoop?]?????????XClouds[1][?ILoop?]?=?XClouds[1][?ILoop?]?+?640.0;
???????}
??????XClouds[2][?ILoop?]?=?XClouds[2][?ILoop?]?-?0.30;
??????if?(?XClouds[2][?ILoop?]?????????XClouds[2][?ILoop?]?=?XClouds[2][?ILoop?]?+?640.0;
???????}
??????XClouds[3][?ILoop?]?=?XClouds[3][?ILoop?]?-?0.45;
??????if?(?XClouds[3][?ILoop?]?????????XClouds[3][?ILoop?]?=?XClouds[3][?ILoop?]?+?640.0;
???????}
??????XClouds[4][?ILoop?]?=?XClouds[4][?ILoop?]?-?0.60;
??????if?(?XClouds[4][?ILoop?]?????????XClouds[4][?ILoop?]?=?XClouds[4][?ILoop?]?+?640.0;
???????}
??????XClouds[5][?ILoop?]?=?XClouds[5][?ILoop?]?-?0.75;
??????if?(?XClouds[5][?ILoop?]?????????XClouds[5][ILoop?]?=?XClouds[5][?ILoop?]?+?640.0;
???????}
?????}
????DEPasteImageEx(?7,?XClouds[1][?1?],?178,?1?);
????DEPasteImageEx(?7,?XClouds[1][?2?],?178,?1?);
????DEPasteImageEx(?8,?XClouds[2][?1?],?160,?1?);
????DEPasteImageEx(?8,?XClouds[2][?2?],?160,?1?);
????DEPasteImageEx(?9,?XClouds[3][?1?],?122,?1?);
????DEPasteImageEx(?9,?XClouds[3][?2?],?122,?1?);
????DEPasteImageEx(?10,?XClouds[4][?1?],?42,?1?);
????DEPasteImageEx(?10,?XClouds[4][?2?],?42,?1?);
????DEPasteImageEx(?11,?XClouds[5][?1?],?0,?1?);
????DEPasteImageEx(?11,?XClouds[5][?2?],?0,?1?);
????//?Affichage?des?arbres?devant?le?décor?de?fond.
????for(?ILoop?=?1;?ILoop???????DEPasteImageEx(?ILoop?+?2,?(int)XTrees[?ILoop?],?214,?1?);
??????DEPasteImageEx(?ILoop?+?2,?(int)XTrees[?ILoop?+?2?],?214,?1?);
??????DEPasteImage(?12,?(int)XTrees[?ILoop?],?420?);
??????DEPasteImage(?12,?(int)XTrees[?ILoop?+?2?],?420?);
?????}
????//?Gestion?du?scrolling?des?herbes?devant?les?arbres.
????for?(?ILoop?=?1;?ILoop???????XHerbs[?ILoop?]?=?XHerbs[?ILoop?]?-?1.0;
??????if?(?XHerbs[?ILoop?]?????????XHerbs[?ILoop?]?=?XHerbs[?ILoop?]?+?1536.0;
???????}
??????DEPasteImageEx(?5,?XHerbs[?ILoop?],?440,?1?);
?????}
????//?Affichage?du?logo?de?la?démo?en?plein?milieu?de?l'écran.
????DEPasteImageEx(?13,?64,?48,?1?);
????//?Synchro.
????DESync();
???}
// On supprime les images de la mémoire.
??for?(?ILoop?=?1;?ILoop?????DEDeleteImage(?ILoop?);
???}
?}



On dirait presque du langage basic :p tellement mon système simplifie la vie :p

N'hésitez pas à donner votre avis :p

@ +
AmiDARK
Message édité par : AmiDARK / 14-09-2009 01:49
Note de K-L : mettre un espace avant le lien pour le rendre cliquable ;-)
Message édité par : K-L / 14-09-2009 05:52
Sharynn Sharynnicon_post
Il reste plus qu'a ce que tu puisses me le montrer quand nous sommes chez toi !!! :-D
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
Creols Creolsicon_post
@ AmiDARK

L'Alchimie 2k9, c'est les 6, 7 & 8 Novembre. Tu sais ce qui te reste à faire ! :b
0
sinisrus sinisrusicon_post
ça serait bien une gestion de la transparence plus poussé genre comme un png avec les contour lissé et pas comme du gif avec un seul niveau de transparence

--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
K-L K-Licon_post
AmiDARK : c'est vraiment chouette. Ca rappelle les grands jours de l'Amiga. Par contre, ça mange 100% du CPU :-(
--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
AmiDARK AmiDARKicon_post
@Creols :
Oui je sais ... Mais niveau financier je suis limite ... Je pense que je vais ouvrir un site web temporaire et y mettre une possibilité de faire des donations pour le projet ... Si je reçois assez, je pourrais du coup payer le trajet pour l'Alchimie (ça fait partie du projet vu que ce serait pour sa promotion et trouver des sponsors :p ) ... enfin, il faut aussi que mon patron me donne les jours de repos nécessaires pour ;)

@Sinirus :
Les images chargées sont en PNG. De plus, la gestion de la transparence des png est déjà présente (regarde les nuages )... Il utilise le canal alpha défini dans ton image + la possibilité de rendre le noir invisible.
Par contre il est prévu dans les jeux de commandes de gérer un alpha mapping par défaut par image/sprite... J'en dirais plus à ce sujet là lorsque les commandes dédiées seront codées et fonctionnelles ;)

@K-L : Oui :) et c'était un peu fait exprès ... Les nuages sont ceux de Shadow of the beast avec un petit effet de flou pour pas qu'on voie trop les pixels :p Le commentaire pour creols répond un peu à ce que tu me demandais toi aussi pour l'Alchimie ;)

En tout cas, merci pour vos réponses à tous :)
Message édité par : AmiDARK / 14-09-2009 17:50
Lio Lioicon_post
joli demo mais on ne peut pas quitter :-|

:=!
A1G4/Radeon9000PRO/1Go RAM; X5000/RadeonR7-250x/2Go RAM; AOS4.1FE
K-L K-Licon_post
Lio : si, avec ESC :-)
--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
Pseudaxos Pseudaxosicon_post
Bravo Amidark
C'est une très belle Démo !!
Ca me rappelle un peu shadow of the beast..

AmiDARK AmiDARKicon_post
J'espère pouvoir vous concocter bientôt une petite démo 3D lorsque les objets 3D primitifs seront prêts :p
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme