Forum Casio - Actualités


Index du Forum » Actualités » La Revue des Projets — 145
Shadow15510Hors ligneAdministrateurPoints: 3106 Défis: 15 Message

La Revue des Projets — 145

Posté le 28/04/2019 18:00

Bonjour à tous !
Réjouissez-vous, ce soir la RdP sera… normale ! Avec au programme Massena qui nous en touche un mot sur ces projets, puis nous aurons avec nous Disperseur et son dernier programme en date et enfin Shadow15510 qui nous annonce la sortie prochaine de son nouveau jeu !


Massena, avait commencé courant 2018 un jeu ambitieux : Evocalc ! Un jeu reprenant le concept du "vrai" jeu Evoland ou le personnage évolue dans un monde qui lui-même évolue en retraçant l'histoire du jeu vidéo. Nous avions eu le droit à plusieurs RdP sur ce projet prometteur : la RdP n°116 et la n°132 et quelques images impressionnantes :







Et après nous avoir fait peur sur son avenir, le projet Evocalc va enfin sortir de l'ombre mais là j'en dit un peu trop…
Massena a écrit :
Bonsoir !

J'aimerais vous faire part de la suite de mes projets de programmation.
Alors, oui... Je ne programme plus trop, mais compte bien m'y remettre (je vais pas rester avec juste Aviator, qui de plus s'est fait voler sa place de jeu du mois par une I.A, décidément c'est beau le futur).

Si je ne programme plus... C'est parce que j'ai perdu la hype nécessaire pour programmer Evocalc. Je trouve ce projet irréalisable. D'après la première version du jeu, je n'aurais jamais assez d'espace de stockage sur une calto monochrome. En effet, les maps prennent beaucoup de place, les textes de la première partie du jeu prennent juste 75% de ma mémoire, et je ne parle pas encore du moteur qui fera géra les collisions sur une map aussi mal faite (si beau soit-elle) qu'est celle d'Evocalc. Alors oui, je vous vois râler, dans vos fauteuils : "Mais quel con, y'a le DrawStat qui existe, t'utilise pas les strings crétin, blablabla."

Mais attendez !

J'ai pas dis que je ne sortirais pas de jeu ! Je compte bien sortir un RPG (un de plus, oui oui), d'après la dernière phase d'Evocalc, c'est-à-dire la phase d'exploration. Je prévois de faire, attenton... 4 mondes de 6 "pictures" en DrawStat, stockées dans des listes. Je ne sais pas si tout va rentrer, mais j'adapterais (moins il y aura de monde, plus il y aura de gameplay donc...).

J'essayerais de faire quelques dialogues, de gérer ces *%#<+°& de collisions (qui demandent forcément une map plus simple), de rajouter un inventaire complet et de faire un moteur de combat un peu plus complet que celui d'Evocalc, qui reposait uniquement sur la chance

De plus, le tweak de mon chromebook en windows m'a permis de télécharger BIDE, GIMP, Fa-124 et plein d'autres logiciels sur mon PC portable, que je peux utiliser plus facilement que l'autre Windows XP en fin de vie... Bref, je suis maintenant plus équipé, et apte à combattre ma procrastination (c'est quand même pas pour ça que je vais arrêter Minecraft !).

Enfin, j'aimerais juste dire que je vais continuer de développer, en parallèle, des mini-jeux comme Aviator. Parce que j'aime ça, développer des mini-jeux marrants. Et faut bien entretenir la forme !

Sur ce, bonne soirée,
Masséna

Merci pour l'article et bon courage pour ta reprise ! Je vous rappelle que le topic dédié, même s'il est plus ou moins abandonné par l'auteur, est toujours en ligne !

Continuons avec Disperseur et son dernier projet, la reconnaissance "spritale" sur Casio : explication !
Disperseur a écrit :
Bonjour à tous, c'est déjà la fin des vacances pour certains et c'est pour ça que je vais vous parler aujourd'hui de mon nouvel algo, pour vous remonter le moral
Donc voilà, pour aller à l'essentiel, mon algorithme permet de reconnaître des sprites (petites images) - ici représentés par des matrices remplies de 0 ou de 1 (pixel allumé) – ou qu'ils soient sur l'écran. J'ai doté le programme d'une mémoire de 999 cases. En effet l'emplacement de sauvegarde des sprites est une liste utilisée dans sa totalité (plus qu'il n'en faut ). Il faut savoir que lorsque l’algorithme rencontre un sprite qu'il ne « connaît » pas, il l'enregistre. Il y à quelques formes qui sont définies dans le programme telles que des carrés (2*2 ou 3*3 creux) ou encore des smileys (sans le contour)... etc. Bref, le programme ou l'algorithme (apellez le comme vous voulez ) reconnaît des sprites.
Voici à présent une description un peux plus technique du fonctionnement de cet algorithme:
Cela ce passe en plusieurs étapes. Tout d'abord je mentionne que le programme est doté d'une petite interface pour créer des sprites (en locate avec des carrés). Après avoir dessiné le sprite de votre choix dans un espace de 7*7 pixels (on peux en mettre bien plus mais ces dimensions m’ont simplifié la tache) le programme découpe dans l'image totale (matrice de 7*7 contenant le sprite) un rectangle contenant uniquement le dessin. Ensuite il récupère les dimensions de ce dessin et crée une matrice secondaire de même dimensions contenant des poids pour chaque pixels. Ces poids sont crées par un sous algorithme qui rempli la matrice comme ceci :
1.1 1.2 1.3 1.4
2.1 2.2 2.3 2.4
3.1 3.2 3.3 3.4
4.1 4.2 4.3 4.4...
Ce remplissage à été totalement arbitraire mais il évite jusqu'à un certain point les erreurs.
Une fois cette matrice crée, le programme calcule la somme pondérée du dessin découpé par la matrice des poids (il multiplie chaque pixel par son poids associé et ajoute chaque résultat). Le nombre obtenu est utilisé pour « reconnaître » le sprite dessiné parmi ceux pré-enregistrés dans l'algo ou ceux contenus par la liste servant de mémoire. Ce nombre est le fameux « S= » affiché juste avant le résultat de l'algorithme.
Pour créer ce système je me suis inspiré du fonctionnement des IAs de « deap learning » avec les poids dans chaque neurone et la somme pondérée. (pour les intéressés allez voir cette vidéo, un peux longue mais très explicite : https://www.youtube.com/watch?v=trWrEWfhTVg )

Merci donc d'avoir pris le temps de me lire (je suis parfois un peux long dans mes explications ou flou.. ). N'hésitez pas à me poser des questions sur mon algorithme ou à le commenter. Si cela intéresse certains je peux poster ce programme.

Sur ce, à bientôt sur Planet Casio !!

Un projet impressionnant d'un point du vue technique : bon courage ! Le projet n'a pas encore de topic dédié, mais si vous voulez des infos complémentaires, vous pouvez vous adressez dans les commentaires.

Nous arrivons doucement à notre dernier invité : Shadow15510 qui nous bassine tiens au courant de ses projets :
Shadow15510 a écrit :
Coucou tous le monde !

Je viens hanter cette RdP pour vous parler de mon dernier projet !
Donc pas encore d'image si c'est ça que vous attendez mais un code déjà très au point…

Je fais durer le suspense encore un peu : je commence par ma to do list :
Les moteurs du jeu sont au point, mais, il me manque un scrolling horizontal à gérer et un problème avec des matrices. Dans le jeu, je suis amené à supprimer des lignes d'une matrice en décalant toutes les lignes en dessous de la ligne supprimée vers le haut… J'ai un petit soucis à ce niveau >_<'
Ensuite il me restera encore un petit truc à implémenter, en théorie ça devrait être rapide mais bon… vu que je code avec mon c** ligoté dans le noir, ça peut prendre un peu plus de temps que prévu…

Là vous êtes en train de me maudire pendant que j'allais justement vous donner le sujet de ce nouveau jeu inédit ! Du coup je ne sais pas si je vous le donne…
Bon je le dit alors ? Ce jeu est un jeu de gestion… de compagnie aérienne. non non c'est pas une blague.
Achetez, vendez et faites voler plus de 15 avions différents au caractéristiques réalistes dans plus de 20 aéroports tout autour du monde le tout dans une interface simple et jolie avec une gestion du temps réel et une fonte créée pour l'occasion ! Pour l'instant c'est pas vraiment possible, mais je mettrait sans doute une première version en ligne et je vous demanderez si vous avez des idées d'avions ou d'aéroports pas encore intégré mais que vous voudriez voir apparaître…

Promis je vous donne des images dès que possible !

Concernant mes autres projets... Ben euh Plague avance… pas je le continuerai pendant les vacances d'été . Concernant mes autres jeux, Air Control devrait avoir une nouvelle version sous peu de temps pour plus d'ergonomie et une gestion des collisions entre avions. J'avais il y a quelques temps mis un rpg en ligne avec C.Basic, l'envie m'est venue de faire un truc sérieux avec. (moi aussi ça m'étonne, d'habitude le sérieux je m'assois dessus ) Mais je n'ai pas d'idée de quêtes, je m'ouvre à vos propositions de ce côté (sans vous révélez les deux déjà implémentée)

Je n'ai pas fait non plus de topic dédié, le jeu étant très proche de sa sortie… Mais si vous avez des questions : les commentaire sont toujours là !

On arrive à la fin de notre… Ah non ! J'ai oublié : pardon ! Je demande pardon à Disperseur à qui je dois des félicitations et un article, celui du Résultats du vote du Jeu du Mois de Mars 2019 dont il est l'heureux vainqueur ! Nous avons donc en première place GéoGraph avec 5 points suivi de Mini RpG avec 2 points !
Fêtons ça en image avec les superbes screens du jeu :





Voici la coupe dorée que tu peux mettre dans la description de ton programme :



On termine notre RdP avec un triste record celui du nombre de programmes paru cette semaine… C'est pas que ça m'amuse, mais moi ça m'arrange bien : récupérer les liens de chaque programme c'est d'un chia**

Cette semaine 2 programmes ont été postés
Note de Tituya est un programme de conversion qui permet de ramener une note sur vingt.
AlphaRun de Lepianoteur, un jeu où le but est d'appuyer sur touche affichée sur l'écran de votre machine le plus vite possible et sans se tromper.

Lire la RdP précédente : La Revue des Projets – 143 (la n°144 est un troll)
Participer à la RdP : Remplir le formulaire


Pages : Précédente1, 2
Shadow15510Hors ligneAdministrateurPoints: 3106 Défis: 15 Message

Citer : Posté le 30/04/2019 13:21 | #


Je l'avance cet été promis ! Le portage en C est bien commencé, je suis en train de faire une pause et je me suis arrêté sur l'assainissement de mon code qui est atroce ! Le projet BASIC quant à lui est définitivement mort et enterré... Il est d'ailleurs sans licence.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   95%
DisperseurHors ligneMembrePoints: 1447 Défis: 0 Message

Citer : Posté le 30/04/2019 18:01 | #


@Lephenixnoir : pour la complexité je ne sait pas.. je vais voir si j'arrive à la calculer.. en attendant, je peux dire que la reconnaissance d'un sprite prends moins d'une seconde
Je poste le prog bientôt. Ce sera plus clair. En plus de base j'ai bien commenté le code. C'est en Basic
Planetarium

√(2+2-2+2-2+2+2-2-2-2) = 0
TituyaHors ligneMembrePoints: 235 Défis: 11 Message

Citer : Posté le 30/04/2019 19:43 | #


@lepianoteur quand tu ne sais que programmer en basic c'est horrible en effet plus personne n' est intéressée par le basic casio maintenant
Casio VS Nokia 3310 ? Qui gagne ?



LephenixnoirEn ligneAdministrateurPoints: 14375 Défis: 136 Message

Citer : Posté le 30/04/2019 19:48 | #


Tituya a écrit :
@lepianoteur quand tu ne sais que programmer en basic c'est horrible en effet plus personne n' est intéressée par le basic casio maintenant

Et pourtant on peut faire des superbes jeux avec. Vous avez tort de le sous-estimer !

Avant il y avait plus de gens qui travaillaient avec, mais il y avait plus de gens tout court aussi. Ne vous laissez pas impressionner
Shadow15510Hors ligneAdministrateurPoints: 3106 Défis: 15 Message

Citer : Posté le 30/04/2019 20:29 | #


C'est vrai que le Basic est quand même un language pratique et simple d'utilisation ce qui le rend utile, il est d'autant plus intéressant que ces nombreuses limitations sont autant de défis ! Si vous n'aimiez pas les défis vous vous seriez plus orienté vers la programmation sur ordi, moins limitée !

Perso, si je développe que sur calto c'est parce que ce type de programmation impose d'optimiser le code, je jouer avec ses limites, bref, d'être astucieux et intelligent !
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   95%
LightmareHors ligneMembre de CreativeCalcPoints: 457 Défis: 0 Message

Citer : Posté le 30/04/2019 20:37 | #


Shadow15510 a écrit :
Pis le Basic Casio ça peut-être pratique pour, par exemple, lorsque tu veux... eh bien… quand tu as… Ouais nan c'est nul en fait en le Basic

tu es très d'accord avec toi-même


... En fait je ne comprends pas toute cette inquiétude : le C.Basic C'EST du Basic avec beaucoup plus de fonctionnalités ! Ca ne coûte rien de passer de l'un à l'autre ( sauf 10 fois plus de FPS ). En plus, je ne vois pas pourquoi on utilise le terme "maîtriser le c.basic" alors qu'il s'agit juste d'un outil génial débarrassant les programmeurs basic de chaînes même pas justifiées par la puissance du matériel...


No, Kikoodx : 2+2 = 4
Shadow15510Hors ligneAdministrateurPoints: 3106 Défis: 15 Message

Citer : Posté le 30/04/2019 21:00 | #


Je suis parfaitement d'accord avec moi-même ! C'est parce que le Basic est un langage limité qu'il est intéressant et c'est parce qu'on code sur calculatrice que chaque octet est un combat ! Tu noteras quand même que je suis passé au C.Basic parce que 10 fps en plus ça peut pas faire de mal…
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   95%
LephenixnoirEn ligneAdministrateurPoints: 14375 Défis: 136 Message

Citer : Posté le 30/04/2019 21:48 | #


Il y a des gens qui ont su faire preuve de suffisamment d'adresse pour monter des programmes Basic très forts. Drak avec Aventura est un exemple mérité. Ne rejetez pas sur le langage tous les défauts que peuvent avoir vos programmes !
DisperseurHors ligneMembrePoints: 1447 Défis: 0 Message

Citer : Posté le 01/05/2019 08:13 | #


Ah je vois pas où est le problème , mes algos sont en Basic et ils sont rapides. Le dernier à moins d'une seconde d'exécution..
Planetarium

√(2+2-2+2-2+2+2-2-2-2) = 0
Pages : Précédente1, 2

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 55 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd