Salut tous !
J'ai un petit problème pour me décider...
Vous connaissez Mankind, le jeu online ? http://www.mankind.net
il y a un affichage des systèmes pour la navigation interstellaire. Voici le lien d'un screenshoot.
http://www.mankind.net/screens_n_art/sc … k17_03.jpg
J'ai une base de données avec 64000 systèmes avec des coordonnées polaires, ils sont assemblés sous la forme d'une galaxie circulaire. J'aimerais avoir un look plus ou moins dans le genre de mankind. Concernant les planètes des systèmes solaires, c'est ok.
Vous me conseillez quelle technique ? Billboard ? Objets 3d texturés ?
A savoir, le joueur devra pouvoir cliquer sur un système pour le cibler.
Question subsidiaire : Vous savez où trouver des skybox free pour placer mes petites planètes dans un zoli environnement ???
Hors ligne
c'est n'est en aucun cas un avis authorisé, mais si tu veux le faire en billboard, il y a un truc dispo sur le forum anglais, ( http://irrlicht.sourceforge.net/phpBB2/ … hp?t=12251 )
lance la derniere demo, ce sont des planetes dans l'espace, mais faites avec des billboards,
il est probable que les billboard soient plus efficaces que les objets texturés,
maintenant, 64 000, faudra pas les voir tous d'un coup si ?
Hors ligne
à voir en fonction des perfs
pour trouver des skybox j'ai pas trouvé mieux que google
Hors ligne
Je ne pense pas que les 64.000 planète seront afficher...
Moi je pense que de la 3D conviendrai mieux étant donné que cette denrée est de plus en plus recherché... (pas trop de poly tout de même).
L'avantage de la 3D est une animation de rotation (si besoin de luxe), des ombres convaincantes, ...
Enfin, c'est en amoureux de la 3D que je parle... pas des performances.
Sinon, pour des textures, tu t'achete un magazine d'amateur d'astronomie... le scaner pourras t'avoir des image en grosse résolution... pas google. (Sinon google reste très bien)
Hors ligne
Merci de vos réponses.
Pour les 64000, j'aurais du préciser qu'effectivement je n'ai pas l'intention de les afficher tous en même temps. Je vais diviser la galaxie en clusters. J'ai testé un affichage d'une galaxie en rotation avec 6000 points avec Tao.Opengl ça rame déjà (Oo) J'ai du merder dans le code quelque part... Je n'ai pas vu comment faire de même avec irrlicht. Des que je trouve un truc satisfaisant, je poste.
Hors ligne
Je sais pas si c'est interessant ou pas mais dans le meme genre je connais "celestia", c'est un planetarium, 100000 astres repertoriés. www.shatters.net/celestia/
Et en plus c'est de l'open source
Dernière modification par BMarleyFR (10-01-2007 16:56:21)
Hors ligne
Celestia, je connais TRES bien !
Ce n'est pas ce que je cherche, mais merci de l'attention !
Hors ligne
Hors ligne
Bon, j'ai testé les billboard et c'est effectivement ce qu'il me faut. En y ajoutant un solide brouillard, une clusterisation et d'autres petits trucs, ça devrait marcher.
Merci tous !
Hors ligne
Willikus :
Je ne pense pas que les 64.000 planète seront afficher...
Systèmes, pas planètes ! Chaque système possède de 1 à 15 planète qui ne seront bien évidement pas affichées dans la vue galaxie. On ne verra les planète que SI l'on à déjà envoyé une sonde dans le système concerné et SI on a activé la vue système. Pareil pour la surface des planètes que l'on doit sonder avant d'en connaitre les ressources.
Willikus :
Moi je pense que de la 3D conviendrai mieux étant donné que cette denrée est de plus en plus recherché... (pas trop de poly tout de même).
L'intérieur des système sera en 3d, par contre l'affichage des systèmes en vue galaxie sera basé billboard. Mais de toutes façon ça restera moche au départ. Je préfère faire un truc moche et fonctionnel au départ avec quelques textures très répétitives. Des graphistes qui pourraient s'intégrer a mon chtit projet seront sans doutes plus motivés en voyant que les textures qu'ils soumettent sont appliquées de suite dans un jeu fonctionnel. D'un autre côté, c'est assez facile de générer automatiquement des surfaces de planètes. Le truc que va me manquer, ce sont les skybox pour les systèmes.
Willikus :
Sinon, pour des textures, tu t'achete un magazine d'amateur d'astronomie... le scaner pourras t'avoir des image en grosse résolution... pas google. (Sinon google reste très bien)
Oui, mais la il y aura des droits d'auteur... Comme pour google, il y a toujours le risque des droits d'auteurs.
=====================
Je sais que mon jeu a l'air énorme, mais en y réfléchissant bien...Pas tant que ça. J'explique :
Les données sont stockées sur un serveur MySql, avec des index bien réfléchis.
Lors de la demande d'affichage en mode [Galaxie/Système/Planète], seules les données concernant le [Cluster de systèmes/Système/Terrain] transiterons. En usant de tableaux de bits, on peux réduire fortement la quantité de données à transférer.
Le truc, pour ne pas surcharger la bécane cliente, c'est surtout de bien régler le nombre de systèmes a afficher. Concernant le nombre de planètes, 15 maxi, c'est vraiment pas la mer a boire. Pour les déplacements de vaisseaux, je pense que je vais juste dessiner un trait depuis la planète[système] de départ vers la planète[système] cible avec une petite boule blanche lumineuse placée à l'endroit où devrait se trouver la flotte à l'instant t.
Heuu... Je m'arrête là, parce que sinon vous risquez de voir le plus grand post jamais posté sur un fofo !
Dernière modification par diOxy (13-01-2007 14:58:34)
Hors ligne
elle a l'air sympa ton idée de jeu
je connais pas trop .NET (meme pas du tout), mais ya pas un risque de ramer un peu si le jeu est trop gros ? (pas graphiquement hein mais pour tout le reste ..
Dernière modification par Jerry Kan (13-01-2007 18:33:04)
Hors ligne
En fait le jeu ne devrait pas trop ramer parce qu'au niveau réseau les trames sont très réduites et assez peu fréquentes. Quand je regarde ce qui a été fait par l'équipe de www.runuo.com (Un serveur de mmorpg ultima online sublime !) j'ai bon espoir (leur serveur à subit un stress test de 10.000 connexion simultanées...). Le fait qu'un joueur ne vois pas les planètes au même endroit exactement qu'un autre ne gène pas non plus. Je mettrais sans doute une synchro, mais si les planètes sont décalées de 1 ou 10°, voir même plus, pas grave. J'ai testé la création d'un système solaire et c'est d'une facilité déconcertante. Le seul truc qui m'a géné c'est au niveau des anneaux que je voudrait mettre en option sur certaines gazeuses.
Au fait !!! Quelqu'un sais comment bien caler une texture sur un node sphérique ? J'ai sans doutes mal cherché (j'ai le chm de l'aide d'irrlicht, mais... Pas trouvé de solution miracle). J'ai vraiment l'impression qu'il faut que la texture soit d'une dimension particulière pour qu'elle se cale.
Concernant le soleil, j'ai un bel effet sympa : une light a 0,0,0, une sphère avec la texture du soleil et lightning a false et un billboard créé avec gimp aux mêmes coordonnées. Faudra que je mette le screenshot, tiens.
Plus d'infos plus tard.
Jerry Kan, j'ai fait quelques tests avec le .Net et c'est vraiment pas mal du tout. Le truc qui me plait sans doute le plus, du point de vue du développeur, c'est la capacité de compiler a la volée. J'explique :
Ton programme, une fois que le principal fonctionne, tu peux en sortir une portion (La routine que tu n'aime pas) et tu demande a ton programme de compiler le .cs contenant ta routine et de l'intégrer dans son code. (Je sais, mon explication est bancale...).
Donc, tu édite le .cs, le sauvegarde, lance ton prog et il intègre directement les modifications que tu as apporté.
Pour mieux comprendre :
L'émulateur Runuo fonctionne comme ceci : Il y a le programme Runuo.exe et un dossier script qui contient tout les scripts des objets, maisons, pnj, monstres, armes, etc, etc, etc....
Tu modifie un script : Exemple : Tu copie le script de l'épée rouillée qui se casse après 5 coups, tu édite le fichier (la classe de l'épée) en renommant tout et modifiant les trucs qui vont bien pour en faire la superbe épée qui tue même la mort et qui crie "taillau taillau" tout en lançant des nuages de vapeur verte. Ensuite, tu lance le serveur qui va détecter la présence d'une nouvelle classe et qui va l'intégrer. En te connectant avec le client UO, tu pourras utiliser ton épée ainsi que tout ceux qui utilisent ton serveur.
En bref : Tu te sert du C# (ou VB.Net, ou autre langage .Net) comme d'un langage de script compilé au vol au lancement du serveur !!!
Voilà LA raison qui m'a fait venir au .Net et mono !
Hors ligne