Projet Mist2D

Montrez-nous vos talents !

Modérateur : L'équipe

Alcazar
Messages : 78
Inscription : 03 mars 2012, 15:37

Re: Projet Mist

Message par Alcazar »

une autre chose, je ne sais pas ce que tu as choisis pour gérer l'affichage, mais je te conseil vivement d'utiliser openGL ou directX, surtout si tu veux faire de la full HD à 60fps.

Car même pour de la 2D, l'accélération matérielle reste très importante : c'est ce qui fait la (très grosse) différence entre une SNES et une GX4000. Cette dernière à un meilleur CPU, mais aucune accélération graphique sauf pour les sprites : un moindre scrolling demande du travail au CPU.

Si tu veux faire du fullHD, tu as 2 073 600 pixels par frame. A 60 fps, tu dois générer 124 416 000 pixels par seconde. Donc avec un bon processeur à 3ghz, ça te donne une petite trentaine de cycles par pixels. Après, tu peut paralléliser, et augmenter selon le nombre de cœurs. Mais ça va taxer énormément de CPU.

Autre chose que je te conseil : jette un œil à cette vidéo des développeurs de rayman origins.
http://ubi-art.uk.ubi.com/2010/07/07/ho ... framework/
Ils expliquent comment fonctionnent leur moteur.

En fait, ils appliquent à la 2D les procédés d'animation squelettiques qui sont apparus avec la 3D, ce qui leur permet de faire des animations très simplement.
Le rendu est fait sur des polygones, et du coup, ils peuvent facilement faire des déformations sur des parties localisées.
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Merci encore pour toutes ces infos :D. Je pense que je vais terminer ce que je suis en train de faire avant de plancher là dessus ;).
Image
Avatar de l’utilisateur
Toryudo
Messages : 845
Inscription : 19 juin 2011, 21:36
Sexe : ♂ Masculin
Contact :

Re: Projet Mist

Message par Toryudo »

Moi, j'aurais une petite question pour toi : pourquoi C++ ?
Est-ce qu'on est à la veille d'une migration vers le langage compilé ? Je veux bien admettre qu'il y a tous les outils pour, que beaucoup de jeux ont été créés avec ce langage et que s'il est bien écrit, le programme peut être porté sur la plupart des machines... mais les rois des supports, ce seront plutôt les navigateurs.

Quelques jeux qu'on voit débarquer (et qui ne fonctionnent pas encore sur tous les navigateurs, j'en conviens) :
http://david.blob.core.windows.net/mode ... index.html
Le jeu dont les dimensions s'adaptent à la taille de la fenêtre... quand la fenêtre augmente ou se réduit, la dimension suit.

http://browserquest.mozilla.org/
Le jeu qui se joue online, tout ça grâce au HTML/JavaScript/CSS...


Est-ce que ce n'est pas plutôt là dessus qu'il faudrait se pencher ? C'est plutôt simple à prendre en main, plutôt simple à programmer et des outils sortent petit à petit. Pour le moment, rien ne ressemble à ce que tu veux faire sur les navigateurs. Alors, retour à le question initiale : simple curiosité, pourquoi C++ finalement ?
Alcazar
Messages : 78
Inscription : 03 mars 2012, 15:37

Re: Projet Mist

Message par Alcazar »

il y a aussi unity qui se met au web, par contre, il faut installer le plugin (propriétaire). Perso, je suis pas fan, je préfère avoir un navigateur "libre".

Par contre, toryudo, je trouve ça un peu paradoxale d'utiliser le navigateur web pour jouer à des jeux : ce n'est pas fait pour ça.
Comme tu le dit, ce qui est intéressant avec un navigateur, c'est sa portabilité. Finalement, c'est le même argument que java, à la différence que le java c'est du mytho : des programmes tournant très bien sous linux, plantent complètement et son inutilisables sous windows.
Cependant, en dehors de ça, la nature du navigateur n'est pas de faire tourner des jeux. Les performances requises en javascript seront considérables pour avoir un rendu haut de gamme. L'autre moyen est d'utiliser des plugins qui s'intègrent dans le navigateur comme c'est déjà le cas flash, java ou unity. Quoique avec flash et java, on a les mêmes performances dégueulasses. Et puis, je ne vois pas l'intérêt de les intégrer au navigateur si on peut les avoir en standalone.

