1

Nebulus


illustr.jpg


Je pense que peu de personnes connaissent ce petit jeu. L'idée de porter Nebulus sur TI68K me trottait dans la tête bien avant Arkanoid Revenge of DOH mais je n'avais pas encore un niveau suffisant pour espérer coder ce jeu.


Petite histoire sur le jeu:

Nebulus est entièrement conçu et réalisé (sur 8-bits en 1987 puis 16-bits en 1988) par un jeune Anglais de 24 ans, John M.Phillips (qui avait déjà à son actif les jeux Impossaball et Nutcracka sur BBC et C64), fait partie des épures lumineuses et imparfaites apparues sur ST et Amiga (les deux versions qui mettent le mieux en avant ses qualités).
A sa sortie, Nebulus a été unanimement salué comme le jeu le mieux réalisé du moment. Le « scrolling rotatif » programmé par John M.Phillips fit forte impression, et la presse spécialisée, qui avait encore à l’époque les idées larges, fut subjuguée par ce jeu magnifique et novateur. Tilt lui remit même le Tilt d’or du meilleur jeu d’action en 1989, tandis qu’au Royaume Uni la cérémonie des Golden Joystick Awards devait consacrer le jeu deux ans de suite, en 1988 (meilleur jeu original) et en 1989 (meilleur programmeur). De même, le succès commercial du jeu en Angleterre fut plutôt satisfaisant au point que Atari UK se montre intéressé par une conversion sur Atari 800/XE/XL et Atari 7800, sous le titre Tower Toppler.

j_philps.jpg

John M.Philips


Le jeu a été porté sur plusieurs machines comme la version C64, Spectrum, CPC-464...

vc64.jpg vspectrum.jpg

Versions C64 et Spectrum


vcpc.jpg

Version CPC-464


Le jeu a subit un énorme succès sur les versions ATARI ST et AMIGA, il a révolutionné le monde des jeux vidéos en faisant découvrir de nouvelles techniques de programmation qui seront reprises dans les jeux actuels. Un niveau de Rayman II rend hommage à Nebulus avec la fameuse tour. A noté que pour l'époque programmer un tel jeu par une seule et unique personne qui plus est en assembleur était déjà une prouesse!

Je me suis interessé aux versions Atari ST et Amiga car niveau graphisme, elles me paraissent plus impressionnante et plus agréable à porter.


Plus de détails sur le jeu:


splash.jpg

Ecran titre


niv1.jpg

Début niveau n°1


La grosse trouvaille du jeu, la voici : l’action est représentée comme si la caméra était en permanence axée sur le héros. On ne voit jamais celui ci se déplacer sur le plan horizontal, et c’est donc la tour qui tourne. Ce mouvement rotatif (accompagné d'un scrolling différentiel du décor vu à l'horizon), non content d’être fantastiquement représenté par une fausse 3d jamais vue en dehors des salles d’arcade au moment de la sortie du jeu, est un élément de gameplay plein de possibilités que l’auteur du jeu a parfaitement su exploiter pour diversifier l’action, mais aussi pour rendre fou le joueur.
Au début de chaque niveau, le héros arrive à bord d’un sous marin au pied la tour, et monte sur une plate-forme qui n’est que le début d’une série de moyens divers permettant d’atteindre le sommet. Escaliers, plate-formes mouvantes, ressorts et ascenseurs sont au programme, ainsi que des couloirs traversant la tour de part en part, qui entraînent, quand on les emprunte, une variation de l’angle de vue de 180°, c’est à dire une rotation apparente de la tour du même angle, et à l’issue de laquelle on retrouve le héros de l’autre côté dans un environnement qui étaient totalement invisible avant qu’on exécute la manœuvre, et qui réserve le plus souvent de mauvaises surprises. Car bien entendu, de nombreux ennemis peuplent le parcours, qui ne sont pas très dangereux en eux mêmes, mais plutôt à cause du fait qu’on y est souvent confronté par surprise.
Certaines plate-formes sont glissantes et interdisent qu’on s’y arrête, et comme tout mouvement entraîne l’apparition d’un côté ou de l’autre d’un nouveau danger, le risque d’être touché est permanent. Par ailleurs, le temps est compté, donc il ne s'agit pas de trop traîner en route.


