jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

| Page 1 2 3 Suivante | |||
| Auteur | Message | ||
|---|---|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |||
| Page 1 2 3 Suivante | |||
Furanku
|
# Posté le 12/04/2010 à 14:36:09 | ||
|
|
![]() |
||
| Publicité | # Posté le 12/04/2010 à 14:36:09 | ||
|
|
|||
feda12
|
# Posté le 12/04/2010 à 14:46:22 | ||
![]()
Ville : Lorient |
Projet intéressant, mais sera t-il multiplateforme ?
|
||
Furanku
|
# Posté le 12/04/2010 à 14:56:48 | ||
|
|
Oui bien sûr. Les librairies utilisées le sont, et je vais faire en sorte que le moteur en lui-même le soit.
|
||
feda12
|
# Posté le 12/04/2010 à 14:59:09 | ||
![]()
Ville : Lorient |
C'est une bonne chose alors
Bon courage en tout cas
|
||
1vrai0
|
# Posté le 13/04/2010 à 02:19:57 | ||
![]()
|
|||
Furanku
|
# Posté le 13/04/2010 à 11:49:37 | ||
|
|
Pour le moment, je n'ai pas encore touché à une seule ligne de code.
J'en suis à l'analyse fonctionnelle avec la modélisation en parallèle. Au début de début donc ![]() Sinon pour le moment je suis seul et préfère le rester. C'est plus simple à gérer, même si en contrepartie je perds en objectivité (d'où l'intérêt aussi de poster ici). |
||
Furanku
|
# Posté le 14/04/2010 à 22:51:45 | ||
|
|
Ouverture d'un dépôt SVN sur Assembla, le temps que le projet avance bien.
Dans un premier temps seule la documentation sera disponible (analyser avant de coder ! ).Au passage, le post de présentation a été mis à jour. |
||
shihico
|
# Posté le 15/04/2010 à 23:53:34 | ||
|
I ♥ linux, I think.
Ville : Crest |
Projet très interessant, c'est vrai qu'il n'y a pas beaucoup de moteurs complets 2D. Bon courage pour la suite, je te suis de près.
|
||
Furanku
|
# Posté le 16/04/2010 à 17:06:59 | ||
|
|
Merci
![]() Si vous avez des idées, je suis preneur. Je fais avancer le CdC (nom un peu fourre tout, car ce n'en est pas vraiment un) dès que j'ai du temps de dispo. |
||
Furanku
|
# Posté le 22/04/2010 à 15:07:32 | ||
|
|
Un peu de nouvelles.
Le CdC n'avance pas en ce moment. Déjà parce que je n'ai pas trop envie de faire du Word ces derniers temps, et aussi parce que je commence à me pencher sur le code. Etant seul, je peux me permettre d'alterner entre rédaction et programmation. Toutefois j'ai pas mal de feuilles avec des schémas, analyses... me restera plus qu'à les mettre au propre ![]() Sinon j'ai débuté la programmation. Pour le moment je m'occupe de la gestion des caméras, scènes, nodes et entités. Ce qui correspond aux bases de la partie graphique, et permet de poser celles de la partie système (Core). Une fois ceci fait, je débuterais l'intégration avec la SFML puis un projet de test. |
||
shihico
|
# Posté le 22/04/2010 à 16:27:24 | ||
|
I ♥ linux, I think.
Ville : Crest |
|||
qehedr
|
# Posté le 22/04/2010 à 16:56:11 | ||
![]()
|
C'est un projet intéressant, et même plus que ceux de jeu 3D en réseau car il à de meilleures chances d'aboutir et qu'il servira à d'autres.
PS: je suis en train de perfectionner une sur-couche de la SDL en C++ avec gestion du temps, des animations, images, entrées clavier-souris orientée jeu 2D. Si ça peut aider, je peux participer pour le code. |
||
Furanku
|
# Posté le 22/04/2010 à 17:46:15 | ||
|
|
Citation : shihico
Franchement j'ai hâte de voir ce que ça va donner. ![]() Autant le dire franchement, il faudra être patient ![]() Mais pour montrer l'avancement, je mettrais en ligne un site sur lequel je diffuserais des vidéos de démonstration et des news à intervalle régulier. Citation : qehedr C'est un projet intéressant, et même plus que ceux de jeu 3D en réseau car il à de meilleures chances d'aboutir et qu'il servira à d'autres. PS: je suis en train de perfectionner une sur-couche de la SDL en C++ avec gestion du temps, des animations, images, entrées clavier-souris orientée jeu 2D. Si ça peut aider, je peux participer pour le code. Merci ![]() Je ne sais pas si il a de meilleures chances d'aboutir, mais j'espère bien qu'il servira à d'autres. C'est aussi pour ça que je prend le temps de développer, afin d'avoir un code propre et robuste (pour mon niveau de connaissance), qui puisse être facilement lu et repris. Sinon merci pour ta proposition, mais je préfère travailler seul jusqu'à la sortie de la v1. Non pas par orgueil, mais parce que je pense qu'il est plus facile de travailler à plusieurs en partant sur une base commune. Edit : maj du SVN avec les premiers fichiers sources (ici).
Édité
le 22/04/2010 à 20:28:13
par Furanku
|
||
Davidbrcz
|
# Posté le 23/04/2010 à 00:01:32 | ||
Geek un jour, geek toujours !![]()
|
Il est tard, j'ai parcouru le code très rapidement.
* récupération des exceptions par copie, pas bien. * pas d'utilisation des listes d'initialisation pour les membres * singleton pour le logger, moche * des fonctions elliptiques pour le log , OMFG, tu es fou ? * gestion des pointeurs à la main, sympa pour la sécurité face aux exceptions ! Les plus * Utilisation de la S(T)L
Édité
le 23/04/2010 à 00:03:14
par Davidbrcz
Partager grâce à l'open source et aux logiciels libres. Mes articles Bibliothèques C++ et celles orientées jeux, FAQ C++ |
||
Furanku
|
# Posté le 23/04/2010 à 00:45:37 | ||
|
|
Citation : Davidbrcz
Il est tard, j'ai parcouru le code très rapidement. * récupération des exceptions par copie, pas bien. * pas d'utilisation des listes d'initialisation pour les membres * singleton pour le logger, moche * des fonctions elliptiques pour le log , OMFG, t u es fou ? * gestion des pointeurs à la main, sympa pour la sécurité face aux exceptions ! Les plus * Utilisation de la S(T)L C'est exactement le genre de remarques que j'attendais ![]() Pour le logger et les exceptions, je me suis pour le moment basé sur le code de Laurent Gomila (du moteur Yes Engine) - pour ne pas dire copier. Mais c'est provisoire, je ne comptes pas les laisser telles quelles. Et tes remarques confortent cette idée. Les listes d'initialisation, c'est purement et simplement un oubli. La gestion des pointeurs manuelle. J'ai pensé à utiliser les boost::shared_ptr, mais j'hésite encore à créer une classe smart-pointer maison. A voir si réinventer la roue est nécessaire. Sinon, que veux tu dire par "fonctions ellptiques" (première fois que j'entend ce terme) ? De même pour les exceptions récupérées par copie, je ne comprend pas tout à fait. Si tu peux m'éclairer, je suis pas contre ![]() Pour précision, je procède comme suit au niveau développement:
Merci pour ton coup d'oeil sur le code. Il n'y a que comme ça que je m'améliorerais et que je pourrais faire quelque chose de stable et propre
|
||
Davidbrcz
|
# Posté le 23/04/2010 à 10:35:29 | ||
Geek un jour, geek toujours !![]()
|
Citation
Pour le logger et les exceptions, je me suis pour le moment basé sur le code de Laurent Gomila (du moteur Yes Engine) - pour ne pas dire copier. Mais c'est provisoire, je ne comptes pas les laisser telles quelles. Et tes remarques confortent cette idée. Je n'ai jamais trouvé de solution satisfaisante pour les logs en C++ "pur". La programmation par aspect est bien sur ce point, mais pas assez stable en C++ (à mon gout) pour être utilisée. Citation La gestion des pointeurs manuelle. J'ai pensé à utiliser les boost::shared_ptr, mais j'hésite encore à créer une classe smart-pointer maison. A voir si réinventer la roue est nécessaire. Pourquoi réinventer la roue et propager le NIH (not invented here). Pourquoi ne pas utiliser les smart_ptr de boost qui ont été testés, validés par une pléthore de programmeurs. Citation Sinon, que veux tu dire par "fonctions ellptiques" (première fois que j'entend ce terme) ? Possible que je me sois trompé dans le nom (il était tard). En gros, je parle des fonctions utilisant .../va_arg & co. Pas sécurisée, ne supporte que les PODs, ne respecte par le DRY (don't repeat yourself). Citation De même pour les exceptions récupérées par copie, je ne comprend pas tout à fait. Si tu peux m'éclairer, je suis pas contre ![]() Une exception à grande chance de se produire quand tu sera sans mémoire vive. A ce moment, une exception est produite si tu tente de construire un objet et qu'il n'y a plus assez de mémoire. Récupérer l'exception par copie implique (comme le nom l'indique), une copie donc une allocation dynamique de mémoire alors qu'il n'y a déjà plus de mémoire. Boom. Citation Pour précision, je procède comme suit au niveau développement:
Les lois immuables du dev: http://home.swbell.net/mck9/cobol/cobiron.html Ce qui permet au final d'arriver à cette réflexion (pas de moi, honteusement pompé sur le net) Citation Comme on dit, avant de faire un chef d'oeuvre, il faut faire un brouillon Personnellement, je fais la plupart de mes dev au moins deux fois : - La première fois, je bacles le tout le plus vite possible, pour avoir une première version qui fait vaguement ce qu'elle est censée faire. Ca permet d'affiner l'analyse, d'avoir été confronté une fois à tout les problèmes, d'avoir une meilleure compréhension du problème global. - Puis une fois que j'ai quelque chose qui tourne, je le montre à mes utilisateurs, je leur fait tester, voir ce qui leur convient, ce qui ne leur plait pas... - Enfin, je refais tout proprement. Comme cette fois ci, les problèmes ont tous été bien identifiés par la première réalisation, que les utilisateurs ont compris ce dont ils ont besoin et ce qu'ils veulent, ça va finalement très vite. Donc en gros, à la phase 2, comme tu es ton propre client, ca revient à créer un jeu pour tester le moteur et voir ce qu'il te manque/plait ou non / ... Sinon, l'optimisation prématurée est source de mal. Tu vas perdre du temps à optimiser une classe alors que si ca se trouve tu vas la refaire complètement dans 1 mois voire la supprimer. Partager grâce à l'open source et aux logiciels libres. Mes articles Bibliothèques C++ et celles orientées jeux, FAQ C++ |
||
Furanku
|
# Posté le 23/04/2010 à 23:00:04 | ||
|
|
J'ai tenu compte des tes remarques et donc retouché les classes, ainsi qu'intégré les smart-pointers (je l'avoue ça facilite la tâche).
Le SVN a donc été mis à jour. Des modifications aparassent : le CameraManager va disparaitre, ses méthodes feront parties du SceneManager. Les classes de log sont mises de côté pour le moment. Toujours prêt à recevoir des critiques sur mon code et la conception
|
||
danman
|
# Posté le 24/04/2010 à 13:24:26 | ||
L'imagine + mieux que savoir![]()
Ville : Sathonay-village |
C'est un projet intéressant, d'autant plus que j'ai le même projet (en un peu plus complexe, mais on est 3).
Si tu as besoin d'aide pour la GUI, tu peux essayer de regarder sur la notre (je te la donne par mp si tu me le demandes).#LGDF: danman vaincra ! Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org ! ![]() Pixel Conquest ... Join the battle. Postez votre image ! |
||
Furanku
|
# Posté le 24/04/2010 à 13:49:17 | ||
|
|
Merci
![]() Pour la GUI je n'en suis pas encore là. Ce n'est pas l'élément le plus important. Sinon je suis en train de voir pour créer un arbre n-aire à l'aide Boost Graph, pour gérer les Node d'une Scene (avec RootSceneNode comme racine). Pas évident ![]() Oui je me base pas mal sur Ogre3D, je ne le cache pas. Mais bon ce très loin d'être aussi poussé. |
||
danman
|
# Posté le 24/04/2010 à 16:57:55 | ||
L'imagine + mieux que savoir![]()
Ville : Sathonay-village |
Comment comptes-tu gérer l'affichage ?
Par entité (ex: on dessine un arbre d'un coup) Par tile Par image complete d'une map ? Et pour la physique ? Comptes-tu rajouter un support de collision par pixel ? Si je ne m'abuse, on va etre 3 concurrents (avec l'ungine).
Édité
le 24/04/2010 à 16:58:49
par danman
#LGDF: danman vaincra ! Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org ! ![]() Pixel Conquest ... Join the battle. Postez votre image ! |
||
Furanku
|
# Posté le 24/04/2010 à 18:17:07 | ||
|
|
Scène : correspond au monde (la map donc dans ton cas), construite à base de tiles, d'un background, d'une ambient light... ;
Entité : chaque entité sera associée à un (ou des) sprite(s) ; Caméra : affiche une portion de la Scène. Node : points invisibles composant une Scène, auxquels s'attachent des Entités et des Caméras. Tout est rendu dans une RenderWindow. Pour la physique, j'utiliserai Box2D. Et il n'y a pas de concurrence, au contraire ![]() D'ailleurs vous n'avez pas de topic sur le SdZ ?
Édité
le 24/04/2010 à 18:17:59
par Furanku
|
||
danman
|
# Posté le 24/04/2010 à 22:17:40 | ||
L'imagine + mieux que savoir![]()
Ville : Sathonay-village |
non, mais on a un code.google et un topic sur le forum SFML.
Apparement tu n'as pas les meme buts que nous pour le moteur 2d, tant mieux . (le tiens est plus léger).et sinon pourquoi utiliser racknet, alors que tu as SFML ? pour les pointeurs intelligent, si tu es avec GCC 4.4, ils sont dans std (ça te supprime une dépendance) #LGDF: danman vaincra ! Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org ! ![]() Pixel Conquest ... Join the battle. Postez votre image ! |
||
Furanku
|
# Posté le 25/04/2010 à 00:16:54 | ||
|
|
J'ai pensé à Racknet pour toutes les options qu'elle offre. Après c'est juste un repérage, je n'ai pas encore vu ce que donnait le module réseau de la SFML.
Je ne savais pas que les smart-pointer (autre que std::auto_ptr) étaient intégrés avec les dernières version de GCC. Mais je reste sur Boost pour le moment, car je vais certainement utiliser d'autres librairies qui y sont contenues (Serialization...). |
||
Orwel
|
# Posté le 25/04/2010 à 00:51:35 | ||
Power-Kawa![]()
|
|||
Furanku
|
# Posté le 25/04/2010 à 01:22:12 | ||
|
|
Par possibilité de scripter le monde, j'entend la possibilité d'ajouter des évènements sans toucher au code. Avec un éditeur (qui sera fournit) par exemple, ou bien manuellement et créant les fichiers nécessaires. Ce sera surtout utile avec le World Editor.
Par GUI scriptée, je pense à des interfaces comme dans WoW. On peut la modifier en éditant/créant les scripts, afin d'ajouter des addons au niveau interface. Pour ça je pense m'orienter sur LUA qui a une communauté assez importante, est facile à prendre en main et à intégrer, et relativement souple
Édité
le 25/04/2010 à 01:23:32
par Furanku
|
||
danman
|
# Posté le 25/04/2010 à 14:18:46 | ||
L'imagine + mieux que savoir![]()
Ville : Sathonay-village |
bonne idée pour lua
.la gui scripté ça n'a rien a voir, en gros tout ce que tu as a faire c'est de binder tes widgets avec lua. sauf si tu comptes faire comme CEGUI (les widgets sont en xml). #LGDF: danman vaincra ! Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org ! ![]() Pixel Conquest ... Join the battle. Postez votre image ! |
||
Furanku
|
# Posté le 26/04/2010 à 01:21:55 | ||
|
|
Ça commence enfin à prendre forme !
Il est maintenant possible de créer une Scene, d'y créer des Node auxquels on peut attacher des objets (Camera pour le moment). Ce n'est certes que le début, mais ça avance. J'ai aussi pensé à intégrer un système de calque pour les scènes afin de donner la possibilité d'avoir un effet de profondeur. Il sera par exemple possible d'avoir une Scene en avant plan, où votre perso se déplace, et une en arrière plan ou vous pourrez voir d'autres entités se déplacer. Il faut voir ça comme un décor de pièce de théâtre en quelque sorte ![]() Au passage, le SVN a bien sût été mis à jour. Mais j'en ai aussi profité pour mettre en ligne le blog du projet (le site suivra dès que possible). |
||
danman
|
# Posté le 26/04/2010 à 19:57:53 | ||
L'imagine + mieux que savoir![]()
Ville : Sathonay-village |
je passerais tester après mon brevet blanc
.
#LGDF: danman vaincra ! Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org ! ![]() Pixel Conquest ... Join the battle. Postez votre image ! |
||
Furanku
|
# Posté le 27/04/2010 à 01:24:37 | ||
|
|
Tu auras vite fait le tour
![]() Sinon j'ai quelques soucis avec mes smart-pointers. J'ai deux fonctions : attachObject et detachObject pour ajouter et enlever un objet d'un noeud. Pour l'ajout, pas de soucis même si je pense que le code puisse être optimisé (mais je verrais ça plus tard). Par contre, problème pour le détachement. J'obtiens l'erreur suivante : Code : Console
Ce serait l'utilisation d'un shared_ptr non initialisé. Mais je ne vois pas à quel endroit... Plutôt que de poser le code ici, voici les fichiers sources : Node.cpp et MovableObject.cpp. Une fois ceci résolu, je débute les Entités ![]() Edit : problème résolu. C'était juste l'appel d'une fonction membre sur un pointeur NULL (dans le main.cpp). Une étourderie donc, mais qui montre que je devrais me pencher sur les exceptions.
Édité
le 27/04/2010 à 10:56:05
par Furanku
|
||
danman
|
# Posté le 27/04/2010 à 17:18:01 | ||
L'imagine + mieux que savoir![]()
Ville : Sathonay-village |
bah, en trois semaine on fait des merveilles
.
#LGDF: danman vaincra ! Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org ! ![]() Pixel Conquest ... Join the battle. Postez votre image ! |
||
Retour au forum "Présentation de vos projets" ou à la liste des forums