Je pense que l'avenir est à définir une API commune aux systèmes d'exploitation. Ceux-ci peuvent toujours proposer des fonctionnalités supplémentaires en dehors de cette API, mais pour un certain nombre de fonctionnalités de base qui dépassent le cadre de la console, il faudrait avoir une librairie standard.
Après, je doute fort de la bonne volonté de microsoft sur ce domaine. Apple n'aura pas trop de mal, étant donné qu'ils ont déjà une large part commune avec linux due au noyau BSD.
Avatar de l’utilisateur
Toryudo
Messages : 845
Inscription : 19 juin 2011, 21:36
Sexe : ♂ Masculin
Contact :

Re: Projet Mist

Message par Toryudo »

Pourquoi un navigateur ne serait pas fait pour ça ?

Avant, on avait des Opérateurs téléphoniques, ils n'étaient pas fait pour être des Fournisseurs Accès à Internet.
Les Fournisseurs Accès à Internet n'étaient pas fait pour faire de la télévision.
D'ailleurs, dans un premier temps, internet n'est pas fait pour regarder des vidéos.
Et maintenant, les FAI se mettent à la vidéo à la demande et ils veulent squater le côté jeux vidéos...
Alors, pourquoi pas des navigateurs qui s'optimisent pour les jeux ? Après tout, les navigateurs évoluent sans arrêt... et ils font un peu ce qu'ils veulent.
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Je partage plutôt l'avis d'Alcazar. Je préfère de loin jouer sur une machine conçue spécialement pour le jeu. Mist devrait permettre le développement rapide de jeu "classiques", tels qu'on les connaissait à l'époque de la Snes (même si l'esthétique sera revue à la hausse pour les supports les plus puissants).

Pour ce qui est du langage, j'ai surtout choisi par affinité. Je n'avais pas envie d'aller chercher un langage inconnu, alors que j'ai pas mal d'expérience en C++. Il est a la fois performant et portable (dans une certaine mesure).

J'en profite pour vous dire que j'ai encore un peu de travail avant de pouvoir commencer à préparer les podcasts. Un peu plus conséquent que je ne le pensais, mais ça en vaut vraiment la peine. J'espère avoir fini le code cette semaine, pour pouvoir préparer les vidéos la semaine prochaine ;).
Image
Alcazar
Messages : 78
Inscription : 03 mars 2012, 15:37

Re: Projet Mist

Message par Alcazar »

toryudo, au final, le navigateur va tendre à devenir une sorte d'OS, mis à part qu'il déléguera les couches bas niveau (gestion du hardware, système de fichier, gestion des comptes... etc) au véritable OS.

Finalement, ce sera quelque chose d'assez semblable à ce que fait linux : on a un noyau en ligne de commande qui prends en charge toutes les couches bas niveau, qui peut ensuite démarrer une interface graphique (gnome, KDE, awesome etc...). Finalement, le navigateur va tendre à être une interface graphique.

C'est pour cela que je pense qu'un navigateur web n'est pas fait pour ça.


btw, djidane, j'ai un pote qui m'as passé ce lien hier :
http://www.dev-fr.org/index.php/topic,5267.0.html

ça pourra surement t'intéresser
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Super le lien :). Merci beaucoup Alcazar ;). Ca va sans doute m'être très utile.
Image
Avatar de l’utilisateur
Toryudo
Messages : 845
Inscription : 19 juin 2011, 21:36
Sexe : ♂ Masculin
Contact :

Re: Projet Mist

Message par Toryudo »