finniv1.jpg shooteup.jpg

Arrivée au sommet : le niveau se termine. Ensuite, en route pour un petit shoot à bord du sous-marin


En cas de contact avec un ennemi ou d’échec dans l’enchaînement des diverses combinaisons de mouvement imposées, le héros n’est pas tué. Il tombe à l’étage inférieur, cette chute pouvant entraîner d’autres chutes. S’il tombe dans l’eau, il meurt (ce qui est étonnant pour un être qui vit dans un monde aquatique et cherche à détruire les seuls édifices secs de sa planète, mais bon, c’est comme ça). Evidemment, plus on est haut sur la tour, plus le risque qu’une erreur se solde par une série de chutes jusqu’en bas est faible. Il en résulte que c’est au début des niveaux, et donc au début du jeu lui même que le joueur est le plus mis sous pression. C’est une erreur de conception qui, couplée à la difficulté exagérée du premier niveau, aurait pu être une marque d’originalité mais n’est au final rien d’autre que la principale cause du phénomène de rejet que ce jeu a entraîné sur beaucoup de monde.

Il faut juste beaucoup de patience et d'entrainement ainsi que de reflexion pour terminer Nebulus.


Pour en revenir aux TI68K plus précisément.

J'ai commencé ce projet il y a environ 4 jours voir un peu plus. A partir seulement des screens de la version ATARI ST j'ai décidé de tout reprogrammer en langage C avec de l'ASM68K pour les fonctions graphiques.

Voici des screens du jeu, pas ordre d'évolution:
http://perso.wanadoo.fr/tisofts/divers/screen0.gif
http://perso.wanadoo.fr/tisofts/divers/screen1.gif
http://perso.wanadoo.fr/tisofts/divers/screen3.gif
http://perso.wanadoo.fr/tisofts/divers/screen4.gif
http://perso.wanadoo.fr/tisofts/divers/screen5.gif
http://perso.wanadoo.fr/tisofts/nebulus/screen/screen6.gif Nouveau screen

Le jeu n'est pas encore jouable, il reste énormément à faire, surtout que de coder le scrolling rotatif a été plutôt assez difficile pour moi.


Historiques:

08/05/04:
---------

-Début de programmation de Nebulus, création de la tour.
-Etude de la map est début d'intégration des objets (Plateforme).


09/05/04:
---------

-Ajout complet de tous les objets fixes.
-Ecriture de routines graphiques.
-Optimisation du code.
-Mise en fichiers externes des maps et des sprites.


10/05/04:
---------

-Programmation des portes.
-Codage des routines de fontes de 8x8.
-Intégration du compteur de frames.


11/05/04:
---------

-Modification aspect de la tour.
-Gain de swap.w dans GraySprite8.
-Début codage routines affichage background.


12/05/04:
---------

-Affichage background linéaire.
-Affichage dome tour.
-Modification du fichier externe neb_gfx.


13/05/04:
---------

-Affichage background eau et ciel.


14/05/04:
---------

-Affichage des étoiles.


17/05/04:
---------

-Ajout table tiles_portes_back et gestion de la profondeur des portes.


18/05/04:
---------

-Ajout gestion interruption n°1 sur HW1 et HW2.
-Changement aspect étoiles avec interruption.
-Changement aspect TopTower avec interruption.
-Modification de neb_gfx.


19/05/04:
---------

-Ajout sprites player dans neb_gfx.
-Début codage player.
-Début animation player_turn.


20/05/04 BIRDTHDAY:
-------------------

-Codage routine GraySprite32_FLIPV avec buffer.
-Codage animation player_idle.
-Codage animation player_jump.
-Codage animation player_tombe.
-Codage animation player_tunnel.
-Codage animation player_ascenseur.
-Codage animation player_heurte.
-Codage animation player_coule.
-Codage animation player_endlevel.
-Codage animation player_subway.
-Gestion collision avec joueur.
-Désactivation collision avec Block.
-Gestion des piliers pour ascenseur.
-Modification du fichier neb_gfx avec ajout sous-marin.
-Animation sous-marin début et fin de niveau.


