{"id":940,"date":"2019-12-22T08:20:22","date_gmt":"2019-12-22T07:20:22","guid":{"rendered":"https:\/\/ceobeta.oric.org\/?p=940"},"modified":"2019-12-22T08:20:22","modified_gmt":"2019-12-22T07:20:22","slug":"space-invasion","status":"publish","type":"post","link":"https:\/\/oric.bqtt.net\/index.php\/2019\/12\/22\/space-invasion\/","title":{"rendered":"Space Invasion"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Avec Pipe-Mania d\u00e9j\u00e0 r\u00e9alis\u00e9 en ce d\u00e9but d&#8217;ann\u00e9e 2015, Dancresp a fait un bon dans la r\u00e9alisation de ses jeux. Cette fois, les couleurs sont d\u00e9multipli\u00e9es pour le plaisir de nos yeux<\/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\">Ce jeu est une nouvelle version d\u2019un jeu pr\u00e9c\u00e9demment adapt\u00e9 pour ACORN ELECTRON, MSX et ATARI XL.<\/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\/space-invasion-msx-real.jpg\" alt=\"\" class=\"wp-image-942\"\/><\/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\/space-invasion-xl-real.jpg\" alt=\"\" class=\"wp-image-943\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Cette version pour Atari XL est la meilleure version, car une partie de la couleur a \u00e9t\u00e9 ajust\u00e9e plus le niveau de difficult\u00e9, faisant appara\u00eetre progressivement plus de vari\u00e9t\u00e9 d&#8217;ennemis. La vitesse est cyclique, de sorte que tous les 3 niveaux la vitesse est maxmale avant de redescendre dans le suivant. Dan a \u00e9galement chang\u00e9 l&#8217;ordre d&#8217;apparition des envahisseurs dans notre s\u00e9lecteur, en les regroupant par type et par position et en les diff\u00e9renciant par des couleurs. S&#8217;il n&#8217;y avait pas le souci du temps de r\u00e9ponse du clavier, ce serait la version ultime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comme ORIC fonctionne sur 40 colonnes, Dan a utilis\u00e9 la disposition des \u00e9l\u00e9ments \u00e0 l\u2019\u00e9cran des versions ACORN ELECTRON et ATARI XL, et verticalement, tout cela est un peu plus \u00e9tir\u00e9 du fait de l&#8217;utilisation des 25 lignes.<\/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\/Space_Invasion_Top.jpg\" alt=\"\" class=\"wp-image-945\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Comme toujours, le fait de disposer de caract\u00e8res de 8&#215;6 pixels a contraint Dan \u00e0 red\u00e9finir certains graphismes, tels que le bunker ou le char, qui a r\u00e9utilis\u00e9 ceux de \u00ab<a href=\"https:\/\/oric.bqtt.net\/nuclear-invaders\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"nuclear invaders (s\u2019ouvre dans un nouvel onglet)\">nuclear invaders<\/a>\u00bb pour les envahisseurs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour lire le clavier, Dan a choisi de le faire avec PEEK (520) ($208 en hexadecimal), ce qui permet de lire la derni\u00e8re touche enfonc\u00e9e, en \u00e9vitant les probl\u00e8mes de majuscules ou de minuscules. Malheureusement, le tampon clavier est limit\u00e9 \u00e0 une touche ce qui signifie que la lecture n\u2019est pas aussi fiable que souhait\u00e9 et que la touche doit \u00eatre enfonc\u00e9e plus longtemps. Cependant, la difficult\u00e9 a \u00e9t\u00e9 adapt\u00e9e \u00e0 cette limitation pour que le jeu fonctionne correctement. Ce probl\u00e8me se produisait d\u00e9j\u00e0 dans la version ATARI mais cela a parfaitement fonctionn\u00e9 dans ELECTRON et MSX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dan a supprim\u00e9 tous les calculs et tous les ET \/ OU possibles. Pour utiliser un IF et s&#8217;il n&#8217;est pas satisfait, aucune autre valeur n&#8217;est \u00e0 v\u00e9rifier. Dan a \u00e9galement \u00e9vit\u00e9 d&#8217;utiliser ELSE chaque fois que possible pour \u00e9viter les &#8220;erreurs&#8221; de l&#8217;interpr\u00e9teur BASIC ORIC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour que la vitesse soit constante, en tenant compte du fait que parfois plus de lignes sont ex\u00e9cut\u00e9es que d\u2019autres, sur la ligne 100, j\u2019initialise l\u2019emplacement m\u00e9moire n \u00b0 276 sur 0, car cette position et la suivante forment un registre de 16 bits qui est: diminue de 50 fois par seconde. Sur la ligne 220, je cr\u00e9e une boucle qui consid\u00e8re que la valeur de cette position (l&#8217;octet de poids faible) est inf\u00e9rieure ou \u00e9gale \u00e0 230. Surtout lors de la mise \u00e0 jour d&#8217;une colonne d&#8217;envahisseurs, le processus prend plus de temps que d&#8217;habitude et nous obtenons ainsi la vitesse de l&#8217;ex\u00e9cution soit constante. Dommage pour le th\u00e8me de la lecture au clavier \u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et comme toujours, en ce qui concerne le son, Dan a d\u00e9montr\u00e9 une fois de plus ce point faible et s&#8217;est limit\u00e9 \u00e0 utiliser les sons standards de l&#8217;Oric.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PAPER et INK, les couleurs de l&#8217;Oric<br>Faire un jeu color\u00e9 avec l&#8217;ORIC est toujours difficile. La gestion de la couleur par l\u2019ORIC n\u2019aide pas, mais ce jeu a pu \u00eatre color\u00e9 avec une certaine facilit\u00e9 et bien que le r\u00e9sultat ne soit pas trop &#8220;r\u00e9tro&#8221;, il est beaucoup plus attrayant et clair lorsque l&#8217;on joue.<\/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\/Space_Invasion_1.jpg\" alt=\"\" class=\"wp-image-952\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pour ORIC, un attribut de couleur est un caract\u00e8re que vous pouvez placer n&#8217;importe o\u00f9 sur l&#8217;\u00e9cran. \u00c0 partir de ce caract\u00e8re, tout ce qui appara\u00eet \u00e0 sa droite aura cette couleur jusqu&#8217;\u00e0 ce que vous trouviez un autre attribut de couleur, ce qui affectera \u00e0 nouveau tout ce qui se trouve \u00e0 votre droite. Cela induit, si vous faites une impression dans une position de l&#8217;\u00e9cran o\u00f9 il y a un attribut de couleur, un emplacement de perdu, et ce qui est montr\u00e9 par l&#8217;IMPRESSION prend la couleur de l&#8217;attribut pr\u00e9c\u00e9dent, donnant un spectacle visuel chaotique, et compliquet beaucoup la programmation de jeux en couleurs.<\/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\/Space_Invasion_3.jpg\" alt=\"\" class=\"wp-image-953\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pour \u00e9viter cette impression de d\u00e9sordre, il est n\u00e9cessaire de laisser des espaces entre les diff\u00e9rents \u00e9l\u00e9ments, o\u00f9 seront plac\u00e9s les attributs de couleur. Gr\u00e2ce \u00e0 la disposition des \u00e9l\u00e9ments dans ce jeu, il a \u00e9t\u00e9 facile de le colorier et lui donner cet aspect multicolore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je vous invite \u00e0 l&#8217;essayer.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Quelques informations concernant le programme<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Dan a divis\u00e9 le programme en 12 blocs:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>D\u00e9claration de matrice.<\/li><li>Contr\u00f4le de notre tank.<\/li><li>Contr\u00f4le de notre objectif.<\/li><li>Contr\u00f4le de notre tir.<\/li><li>D\u00e9placer les envahisseurs.<\/li><li>Niveau de passage.<\/li><li>Perdre une vie.<\/li><li>Pr\u00e9sentation<\/li><li>Afficher l&#8217;\u00e9cran de jeu.<\/li><li>Plusieurs routines.<\/li><li>Charger UDG.<\/li><li>D\u00e9finition des blocs graphiques.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;ensemble du programme occupe 73 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; Appel de routine pour lire les graphiques et afficher l\u2019\u00e9cran de pr\u00e9sentation du jeu.<\/li><li>100 &#8211; D\u00e9but de la boucle principale.<\/li><li>105 &#8211; Contr\u00f4le du clavier et v\u00e9rifiez si notre r\u00e9servoir doit \u00eatre d\u00e9plac\u00e9 horizontalement.<\/li><li>120 &#8211; Si vous appuyez sur \u201cM\u201d (D\u00e9placer), l&#8217;envadeur de la position correspondante est modifi\u00e9.<\/li><li>150 &#8211; Si vous appuyez sur \u201cL\u201d (Shot), il est v\u00e9rifi\u00e9 si l&#8217;envahisseur s\u00e9lectionn\u00e9 se trouve dans cette colonne et le d\u00e9truit.<\/li><li>200 &#8211; Si le compteur de vitesse (W) n&#8217;atteint pas la valeur souhait\u00e9e, il est augment\u00e9 de un et passe \u00e0 la ligne 220.<\/li><li>205 &#8211; Une colonne est s\u00e9lectionn\u00e9e de mani\u00e8re al\u00e9atoire et s&#8217;il reste des envahisseurs, un est ajout\u00e9 et, si aucun espace dans la colonne n&#8217;est ajout\u00e9.<\/li><li>210 &#8211; Il est v\u00e9rifi\u00e9 si la colonne a atteint le bunker. Si c&#8217;est le cas, il saute \u00e0 la ligne de vie perdue (500).<\/li><li>215 &#8211; Actualisez la colonne de l&#8217;envahisseur s\u00e9lectionn\u00e9.<\/li><li>220 &#8211; Contr\u00f4le du temps pour que chaque passage dans la boucle principale prenne la m\u00eame chose.<\/li><li>225 &#8211; Fin de la boucle principale. Si \u00abE = 0\u00bb revient \u00e0 la r\u00e9p\u00e9tition de la ligne 100. Si \u00abE = 1\u00bb passe \u00e0 500 (perdre la vie).<\/li><li>400 &#8211; Niveau de routine d\u00e9pass\u00e9 (E = .1). Le niveau est augment\u00e9 de 1, mais si nous passons du niveau 9, nous revenons \u00e0 7.<\/li><li>500 &#8211; Routine qui s&#8217;ex\u00e9cute lorsqu&#8217;un envahisseur atteint le bunker. S&#8217;il nous reste de la vie, les marqueurs sont mis \u00e0 jour, mais le message \u00abGAME OVER\u00bb appara\u00eet et, apr\u00e8s une pause, nous revenons \u00e0 l&#8217;\u00e9cran de pr\u00e9sentation.<\/li><li>2000 &#8211; \u00c9cran de pr\u00e9sentation du jeu.<\/li><li>2050 &#8211; Attendez que nous appuyions sur une touche pour lancer le jeu.<\/li><li>2100 &#8211; Affiche les marqueurs sur le c\u00f4t\u00e9 droit de la zone de jeu.<\/li><li>2500 &#8211; Le statut des cinq colonnes d&#8217;envahisseurs et de l&#8217;envahisseur &#8220;cible&#8221; est mis \u00e0 jour.<\/li><li>2505 &#8211; Affiche la partie gauche de l&#8217;aire de jeu. O\u00f9 l&#8217;action a vraiment lieu.<\/li><li> 3000 &#8211; Param\u00e8tres de couleur de jeu et POKE pour masquer le curseur et les majuscules.<\/li><li> 3005 &#8211; Nous chargeons les couleurs dans C $ () et lisons les DONNEES avec l&#8217;UDG.<\/li><li>3010 &#8211; On conserve dans la matrice G $ les graphiques qui forment chaque envahisseur et sa couleur.<\/li><li>3015 &#8211; Lecture du nombre d&#8217;envahisseurs diff\u00e9rents par niveau &#8220;D ()&#8221; et sa vitesse &#8220;G ()&#8221;.<\/li><li>4000 &#8211; Routine pour imprimer les valeurs de \u201cREST\u201d et \u201cAMMO\u201d. La position verticale dans &#8220;Y&#8221; et la valeur dans &#8220;N&#8221; sont pass\u00e9es.<\/li><li>4200 &#8211; Routine pour imprimer les valeurs de \u201cSCORE\u201d et \u201cHI-SCORE\u201d. La position verticale dans &#8220;Y&#8221; et la valeur dans &#8220;N&#8221; sont pass\u00e9es.<\/li><li>4500 &#8211; Routine pour l\u2019effacement partiel de l\u2019\u00e9cran.<\/li><li>9000 &#8211; DATA avec les UDG du jeu.<\/li><li>9500 &#8211; DATA avec les couleurs et les graphiques de chaque type d\u2019envahisseur.<\/li><li>9800 &#8211; DATA avec le nombre d&#8217;envahisseurs diff\u00e9rents par niveau.<\/li><li>9805 DATA avec la vitesse de chaque niveau.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Le jeu<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">C&#8217;est une nouvelle tentative des envahisseurs de l&#8217;espace pour prendre le contr\u00f4le de notre plan\u00e8te !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les envahisseurs descendent en colonnes et avec l&#8217;aide de notre char, nous devons s\u00e9lectionner le type d&#8217;envahisseur et tirer. Si l&#8217;envahisseur est dans cette colonne, il sera d\u00e9truit et le reste s&#8217;\u00e9loignera.<br>\u00c9vitez de vous rendre dans la zone de bunker ou la victoire sera \u00e0 vous.<\/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\/Space_Invasion_4.jpg\" alt=\"\" class=\"wp-image-951\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Chaque niveau est compos\u00e9 de 35 envahisseurs et nous avons 60 coups pour les tuer. Lorsque les niveaux sont d\u00e9pass\u00e9s, de nouveaux types d\u2019envahisseurs apparaissent et descendent plus rapidement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le jeu enregistre le score maximum atteint dans une partie.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Quelques autres versions<\/h4>\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\/space-invasion-acorn-0.jpg\" alt=\"\" class=\"wp-image-946\" width=\"582\" height=\"466\"\/><figcaption> Space Invasion sur Acorn Electron <\/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\/space-invasion-msx-3.jpg\" alt=\"\" class=\"wp-image-947\"\/><figcaption> La version MSX prend beaucoup de place \u00e0 l&#8217;\u00e9cran <\/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\/space-invasion-xl.jpg\" alt=\"\" class=\"wp-image-948\"\/><figcaption> Les envahisseurs de l&#8217;espace attaquent l&#8217;Atari XL <\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Ce jeu est une nouvelle version d\u2019un jeu pr\u00e9c\u00e9demment adapt\u00e9 pour ACORN ELECTRON, MSX et ATARI XL.<\/p>\n","protected":false},"author":1,"featured_media":951,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[338,348,22,362],"tags":[666,765],"class_list":["post-940","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-338","category-basic","category-ceomag","category-games","tag-ceomag357","tag-dancresp"],"_links":{"self":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/940","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=940"}],"version-history":[{"count":0,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/posts\/940\/revisions"}],"wp:attachment":[{"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/media?parent=940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/categories?post=940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oric.bqtt.net\/index.php\/wp-json\/wp\/v2\/tags?post=940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}