Comme ils disent un peu partout, on part vers une tendance "tout online"... Jeux vidéos online (qu'on n'installe même plus), logiciels online, disque dur online...
Je n'ai aucune idée de comment ça pourra marcher, mais le but d'HTML 5, c'est bien de faire des applications ! Pourquoi pas un HTML x avec pour but le jeu ? :P
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Effectivement, on tend vers le tout online mais personnellement, ça ne me plait pas beaucoup comme approche. Cependant, rien ne m'empêche de créer une version de Mist spécifique par après ;).
Image
Alcazar
Messages : 78
Inscription : 03 mars 2012, 15:37

Re: Projet Mist

Message par Alcazar »

Certes, mais lorsqu'un navigateur fait tout : medias, jeux, partage de fichiers etc...
je n'appelle plus ça un navigateur web : j'appelle ça un OS. Après, pourquoi pas un OS basé sur le web.

Après, je suis assez d'accord avec djidane et je n'aime pas non plus cette approche. Car au delà de l'aspect "simplification", la réelle raison se situe au niveau des DRM car les entreprises qui nous fournissent ces services web peuvent en contrôler l'usage que l'on en fait, contrairement à ce qui se fait offline.
Cela permet d'une part la lutte contre le piratage d'une part, mais également de brider les libertés des utilisateurs du fait que le piratage ne puisse plus être l'alternative aux clauses abusives - lisez les clauses de diablo 3, ça fait flipper : blizzard a le droit de fermer ton compte (donc de rendre ton jeu inutilisable, même pour du solo) sans avoir à fournir de justificatif de résiliation du contrat à la justice, et sans te rembourser bien entendu.
D'autre part, on a la surveillance des usages à des fins commerciales. C'est déjà le cas via google-analytics qui surveille la large majorité des sites sur le web, et dans une moindre mesure, de facebook.

Petit hors sujet afin de sensibiliser à la vie privée sur le net:
Spoiler :
google-analytics (pour ceux qui ne connaissent pas), c'est un service offert par google aux webmasters (si c'est gratuit, c'est que vous êtes le produit). Ce service leur permet d'obtenir des statistiques sur les visites : quelles pages, combien de temps, depuis quels pays, avec quel navigateur, est-ce que le visiteur est fidèle. Bref, rien à redire sur les outils. Ce qui est moins cool, c'est que ce n'est pas un outil open source que vous installez sur votre serveur. Vous avez un script à placer sur vos pages. Lorsqu'un utilisateur visite une page de votre site, le script va faire une requête à google. Ainsi, c'est google qui récolte les informations, et les affiche au client (le webmaster).
Sous couvert de fournir un outil gratuit et facile à installer, google récolte peut tracer les visites sur tous les sites de ses clients. Posséder les statistiques d'un site ou deux ne pose pas de problèmes. Ce qui pose problème, c'est quand on peut regrouper les statistiques de plusieurs millions de sites. Google peut savoir précisément pour chaque navigateur (ou IP si les cookies sont désactivés) quelles sont les pages visitées, quels sont vos goûts etc...
Et c'est bien pour cette raison que google analytics n'est pas open source. Pour l'utiliser, il faut passer par les serveurs de google, ce qui leur permet de collecter les données. Si c'était un outil open source à installer sur son propre serveur, google n'aurait pas accès aux données, or c'est leur but !
Là ou c'est vicieux, c'est que le webmaster souvent sans le savoir troque la vie privée de ses utilisateurs contre des beaux graphiques. La où c'est pire, c'est qu'à moins de vérifier le code source de la page, l'utilisateur n'as aucun moyen de savoir si il effectue à son insu des requêtes à google. Il n'as pas non plus de moyens de bloquer les requêtes faites sur des serveurs tiers (en l’occurrence, ceux de google).
Le seul moyen d'éviter cela, c'est de blacklister google-analytics, soit via l'antivirus, soit en spoofant le domaine dans le fichier des noms de domaine locaux.
Il se passe la même chose avec facebook. Si vous allez sur une page qui charge des commentaires ou affiche des +1, votre navigateur effectue des requêtes vers facebook. Même si vous n'êtes pas inscrit, facebook enregistre votre IP et les sites que vous visitez (puis un cookie permet de continuer à vous identifier même si votre IP change). Si vous êtes inscrit, c'est pire. Mais même sans être inscrit, ni aller sur facebook, celui-ci vous trace...
Il y a bien un système de protection des requêtes sur des serveurs tiers. Mais la seule chose qu'il protège, c'est le droit du serveur tiers de refuser les requêtes pour empêcher le premier site d'afficher le contenu, et ainsi en garder l'exclusivité. Par exemple, un autre site ne pourrait pas charger la chatbox hedg si celle-ci refusait les connexions depuis des pages étrangères au site.
Mais le système de protection ne protège absolument pas les utilisateurs : les requêtes sont faites à son insu, il n'en est pas averti (sauf à utiliser des outils de débogage), et il ne peut pas les bloquer. Je trouve cela absolument scandaleux.
Bref, pour revenir au sujet, je suis contre le "tout" internet. Car finalement, ce qui devait être un outil de partage de la connaissance à été vite détourné afin de desservir les intérêts privés, et de limiter les libertés des utilisateurs sur les logiciels ou medias via les DRM.

