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