{"id":958,"date":"2020-03-15T22:56:00","date_gmt":"2020-03-15T21:56:00","guid":{"rendered":"https:\/\/ceobeta.oric.org\/?p=958"},"modified":"2020-03-15T22:56:00","modified_gmt":"2020-03-15T21:56:00","slug":"averno","status":"publish","type":"post","link":"https:\/\/oric.bqtt.net\/index.php\/2020\/03\/15\/averno\/","title":{"rendered":"Averno"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Apr\u00e8s une longue pause de programmation sur Oric, L&#8217;ann\u00e9e 2019 d\u00e9marre en fanfare avec ce nouveau jeu propos\u00e9 par DanCresp, une pleine r\u00e9ussite qui a \u00e9t\u00e9 traduite en Fran\u00e7ais quelque peu modifi\u00e9e par Dom.<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Informations g\u00e9n\u00e9rales <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Dan a \u00e9t\u00e9 presque quatre ans sans rien programmer pour l&#8217;ORIC. Comme le temps passe vite ! <br>Il est de retour, avec quelques nouvelles d\u00e9couvertes sur son syst\u00e8me pr\u00e9f\u00e9r\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette fois, c&#8217;est une adaptation assez fid\u00e8le d&#8217;un jeu achet\u00e9 pour MSX qu&#8217;il a appr\u00e9ci\u00e9, beaucoup aim\u00e9 et qui a laiss\u00e9 chez Dan de bons souvenirs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/averno-msx-1024x907.jpg\" alt=\"\" class=\"wp-image-973\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized is-style-default\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno-zx.gif\" alt=\"\" class=\"wp-image-974\" width=\"576\" height=\"432\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il existe des versions pour plusieurs syst\u00e8mes, vous pouvez maintenant ajouter l&#8217;ORIC. Sur l&#8217;Oric, le jeu a un m\u00e9canisme identique \u00e0 celui d&#8217;origine, mais avec quelques am\u00e9liorations et quelques petites choses que Dan a laiss\u00e9es de c\u00f4t\u00e9. Il lui a fallu pr\u00e8s d&#8217;une semaine pour r\u00e9aliser une version jouable !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_1.png\" alt=\"\" class=\"wp-image-976\"\/><figcaption> Ecran titre de la version 2019 sur Oric <\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dan est tr\u00e8s satisfait de cette version car le jeu a les m\u00eames niveaux que la version originale, la m\u00eame r\u00e9solution des niveaux et les performances du jeu sont identiques aux versions originales, voire un peu plus \u00e9lev\u00e9es \u2026 sauf pour la g\u00e9n\u00e9ration de l&#8217;\u00e9cran.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les petites d\u00e9tails de la version ORIC<br>Comme toujours pour la programmation dans l&#8217;ORIC, les graphismes ont d\u00fb \u00eatre repens\u00e9s car au lieu de la matrice habituelle de 8&#215;8 pixels, nous passons \u00e0 une matrice de 8&#215;6. Comme les graphiques sont form\u00e9s avec deux blocs de 1&#215;2 caract\u00e8res ou 2&#215;2 caract\u00e8res de 8&#215;8 pixels, nous avons des blocs de 8&#215;16 pixels ou 16&#215;16 pixels. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La solution choisie par Dan consiste \u00e0 utiliser des blocs de 1 x 3 ou 2 x 3 caract\u00e8res, de sorte que les blocs aient une largeur de 18 pixels et non de 16 pixels. Comme il ne pouvait pas utiliser de couleurs pour d\u00e9limiter les blocs, l&#8217;auteur a laiss\u00e9 une bande de pixels vide au d\u00e9but. et \u00e0 la fin de certains graphiques pour les rendre moins d\u00e9routants. <br>Contrairement \u00e0 la version d&#8217;origine, la porte et les cl\u00e9s ont toutes deux un masque pour mieux s&#8217;int\u00e9grer \u00e0 l&#8217;arri\u00e8re-plan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque sont plac\u00e9s les graphiques \u00e0 l&#8217;\u00e9cran, ils prennent presque toute la largeur de l&#8217;\u00e9cran. Dan a donc supprim\u00e9 certains marqueurs, le reste \u00e9tant plac\u00e9 en haut, car l&#8217;ORIC comporte plus de lignes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un autre probl\u00e8me a \u00e9t\u00e9 le probl\u00e8me de la couleur, en raison de la fa\u00e7on dont il g\u00e8re les attributs, Dan a d\u00fb produire un jeu en monochrome, en donnant toutefois un peu de couleur dans la pr\u00e9sentation et dans les marqueurs. Dommage, mais tr\u00e8s ORIC !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_2.png\" alt=\"\" class=\"wp-image-988\"\/><figcaption> L&#8217;\u00e9cran du 1er niveau, en monochrome <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_3.png\" alt=\"\" class=\"wp-image-989\"\/><figcaption> Le truc du mag, le fant\u00f4me ne peut monter que 2 marches \u00e0 la fois &#8230; pensez y ! <\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A ce stade, nous arrivons \u00e0 la cr\u00e9ation de l&#8217;\u00e9cran. Chaque \u00e9cran est constitu\u00e9 d\u2019une matrice de 20 lignes et de 10 colonnes. Dans chacune des colonnes, il y a un graphique ou une partie de celui-ci, comme avec les portes et les cl\u00e9s. En codant de mani\u00e8re brute, une matrice de 13 (\u00e9crans) x 20 (lignes) x 10 (colonnes) aurait pu \u00eatre cr\u00e9\u00e9e. Au total, 260 lignes de code, avec la quantit\u00e9 de m\u00e9moire correspondante, de 600 octets par niveau. Au lieu de cela, l&#8217;auteur a choisi de coder les niveaux, chaque niveau \u00e9tant compris entre 50 et 100 octets. La pr\u00e9sentation du niveau prend environ 6 secondes et le codage est effectu\u00e9 comme suit, l\u2019\u00e9cran \u00e9tant bleu:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Une lettre entre \u201cA\u201d et \u201cZ\u201d a une valeur comprise entre 1 et 26 et correspond aux blocs de briques de l&#8217;arri\u00e8re-plan \u00e0 afficher.<\/li><li>Une lettre entre \u201ca\u201d et \u201cz\u201d a une valeur comprise entre 1 et 26 et correspond aux blocs de pierre \u00e0 afficher.<\/li><li>Un nombre compris entre 1 et 8 correspond \u00e0 un bloc pr\u00e9d\u00e9fini stock\u00e9 dans la matrice B $, en mettant ce qui entre dans la ligne correspondante.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/MapCode.jpg\" alt=\"\" class=\"wp-image-977\"\/><figcaption> L&#8217;encodage des niveaux sur Oric <\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Avec ce nouveau logiciel, Dan a d\u00e9couvert de nouvelles difficult\u00e9s. Ainsi,  c\u2019est la premi\u00e8re fois qu&#8217;en BASIC, il fait bouger le protagoniste sur le fond sans le supprimer. Pour ce faire, un deuxi\u00e8me processus doit \u00eatre effectu\u00e9, ce qui prend environ 10 secondes. Au cours d&#8217;une boucle double, Dan lit la m\u00e9moire d&#8217;\u00e9cran et conserve les caract\u00e8res \u00e0 l&#8217;\u00e9cran dans la matrice &#8220;S&#8221;. Pendant le processus de lecture de la m\u00e9moire vid\u00e9o, l&#8217;auteur cr\u00e9e un effet d\u2019aveuglement qui change la couleur de la ligne en jaune final. Ce n&#8217;est pas du plus bel effet, mais c&#8217;est n\u00e9cessaire pour d\u00e9placer le personnage rapidement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_67.png\" alt=\"\" class=\"wp-image-972\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Le jeu original utilise des blocs cach\u00e9s \u00e0 plusieurs niveaux. Dan a d\u00e9couvert ce d\u00e9tail en regardant une vid\u00e9o alors que son adaptation du jeu \u00e9tait presque termin\u00e9e et a choisi de les ignorer. Cela l&#8217;a oblig\u00e9 \u00e0 faire quelques changements mineurs dans ces niveaux, car dans cette version, les blocs sont visibles. Cependant, ils n&#8217;affectent pas la r\u00e9solution des niveaux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour contr\u00f4ler le curseur, le clavier est lu \u00e0 l&#8217;aide d&#8217;un \u00abPEEK 520\u00bb ($208 pour les intimes), ce qui \u00e9vite les probl\u00e8mes de lettres majuscules \/ minuscules et vous garantit de toujours lire la derni\u00e8re touche enfonc\u00e9e, en acc\u00e9dant \u00e0 la m\u00e9moire tampon du clavier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et pour le son, une fois encore, Dan a utilis\u00e9 les effets pr\u00e9d\u00e9finis de l&#8217;ORIC, d\u00e9montrant ainsi sa faiblesse dans ce domaine \u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour terminer, ayant respect\u00e9 les niveaux d\u2019origine, Dan trouve que la difficult\u00e9 n\u2019est pas lin\u00e9aire et que les niveaux les plus simples se situent au d\u00e9but et \u00e0 la fin de la partie. Mais comme le jeu original \u00e9tait comme \u00e7a, l&#8217;auteur l\u2019ai laiss\u00e9 ainsi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dan vous invite \u00e0 l&#8217;essayer et esp\u00e8re que ce jeu vous plaira &#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_4.png\" alt=\"\" class=\"wp-image-990\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_8.png\" alt=\"\" class=\"wp-image-991\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_9.png\" alt=\"\" class=\"wp-image-992\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Quelques informations \u00e0 propos du programme<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Le programme est divis\u00e9 en 10 blocs:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>D\u00e9claration de la matrice et d\u00e9but du jeu.<\/li><li>Boucle principale de d\u00e9veloppement.<\/li><li>Passer le niveau ou perdre une vie.<\/li><li>Mouvement fant\u00f4me.<\/li><li>Pr\u00e9sentation et d\u00e9but du jeu.<\/li><li>Routine pour afficher le niveau.<\/li><li>\u00c9cran de victoire finale.<\/li><li>Pr\u00e9parez et montrez l&#8217;aire de jeu.<\/li><li>Charger UDG.<\/li><li>DATA avec les UDG du jeu et les valeurs de la matrice.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;ensemble du programme occupe 137 lignes.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>10 &#8211; Nous d\u00e9finissons les matrices du jeu.<\/li><li> 20 &#8211; Passez au sous-programme qui red\u00e9finit les caract\u00e8res et d\u00e9finit les variables globales.<\/li><li> 30 &#8211; Afficher l&#8217;\u00e9cran de pr\u00e9sentation.<\/li><li> 40 &#8211; Afficher le niveau.<\/li><li> 100 &#8211; D\u00e9but de la boucle principale.<\/li><li> 105 &#8211; Prenez la touche appuy\u00e9e. Si vous appuyez sur &#8220;Echap&#8221;, quittez la boucle et perdez une vie.<\/li><li> 110 &#8211; Mouvement fant\u00f4me selon la touche enfonc\u00e9e.<\/li><li> 122 &#8211; Actualiser le rep\u00e8re temporel.<\/li><li> 125 &#8211; Voyez ce qu&#8217;il y a sous le fant\u00f4me, agissez en cons\u00e9quence.<\/li><li> 135 &#8211; Mise \u00e0 jour du temps, laissant la boucle si elle se termine.<\/li><li> 140 &#8211; Retournez \u00e0 REPEAT si la variable U = 0.<\/li><li> 150 &#8211; Lorsque vous quittez la boucle, regardez la valeur de U. U = 1 pour passer le niveau ou U = 2 pour perdre une vie.<\/li><li> 155 &#8211; La routine de la mort<\/li><li> 200 &#8211; D\u00e9place le fant\u00f4me vers la droite.<\/li><li> 250 &#8211; D\u00e9place le fant\u00f4me vers la gauche.<\/li><li> 300 &#8211; Contr\u00f4le la chute du fant\u00f4me, surveillant s&#8217;il passe au-dessus d&#8217;une cl\u00e9 ou d&#8217;une porte.<\/li><li> 400 &#8211; Montre le fant\u00f4me. Avec D = 1, regardez \u00e0 droite et D = -1, \u00e0 gauche.<\/li><li> 420 &#8211; Routine de collecte de cl\u00e9s. Il met U = 1 si tous ont \u00e9t\u00e9 collect\u00e9s.<\/li><li> 450 &#8211; Actualiser le marqueur de temps.<\/li><li> 460 &#8211; Actualiser le marqueur de point.<\/li><li> 500 &#8211; Lancer un bloc de briques. Calculez la position du fant\u00f4me pour dire quel bloc devrait tomber.<\/li><li> 2000 &#8211; \u00c9cran de pr\u00e9sentation.<\/li><li> 2100 &#8211; Routine qui montre le niveau. Les donn\u00e9es sont encod\u00e9es dans la matrice M $.<\/li><li> 2130 &#8211; Double boucle qui enregistre les caract\u00e8res de chaque position sur l&#8217;\u00e9cran dans la matrice D.<\/li><li> 2200 &#8211; \u00c9cran de fin de jeu \u00e0 la fin du niveau 13.<\/li><li> 3000 &#8211; S\u00e9lection des couleurs, effacement de l\u2019\u00e9cran, masquage du curseur et masquage des \u00abCAPS\u00bb sup\u00e9rieurs.<\/li><li> 3005 &#8211; Lecture de donn\u00e9es UDG.<\/li><li> 3010 &#8211; Assemblez des matrices avec des bandes de caract\u00e8res et des positions du fant\u00f4me.<\/li><li> 9000 &#8211; DATA avec graphes, positions, blocs de graphes et codage de niveau UDG.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Le jeu<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Averno est un jeu publi\u00e9 pour plusieurs syst\u00e8mes en 1989. C&#8217;est un jeu de r\u00e9flexion dans lequel nous contr\u00f4lons un fant\u00f4me qui doit collecter toutes les cl\u00e9s du niveau pour ouvrir la porte. Vous devez ouvrir les 13 portes pour \u00e9chapper aux d\u00e9g\u00e2ts. Nous devons \u00e9viter de manquer de temps ou de rester coinc\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le fant\u00f4me a la capacit\u00e9 de d\u00e9poser des blocs de briques pour acc\u00e9der \u00e0 certaines parties du niveau ou de s\u2019y placer, car il ne peut pas escalader les murs de plus de deux blocs de briques. Vous pouvez seulement d\u00e9poser des blocs qui n&#8217;ont rien en dessous.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette version suit exactement la m\u00eame m\u00e9canique et les 13 \u00e9crans sont identiques au jeu original, sauf que les blocs invisibles ont \u00e9t\u00e9 supprim\u00e9s, ce qui n\u2019affecte pas la r\u00e9solution des niveaux.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/Averno_10-1.png\" alt=\"\" class=\"wp-image-993\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Contr\u00f4les :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>D\u00e9placez le fant\u00f4me vers la droite ou la gauche avec &#8220;Z&#8221; et &#8220;X&#8221;.<\/li><li>Appuyez sur &#8220;Entr\u00e9e&#8221; pour d\u00e9poser un bloc de briques, selon que vous \u00eates dessus ou partiellement dessus.<\/li><li>Appuyez sur &#8220;Echap&#8221; si vous \u00eates verrouill\u00e9. Vous allez perdre l&#8217;une de vos 5 vies.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Une version fran\u00e7aise modifi\u00e9e<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Dom, dont vous trouverez le post sur <a href=\"http:\/\/oric.forumactif.org\/t694-enfer#8970\">https:\/\/forums.oric.org\/t694-enfer#8970 <\/a>a am\u00e9lior\u00e9 le logiciel de Dancresp. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/SCREEN4.png\" alt=\"\" class=\"wp-image-979\" width=\"572\" height=\"534\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Utilisation de video inverse sur les tableaux<\/li><li>Ajout de l&#8217;enregistrement des High Scores<\/li><li>Ajout d&#8217;une &#8216;P&#8217; Pause et d&#8217;une &#8216;S&#8217; Sauvegarde (associ\u00e9es aux touches &#8216;1&#8217; et &#8216;2&#8217; de l&#8217;\u00e9cran principal)<\/li><li>Transformation du .tap en .dsk <\/li><li>Corrections de bugs<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/SCREEN1.png\" alt=\"\" class=\"wp-image-981\" width=\"570\" height=\"532\"\/><figcaption> L&#8217;\u00e9cran du 1er niveau, avec les graphismes en vid\u00e9o invers\u00e9e <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oric.bqtt.net\/wp-content\/uploads\/2019\/07\/SCREEN20-1.png\" alt=\"\" class=\"wp-image-985\" width=\"572\" height=\"534\"\/><figcaption> L&#8217;\u00e9cran de fin de jeu &#8230; qu&#8217;est ce que cela a \u00e9t\u00e9 long d&#8217;attendre la fin des timers <\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s une longue pause de programmation sur Oric, L&#8217;ann\u00e9e 2019 d\u00e9marre en fanfare avec ce nouveau jeu propos\u00e9 par DanCresp, une pleine r\u00e9ussite qui a \u00e9t\u00e9 traduite en Fran\u00e7ais quelque peu modifi\u00e9e par Dom. Informations g\u00e9n\u00e9rales Dan a \u00e9t\u00e9 presque quatre ans sans rien programmer pour l&#8217;ORIC. Comme le temps passe vite ! Il est [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":988,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[338,348,22,362],"tags":[668,765],"class_list":["post-958","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-338","category-basic","category-ceomag","category-games","tag-ceomag359","tag-dancresp"],"_links":{"self":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/comments?post=958"}],"version-history":[{"count":0,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/958\/revisions"}],"wp:attachment":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/media?parent=958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/categories?post=958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/tags?post=958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}