Ce n’est pas encore une page où on va décrire comment on va faire mais plutôt un endroit où on peut mettre des liens vers des ressources. Comme on se dirige plutôt vers du C++, les liens ici sont vers des libs C/C++.
Pour ceux qui ont un trou de mémoire à propos des bases de C++, voir le cours de C++ d'Henri Garreta ainsi que |Thinking in C++.
Diverses librairies de CGI :
Elles ont toutes des défauts technique selon moi, soit parce qu’elles ne gère pas tout ce qu’il faut ou elle le gère mal :
On peut voir aussi du côté de FastCGI qui est en gros du CGI persistant. Ça permet de s’affranchir de la phase d’initialisation à chaque fois que le programme est appelé. Ça a l’air pas mal et Apache le supporte.
Pour la configuration côté serveur, voir Apache Tutorial: Dynamic Content with CGI.
Une collection de ressources sur CGI.
On aura certainement besoin d’une base de données SQL. Voilà en gros ce qui existe :
axolotl : ma préférence irait à PostgreSQL mais après, il faut voir.
glooze : Je pense aussi que PostgreSQL serait le mieux.
Il faudrait étudier la possibilité d’utiliser Qt et en particulier Qt 4.0. Je vois principalement l’avantage de ne pas avoir à refaire des wrappers C++ autour des libs qu’on va utiliser. Quelques modules intéressants pour nous :
Voir aussi éventuellement l’utilisation de qmake.
Comme nous sommes sur un dédié, pourquoi se diriger uniquement vers du C++ ? Du python ou du ruby ca serait utilisable également, en plus d’etre légèrement plus simple d’accès. Alors oui, niveau perfs ca serait légèrement moins bon, mais niveau clareté du code, c’est à un autre niveau. De plus, étant membre de RubyFrance, crois que tu aurais des devs de très haut niveau qui se feraient un plaisir de t’apprendre le ruby et de sponsoriser le moteur. glooze
Niveau perf, ruby, c’est pas ça. Je connais un peu ruby, je pense que je vais m’y mettre bientôt, mais je dois avouer que pour ce projet, je n’y crois pas trop. Une dedibox, c’est 2GHz et 1Go de RAM, on peut croire que c’est beaucoup mais c’est rien du tout. La question, c’est quels sont nos objectifs ? Si on regarde les autres jeux en ligne, on peut tabler sur environ 10k joueurs si on arrive à faire un bon truc (et on va le faire !). 10k joueurs qui se connectent tous les jours et qui génèrent autant d’actions, autant d’évènements.
Je ne connais pas encore l’API qu’on va mettre en place mais une seule sessions risque de “coûter” de l’ordre de quelques dizaines d’appels au serveur de jeu je dirais. Ça fait donc 100k connexions par jour. Je doute qu’un truc en ruby puisse supporter ça dans l’immédiat, comme n’importe quel autre langage interprété. Au niveau du serveur, je veux un truc qui soit très optimisé (en mémoire et en vitesse) et C++ me semble être le meilleur candidat. J’ai demandé à des gourous ruby par acquis de conscience et ils me disent la même chose.
Et je n’évoque même pas le fait d’avoir plusieurs univers (par exemple plusieurs langues) qui multiplierait le nombre de connexions d’autant.
Bref, il va falloit plus d’arguments que : le ruby saibien (ce dont je suis déjà convaincu par ailleurs).
PS: j’ai rajouté ta signature ;)