Je suis fondamentalement contre. Internet doit rester un outil de communication et non de surveillance. Internet doit permettre d'offrir de nouvelles fonctionnalités (jeux en réseau, partage de fichiers, médias, partage de la culture), et non de les restreindre via les DRM.
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Rien a ajouté, j'ai appris quelques trucs que je ne savais pas merci Alcazar ;).

Pour en revenir à Mist, j'ai (enfin) terminé de coder l'affichage dans les grandes lignes. Je commence donc à préparer la vidéo. Je vais essayer de faire quelque chose de bien meilleure qualité (aussi bien sur le texte, l'organisation de la vidéo ainsi que le support visuel).

Bref, vu que je ne suis pas encore un expert des montages video ni de Photoshop, ça va sans doute me prendre un peu de temps. Le but de Mist, c'est aussi de vous faire découvrir des choses, et ça, je ne peux pas le faire correctement si je ne m'applique pas sur la réalisation des podcasts ^^.

Pas de date donc, mais j'espère avoir fini courant de la semaine prochaine (je vais pouvoir faire une pause sur le codage comme ça, c'est pas plus mal :p).
Image
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

[Mist] L'affichage (1/3) - Gestion des formats d'écran

Après avoir décrit les différents composants qui seront utilisés par Mist dans l'article précédent, nous allons cette fois-ci nous concentrer plus précisément sur l'affichage. Beaucoup de choses à dire, donc on va faire ça par étape. Aujourd'hui, on s'attaque à la gestion des formats d'écran.

Un des points forts de Mist repose sur sa portabilité. Cela implique que le changement de support doit se faire sans douleur.

Une équipe de développement doit se fixer un format d'écran "type" avec lequel elle va travailler. Or, qui dit support différent dit écran différent, nous obligeant parfois à changer de format par rapport à ce qui avait été prévu au départ. Sur Xbox 360 ou PS3, ça peut aussi bien être du 16:9 que du 4:3, sur PC on peut également ajouter le 16:10, et qui sait, peut-être qu'un autre format plus "exotique" aujourd'hui deviendra le standard de demain dans les années à venir ?

Image
Comment faire passer Chrono Trigger sur un écran 16:9 ?
Comment faire passer Dust: An Elysian Tail sur un écran 4:3 ?
Les constructeurs de télévision ont déjà été confrontés à ce problème lors de la transition 4:3 vers 16:9, une époque durant laquelle seule une poignée de chaînes utilisait le format "écran large" qui est si commun de nos jours. Ils ont donc imaginer diverses techniques pour arriver à adapter tant bien que mal une image 4:3 en 16:9, et le résultat n'est pas toujours des plus esthétique ...


L'approche Letter-Box

Ou "boîte aux lettres". Elle consiste à centrer l'image dans l'écran et de remplir les "trous" avec du noir. Le nom "boîte aux lettres" vient de la ressemblance avec ... une boîte aux lettres (ah bon ?) lorsque l'on adapte une image large sur un écran "moins large" (comme un film sur une télévision 4:3).

Image
Quel gaspillage !
Il s'agit sans doute de ma méthode préférée car la plus fidèle à l'expérience initialement prévue. Sur un grand écran, le gaspillage n'est pas si gênant que ça, mais lorsqu'il est déjà très petit (comme sur une console portable, ou smartphone), gaspiller entre 25% et 50% de la surface de l'écran peut rendre l'expérience peu confortable pour le joueur. Dans ce genre de situation, la première chose qui me viendrait à l'esprit serait "portage baclé". Peut-on faire mieux ?


L'approche Stretched

Où l'image est étirée pour occuper l'intégralité de l'espace.

Image
Mon dieu que c'est moche !
Je crois que tout le monde sera d'accord pour dire que le rendu est tout sauf esthétique. Je préfère encore utiliser des bandes noires plutôt que d'infliger ça au joueur ! Et pourtant, ce mode d'affichage trouvera une utilité dans un prochain article ^^. Il nous reste encore une dernière alternative ...


L'approche Pan & Scan

Il suffit de découper l'image !

Image
Voila, ça rend bien mieux comme ça non ?
Ca parait tellement simple dit comme ça. On utilise tout l'écran, pas de déformation dégueulasse. Problème résolu donc ? Pas tout à fait ^^.

Ce genre d'approche amène un TRES grand nombre de problèmes (oui si c'est en gras souligné, c'est que c'est que l'heure est vraiment grave :p). Je vais illustrer tout ça avec quelques exemples biens choisis ^^.


Un aperçu des défauts du Pan & Scan

L'interface

Les plus fins observateurs l'auront sans doute remarqués: le passage en 4:3 de Dust: An Elysian Tail coupe purement et simplement une partie de l'interface. De manière générale, cela signifie qu'il faut adapter l'interface en fonction de l'écran, aussi bien en terme de taille que de position.

Image
Et voila comment rendre une interface totalement inutilisable :/.

Le saut de l'ange

Voici une situation relativement banale, où le joueur doit sauter au dessus d'un trou.

Image
Ca c'est un vrai trou !
Que se passe-t-il si on passe en 4:3 ?

Image
Je suis Keblo :s.
Le joueur est complètment perdu car il ne voit pas la plate-forme de droite ! Il s'agit ni plus ni moins d'un saut de l'ange (ou à l'aveugle). Le pauvre joueur 4:3 va plutôt penser qu'il est face à un cul-de-sac, et va sans doute errer un moment dans le niveau avant de tenter le grand plongeon (à moins qu'au bout de 2 longues minutes de recherche, il se soit résolu à chercher la solution sur le net :p).


Des solutions ?

Il y a toujours une solution pour peu que l'on y réfléchisse suffisamment ^^. Pour ce qui est de l'interface, le problème est qu'on définit sa position et sa taille en fonction de l'image du jeu et non de l'écran. On peut très facilement les résoudre automatiquement.

Par exemple, il suffit de plaçer la barre de vie en haut à gauche de l'écran (et non de l'image).

Image
Et voilà le travail :p.
Quant au problème du saut de l'ange, l'industrie du cinéma y a déjà été confronté. Nombre de films sont projetés dans les formats 1,85:1, et 2,39:1 (merci Wikipédia :p). A titre de comparaison, un écran 16:9 est équivalent à un format 1,77:1. En clair, les écrans des salles obscures sont beaucoup plus larges que nos chères télévisions HD.

Lorsqu'ils doivent mettre en vente un film sur DVD ou Bluray, c'est toujours mieux si le consommateur ne doit pas se taper un affichage letter-box ou stretched. Alors on découpe (c'est plus vendeur). Mais ça peut poser soucis dans certaines scènes, où, par exemple, quelque chose (personnage ou objet) de particulièrement important est mis se trouve à l'extrême gauche/droite de l'image (comme la seconde plate-forme pour le problème du saut de l'ange).

Pour que ce "quelque chose" soit visible par le spectateur, ils ont eu la bonne idée de procéder à un recadrage. L'idée, c'est de ne pas plaçer la "fenêtre" au centre de l'image, mais en fonction de la situation.

Du coup, on se rend immédiatement compte qu'avec un cadrage adapté, le problème du saut de l'ange peut être résolu très facilement.

Image
Tout devient clair !

Ils ont été encore plus loin: cette "fenêtre" peut être déplaçée dynamiquement, passant progressivement d'une position à l'autre ! En effet, si l'objet important se déplaçe, il faut accompagner son mouvement pour ne pas qu'il sorte du cadre.

Le problème de cette approche, c'est qu'il faut paramètrer tout ça "à la main". Dans un film où on connait précisément le déplaçement de la caméra, et les formats d'écran utilisés par les cinéphile, on peut en général utiliser le Pan & Scan, bien que cela demande un certain travail post-production.

Mais pour ce qui est de la création d'un jeu, c'est une toute autre histoire. Certains cas problématiques ne pourraient pas être résolus proprement. Il faudra alors revoir la structure du niveau pour que ça rentre dans le cadre pour les formats d'écran "type". Si on reprend le cas du saut de l'ange par exemple, si le cadre est trop étroit, on ne pourra pas y faire rentrer Yoshi et la plate-forme se trouvant à l'extrémité droite.

Réaliser cela automatiquement n'est pas impossible si on s'autorise à 'dézoomer', mais je crains que le résultat ne soit beaucoup moins "propre" qu'un recadrage au cas par cas (au point de gêner le joueur, en rendant son personnage beaucoup trop petit, ou en enchaînant des 'zoom'/'dézoom' intempestifs). Bref, on ne fait pas de miracle ^^.

J'ai malgré tout intégré ce mode d'affichage pour plusieurs raisons. Dans la pratique, on ne devrait pas devoir recourir à un découpage brutal, la plupart des écrans étant en 16:9 (ou en 16:10) de nos jours. De plus, les problèmes ne surviennent qu'en de très rares cas. Et dans le fond, c'est le mode d'affichage le plus confortable pour l'utilisateur.

Il n'empêche que le plus simple reste le mode Letter-box qui garanti la même visibilité pour tous, et épargne ainsi bons nombre de tracas aux développeurs et testeurs :p.

Je vous invite à visionner la vidéo résumé pour voir tourner Mist ;). Quand je vous disais qu'il y avait un tas de choses à dire (et dire que ce n'est que le premier article sur l'affichage ^^).


Vidéo résumé
Image
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Salut à tous ^^.

Je vais un peu faire le point concernant le projet. Je me rends compte qu'en plus de me demander énormément de temps, communiquer via des articles/vidéos n'est pas l'idéal (manque d'expérience & cie) et donc moi je perds mon temps et vous, ça ne vous sert à rien :p.

Pour diverses circonstances que je ne vais pas étaler ici, j'ai beaucoup moins de temps à consacrer au projet. Je pense donc qu'il vaut mieux que je consacre le peu de temps de disponible sur le moteur en lui-même.

Je retenterais peut-être l'expérience quand j'aurais atteint la partie plus "gameplay" du moteur.

Donc ne vous en faites pas, le projet ne mourra pas, c'est mon rêve de gosse et je compte pas le laisser tomber ^^.
Image
Avatar de l’utilisateur
Hedge
Messages : 9255
Inscription : 20 juin 2011, 02:25
Sexe : ♂ Masculin
Localisation : Paris
Contact :

Re: Projet Mist

Message par Hedge »