21/05/04:
---------

-Correction bug "Memory violation" avec initialisation reset_piliers.


22/05/04:
---------

-Bloquage du framerate à 25 Hz.
-Correction d'un bug dans GraySprite32_FLIPV.
-Codage de CopyScreenBufferToScreen2, routine de dézoom 240x128->160x100.
-Codage de CopyScreenBufferToScreen3, routine coupe zone de jeu en 160x100.


23/05/04:
---------

-Ajout de commentaires dans les sources.
-Rejouer niveau après une mort.
-Passage niveau suivant automatiquement.
-Ajout masque et modification des sprites TopTower dans fichier neb_gfx.
-Modification de la routine DrawTopTower acceptant masque et coordonnée y0.
-Correction bug d'affichage, TopTower, destruction d'une tour.
-Création de neb_gfx2.
-Ajout de l'écran titre avec modification de contraste.
-Choix niveau avec touche 1 à 8.
-Correction bug avec changement de contraste dans l'écran titre.


24/05/04:
---------

-Création du fichier neb_snd et ajout musqiue écran titre.
-Création de routines audio.
-Correction bug d'affichage, décor espace manquant.
-Affichage titre.
-Affichage podium et gestion rotation joueur 1 & 2.
-Modification du fichier neb_gfx2.


25/05/04:
---------

-Modification sprites, playermove, titre.
-Début de codage des monstres et tire missile.


26/05/04:
---------

-Codage complet des monstres.
-Ajout clipping suivant x, recodage de toutes les routines graphiques.
-Bug dans DrawTopTower et dans aff_flying_nmi;


27/05/04:
---------

-Correction bug d'affichage TopTower.
-Coorection bug dépassement capacité, liste ennemis.


28/05/04:
---------

-Correction bug, plantage sortie de jeu.
-Recodage des routines graphiques.
-Correction bug avec nombres signées, remplacement lsx par asx.
-Collisions complètent monstres et joueur.
-Gestion des tirs finie.
-Recodage des routines graphiques pour TI89.






Version pour TI89/TI92+/V200 hardwares confondus, fonctionne sous Pedrom


Touches:
-LEFT = Déplacement à gauche
-RIGHT = Déplacement à droite
-F1 + Move = Saut
-F1 = Tir
-UP = Passage tunnel ou monter avec ascenseur
-DOWN = Descendre avec ascenseur
-PLUS = Contraste +
-MINUS = Contraste -

Je ne suis en aucun cas responsable de pertes de données.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

ça peut être sympa, original en tout cas hehe
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

3

Sympa le scrolling rotatif. Une premiere sur TI je crois.

4

Vais ptet m'y remettre (en lisant la soluce) trilove

Sinon, quelques remarques ou questions :

- Le screen de la version Amstrad est le même, que ce soit 464 ou 6128.
- Tu veux pas que je te fasse une fonte 8x8 ? grin

5

Vais ptet m'y remettre (en lisant la soluce)


Je l'attend avec impatience. grin
- Le screen de la version Amstrad est le même, que ce soit 464 ou 6128.


Ah ok, mais je préfère de loin la version Atari ST.
- Tu veux pas que je te fasse une fonte 8x8 ?


Ouai ça serait sympa, j'ai essayé de prendre l'original et de changer les couleurs mais en effet ça rend pas très bien.
Le format est simple, fond noir dimension 320x8 et donc chaque caractère fait 8 pixels en comptant les esapces suivant x et y. smile

Sympa le scrolling rotatif. Une premiere sur TI je crois.


Merci, mais le jeu est loin d'être fini.

A savoir que PolySnd tourne en tâche de fond et donc qu'il y aura du son mais ça restera un gadget bien sûr.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

oh mais je le connais bien ce jeu là ! love
Je l'ai sur game boy (une vieille en n&b du siècle dernier ^^), donc ça de bonnes chances d'être faisable sur TI smile

En tout cas, c'est un bon jeu que tu as choisi de faire, geogeo smile
avatar
Appartiens à l'Unification Ultime !

Exec "4e444e750000"

7

Oué ça a l'air bien le scrolling rotatif top

Sur TI, tu pourrais même carrément faire un zoom horizontal pour rendre encore mieux top

(j'avais commencé une routine qui fait environ 1000 sprites par seconde, donc ce serait probablement faisable)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

et arkanoïd ???
Sinon ça à l'air bien sympa smile

9

Arkanoid j'y pense.

Pollux> J'ai préfèrer gérer ça autrement. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

10

Plusieurs sprites pré-zoomés ? Ca doit être faisable si tu n'en as pas trop, oui...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

11

Pourquoi des zooms...?? Pas besoin de tout ça, suffit de tricher avec les yeux!
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

12

Tu fais comment alors ?
Je pense que tu fais ce à quoi pense Pollux.

Sinon, le jeu a l'air vraiment prenant.
J'adore ce type de jeu complètement original.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

13

Tu fais comment alors ? Je pense que tu fais ce à quoi pense Pollux.


Non je ne fais pas la méthode de Pollux pour 2 raisons importantes:
-Inutile car on peut obtenir la même chose.
-Incomfortable pour ajouter des objets ce trouvant dans des plans variés...

En fait le concept est vraiment très astucieux. Il suffit de ce débrouiller pour changer le plan habituel 2D en un plan sphérique mais toujours en ayant 2 coordonnées (pos_in_tower=Position sur la tour suivant x, y=Position en hauteur).

Pour ma part la tour peu facilement être entre 0 et 256 pas, mais habituellement je travail entre 0 et 128, ainsi un objet ce trouvant entre 0 et 64 sera affiché car au premier plan et entre 64 et 128, derrière la tour. Pour gérer les objets sur le côté, je fais appel à une table de prioritée des sprites, permettant de bien organiser tout ça et donner l'illusion de profondeur. En bref les sprites sont placés de manière très méthodiques mais le jeu demande énormément de tables précalculées, souvent difficiles à trouver.

J'ai utilisé la même méthode que John M.Phillips pour coller au mieux avec le jeu original et surtout je pense que s'est la plus adaptée pour avoir un jeu fluide avec un bon fps. Pour l'instant je suis à 41 fps ce qui est suffisant, le jeu original tourne à 30 fps.(Mais je pense qu'il a fait exprès de le ralentir).

[EDIT Après reflexion le jeu sera porté aussi sur TI89. wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

14

Non mais je te remercie, on avait bien compris comment tu centrais tes sprites neutral

Je disais juste que ça pourrait être plus réaliste en "aplatissant" les sprites qui sont sur le bord de la tour... (en plus de les placer au bon endroit, évidemment) Parce que là on voit bien que leur taille est fixe, et ça rend moins bien.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

15

Oui bien sûr on peut toujours faire mieux, mais je reste comme ça en suivant l'original.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

16

Bah je disais juste ça sachant qu'on a plus de mémoire et que de toute façon on doit faire du rendu software pour les sprites, hein... Tu as combien de sprites différents ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

17

Si je compte tout? Disons 20 voir plus.
Mais je connais ta méthode, ça ne m'interesse pas. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

18

C'est bien dommage, ca rendrait le jeu plus fini.

19

Après reflexion le jeu sera porté aussi sur TI89.

Ça vaut mieux trivil

20

geogeo: Belle presentation du jeu. Bonne continuation.

21

Merci smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

22

moi ca me rapelle un jeu Lemings 3D lol mai super c nikel bon courage

23

24

trifus Que disait Moumou ???

25

si ça a été locké, y'a aucune raison qu'on te le dise, et pas la peine d'en reparler si tu ne veux pas te faire kicker... pareil pour les autres d'ailleurs.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

26

27

!kick Moumou
--- Kick : Moumou kické(e) par Ximoon

roll
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

28

Merci pour mon topic Moumou. roll
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

29

Dis geogeo: pas la peine d'en rajouter, ce que j'ai posté plus haut vaut pour toi aussi.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

30

Je n'en rajoute pas, je trouve dommage de pourrir un topic comme ça, surtout que ce n'est pas le premier topic qui subit ce genre de chose. Bref passons.

Je viens d'implanter les étoiles et le background complet. Là j'attaque la partie joueur. wink Une bêta en perspective.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.