ALGOSTEP COMPANY AMELIORATIONS DU MOTEUR
Transcription
ALGOSTEP COMPANY AMELIORATIONS DU MOTEUR
ALGOSTEP COMPANY AMELIORATIONS DU MOTEUR GAMEGURU 08/07/2015 Ce document explique en detail par des graphiques les changements imminents du moteur que nous preparons ainsi que l’equipe de developpement qui on conçu le moteur GameGuru. TABLE DES MATIÈRES Contenu GameGuru actuel (V1.003) ________________________________________________________________________________2 GameGuru modifications prevues (V1.004 a 2.XXX – 2015~2016) ___________________________________3 Optimisation du moteur ___________________________________________________________________________________4 Nouveautes concernant l’affichage________________________________________________________________________8 Generation et systeme______________________________________________________________________________________8 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 Introduction GameGuru est un nouveau moteur conçu depuis 2012 par TheGameCreators. Il est le successeur de FPS Creator X10. GameGuru est un GameMaker pour debutant/semi-debutant professionnel pour une qualite du jeu unique dans l’air du temps, cependant celui-ci est en Beta et n’est donc pas termine. Notre equipe de Developpement de Jeux Video, existante depuis 2006, a choisi ce moteur car nous le connaissons par cœur depuis 2006 et qu’il est le seul a avoir un potentiel et une facilite de creation unique au monde. Dans ce document nous allons vous montrer comment nous comptons l’ameliorer pour creer nos futurs jeux video 3D de qualite bien superieur a celle actuelle, le tout explique par des graphismes pour plus de facilitees de comprehension par les joueurs, developpeurs ou interesses. Ce document n’est pas lie aux Bibles des Jeux Video cree par notre equipe AlgoStep Company, c’est un document a part pour vous expliquer vraiment ce que sera le moteur dans quelques annees. Actuellement les graphismes sont proches de 2008. Pour vous reperer sur les ameliorations de prevues vous verrez en bas de chaque page un code de ce type « GRAPH=X ». X est egal a l’annee equivalent ou vous pourrez retrouver les graphismes et ameliorations de prevues. Par exemple « GRAPH=2008 » signifie que les jeux que nous concevrons avec les modifications de prevues sont equivalent aux jeux video de 2008. Si vous voyez « GRAPH=2015 » par exemple cela signifie que vous aurez des graphismes de 2015, soit equivalent a l’Unreal Engine 4 (1.7.6 a 1.8.0+) ou a CryEngine. Bien sur nous en sommes loin mais plus pour longtemps… Profitez de ce voyage d’ameliorations du moteur avec nous des la prochaine page de ce document ! Page 1 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 GameGuru Actuel (V1.003) GRAPH=2008 Page 2 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 Amelioration moteur GameGuru 2015-2016 GRAPH=2012 Page 3 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 Optimisation du moteur : Pour reussir une bonne optimisation nous allons egalement modifier les LOD et les autres systemes d’entrees et de sorties pour que le moteur supporte mieux les processeurs et cartes graphiques prevues pour nos jeux ; soit : - Modification des distances LOD - Suppression des variables non detruites qui ne sont plus utilises - Le passage au C++ total (finit le DarkBasic) permet de creer une lecture du code source 2 a 3 fois plus rapide (temps de chargement des niveaux qui passeront de 2 minutes a 20 secondes maximums) - Goulot d’etranglement elargie sur les polygones calcules grace aux nouveaux Shader (voir graphisme plus bas) Actuellement pour une scene tres charges le moteur supporte 120 IPS. Mais nous tournons a 10~15 IPS sur un PC haut de gamme dedie au jeu, voici donc en detail les astuces et programmes qui seront mises en places pour en finir avec les ralentissements (calcul base sur 3 millions de polygones par scene) : Modifications des distances LOD : - Actuellement la vue LOD est configuree par deefaut sur chaque objet en 2 niveaux : le premier a une distance de 4200 et le second a une distance de 2500. Nous allons donc reduire les LOD de 4200 a 3100 et de 2500 a 1300, le tout couple a l’effet de flou de distance qui rendra impossible au joueur de distingue les polygones grossiers, le tout avec un effet ultra-realiste (pratiquement de la photo-realistism). On incorpore egalement au terrain un LOD LV1 sur la zone ou se trouve le « carre » d’eclairage ambient sur la scene du jeu, celui-ci regroupant uniquement une zone definit dans la scene, le reste n’est plus alors « eclaire » et on remonte de 15 a 20 IPS rien qu’avec cette astuce. AVEC CETTE MODIFICATION : 15 IPS + 15 = 30 IPS Page 4 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 Suppression des variables non détruites qui ne sont plus utilisées : - Actuellement chaque variables en jeu est stockes en memoire sur un maximum de 100 niveaux uniques. Nous feront alors en sorte d’augmenter les niveaux uniques a 500 ce qui permettra de stocker jusqu’a 500 variables. Chaque variables qui sera utilisee en jeu sera alors detruite si elle n’a plus d’utilite, liberant ainsi l’espace memoire qu’elle a utilise ; la memoire n’augmentera plus toute seule et on se retrouvera avec une augmentation significative des IPS de 10 a 20. AVEC CETTE MODIFICATION : 30 IPS + 10 = 40 IPS Passage au C++ complet, sans plus aucun code DarkBasic, y compris sur le terrain : - Actuellement le terrain genere en DarkBasic est reduit au niveau de sa puissance et des Shaders projetes par le fait que le code soit un Darkbasic (BlitzTerrain) qui n’est plus utilise dans des jeux depuis 2010 environ. Notre but est donc de supprime completement le code DarkBasic du moteur et le remplace par du C++ et en finir avec BlitzTerrain. Un tout nouveau terrain, genere rapidement, sera mise en place. Les extensions du programmes du terrain (DLL) en DarkBasic seront alors totalement supprimes et le terrain fera partie integrante de l’executable autonome genere lors de la compilation des jeux, par ce fait le code sera lu 2 a 3 fois plus rapidement et nous gagneront entre 2 et 5 IPS par scene de rendu genere. AVEC CETTE MODIFICATION : 40 IPS + 2 = 42 IPS Goulot d’étranglement élagrit : - Actuellement le moteur ne supporte que 3 millions de polygons par scene maximum, alors que les gros moteurs pour jeux AAA que l’on trouve aujourd’hui supportent facilement 50 a 100 millions de polygones par scene sans ralentissements (ou presque). Pour resoudre ce probleme cela viens de plusieurs facteurs deja a prendre en compte : le code source non optimise (DarkBasic), les variables problematiques, les acces a la memoire qui peuvent echouees, les polygones trop nombreux mal supportes par les Shader d’affichages a l’ecran, bref… En resolvant deja le code source, variables, etc on obtient un goulot de sortie des donnees Page 5 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 plus rapide et moins ettouffants ; ce qui fait que le processeur, la memoire et la carte graphique seront plus aptes a supporter le flux de donnees entrees/sorties generes par le moteur de jeu qui tourne en fond pour vous offrir nos futurs jeux video par notre groupe ; donc exemple en image avec l’avant et l’apres des idees mises en places ici : (Ameliorations page suivante) Page 6 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 Conclusion ; plus le code sera optimise, plus les Shader seront mises a jour et stable et plus les donnees iront vite sans rencontres trop de resistance plus le jeu sera fluide et permettra d’afficher des rendus graphiques bien plus haut que ceux actuellements possibles de diffuser. Nous pensons pouvoir atteindre les 30 millions de polygones par scene au lieu des 3 millions actuels. TOTAL DES MODIFICATIONS GLOABLES : Entre 40 et 60 IPS pour 30m.p0/scène au lieu de 10 à 15 IPS comme actuellement pour 3m.p0/scène ! GRAPH=2014~2015 Page 7 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 Nouveautés concernant l’affichage : L’affichage (interfaces) du jeu seront egalement ameliorees pour pouvoir afficher des HUD et textes plus beaux graphiquements et sans besoin d’utiliser des images PNG Alpha mais bien des images DDS avec la prise en charge de 64m. de couleurs (au lieu de 8m. actuellement). Le but etant egalement d’afficher des interfaces uniques (y compris animees) pour ameliores le rendu d’un jeu (au meme type d’affichage d’interface de CryEngine). Génération et système : Le moteur sera egalement ameliore concernant sa generation. Les jeux actuellement generes autonome fonctionnent avec des extensions copies a l’ouverture dans les fichiers temporaires. Ceux-ci seront desormais decompresses en memoire vive ; ce qui augmente la vitesse de chargement et de copie des donnees du jeu en cache de 200%, tres partique pour jouer rapidement sur un SSD. Concernant le systeme nous resterons sous Windows. En aucune maniere le moteur ne sera compatible avec les plateformes Linux et les Consoles de salon pour la simple et bonne raison que 90% des jeux possibles a concevoir avec GameGuru sont des FPS et TPS type FPS de combat/horreur/guerre et TPS type RPG d’aventure/fiction/medieval ; le succes de ces types de jeu repose entierement ssur les plateformes Windows. La prise en charge futur prevu de Windows 10 (des Aout 2015 pour le moteur) permettra de jouer sur la derniere version du systeme d’exploitation de Microsoft®. Page 8 AMELIORATIONS DU MOTEUR GAMEGURU 2015-2016 Conclusion globale : Les améliorations de la source du moteur, des objets 3D avec les textures PBS et des dizaines d’autres soucis rencontrés seront possibles et imminents dans moins de 1 an et demi. Les graphismes finaux seront proches de ceux de 2014~2015 avec un retard de maximum 2 à 3 ans sur l’année où nos jeux sortirons (1 payant, 2 gratuits). Nous ferons tout pour vos offrir une grande éxperience de jeu ! AlgoStep Company Tous droits réservés 2006-2015 --------------------- Page 9