J'espère bien ca serait vraiment dommage...
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Je m'impose de travailler dessus au moins 1 demi-journée par semaine (le dimanche pour l'instant). Donc du coup c'est beaucoup moins que quand j'ai commencé (je tournais à 5-6 demi-journée/semaine en juillet-aout-septembre pour vous donner un ordre d'idée).

Pour l'instant je peux pas faire plus, mais je devrais pouvoir souffler un peu à partir de Vendredi prochain, ce qui je l'espère me permettra d'augmenter un peu la cadence.

En ce moment, je bosse sur la partie audio. Le son marche déjà mais j'aimerais ajouter une gestion du son en 3D pour le moteur. En gros, ça permettrait avec un casque de vous faire croire qu'un son vient de derrière vous par exemple.

Normalement ça devrait fonctionner dimanche :p.

Après ça, je m'attaquerai à la gestion de la manette. Je compte aller un peu plus loin que ce qui se fait d'habitude pour gérer nativement les combinaisons de touches comme dans les jeux de combats (les quarts de cercle, ...).

Et après, on commencera à attaquer le moteur à proprement parler (mais je détaillerai ça plus tard en temps voulu).

Pour le côté "technique", je fais d'abord une première version uniquement avec SDL. Je compte switcher sur OpenGL par après. Ca sera une sorte de test pour savoir si on peut effectivement changer de librairie facilement (ce qui est le but visé).

Voila voila ^^.
Image
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

J'ai pris un peu de retard mais le composant audio est terminé. Aujourd'hui je nettoie un peu le code et je m'attaque au contrôleur la semaine prochaine :D.
Image
Avatar de l’utilisateur
junkersju87
Messages : 636
Inscription : 31 déc. 2011, 15:31
Sexe : ♂ Masculin
Localisation : Tatooine

Re: Projet Mist

Message par junkersju87 »

Ben ça avance plutôt bien dis donc :) Bon courage pour ce projet. Tes idées et explications sont très intéressantes en tout cas.
Avatar de l’utilisateur
Agnam
Messages : 142
Inscription : 03 nov. 2012, 07:37

Re: Projet Mist

Message par Agnam »

C'est sur très beau projet ^^.
Je pense qu'un jour si je trouve le courage je vais essayer de faire le même projet :).
En tout cas bon courage pour la suite.
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Mist

Message par djidane535 »

Merci pour les encouragements :).

J'ai pas travaillé dessus ce week-end car j'attendais mon adaptateur Snes -> PC. Il est arrivé aujourd'hui donc je vais pouvoir m'y mettre ce week-end.

C'est plus "compliqué" que ça en à l'air pour cette partie, je ne fais pas un simple mapping entre la manette physique et la manette "software".

En programmation, tout fonctionne par envoi de signaux. En général pour une manette, on envoie un signal pour dire "On vient d'appuyer sur le bouton A", et ce n'est qu'après qu'on fait le lien avec l'action de sauter par exemple.

Je veux faire ça un peu différemment. Ma "manette software" va envoyer des signaux de plus "haut niveau", du genre "Le joueur a effectué l'action pour sauter". L'idée, c'est d'avoir en natif un gestionnaire de combinaisons de touche.

Exemple si je controle Ryu dans SSF2, au lieu d'envoyer les signaux "Bas, Bas + Droite, Droite, A" on aura plutôt "Le joueur lance un Hadoken". Ca sera très pratique après, car détecter un Hadoken c'est pas si facile que ça.

Si on regarde ce qui se passe en général, ça donne plutôt: "Bas, Bas, Bas, Bas, Bas + Droite, Bas + Droite, Droite, Droite, Droite + A, Droite + A, A". En clair, il faut être flexible à chaque étape. Si on est pas assez flexible, le joueur n'arrivera pas à sortir son Hadoken. Si on est trop flexible, il le sortira par accident.

Bref, j'aimerais avoir ça en natif sur le moteur, que ce gestionnaire soit dispo pour tous les jeux développer sur Mist.

Voila voila je vous tiens au courant ;).
Image
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités