06 juillet 2011
Fiche jeu sandbox 1: Wurm Online
A partir d'aujourd'hui je vais vous dresser une liste non exhaustive des mmo de type sandbox ( liste incomplète surement) que j'ai pu découvrir voire tester. Je vais les lister dans l'ordre où j'ai pu les tester et je vous ferai une fiche par jeu.
Lorsque j'ai commencé à chercher des jeux de type sandbox j'ai entendu parler de lego universe et minecraft mais les 2 étaient payant puis j'ai trouvé WURM ONLINE qui est gratuit (jusqu'à un certain point).
Un peu de technique: Ecrit en Java, un projet géré par une petite équipe avec des mises à jour régulières.
Premiers pas:Avant de rentrer dans le monde de jeu on traverse un premier monde "tutorial" qui vous explique comment faire vos premiers outils, repas, .... Le tutoriel est encore incomplet (des dires des dèv) mais suffisant. Une fois le tutoriel fini on arrive dans le monde de jeu. Au début on se sent un peu perdu et on ne sait pas trop quoi faire mais rapidement on prend ses marques et on prend l'habitude de beaucoup utiliser le wiki.
gameplay: Une prise en main assez facile; les actions se font par clic droit sur l'objet. En général on sélectionne un outil avant (exemple sélectionner hache, clique droit sur un arbre et couper). Un patch récent a augmenté le nombre de "monstres" rendant le jeu un peu plus difficile. Le tout fonctionne avec un système de compétences donnant un pourcentage de succès sur une action (l'acquisiton d'un compte premium 5 euros par mois permet de dépasser le plafond à 20 des compétences mais on peut très bien jouer sans payer voire gagner de l'argent dans le jeu pour payer son abonnement). le wiki permet de connaître toutes les recettes des objets.
Les plus: Un des meilleurs graphismes de MMO sandbox pour l'instant, possibilité de jouer gratuitement, beaucoup d'outils et d'objets manufacturés, des montures, des bateaux. On peut créer des villages. Le côté nourriture(pas obligatoire)/eau(nécessaire) ajoute une bonne composante de jeu. Un petit peu de magie (méditation ou prêtres) complète l'ensemble.
les moins: Pas de possibilités d'étages (pour les maisons), les compétences montent très lentement, certains objets mettent un temps monstrueusement long à créer (maison en pierre, bateau, terraformation, ...) voire sont quasiment impossibles à faire (une ancre de bateau,...). Les combats sont très difficiles (voire quasiment impossible seul sauf à beaucoup s'entrainer). Un système de magie trop limité pour l'instant.
Mon conseil: Pas besoin de payer un compte premium avant d'avoir plusieurs compétences à 20, commencez le jeu aux environs de Freedom market et faites vous la main 1 ou 2 jours puis eloignez vous suffisament pour pouvoir profiter de ressources abondantes (bois et minerai) car la plupart des joueurs restent près du market(arrangez vous juste pour avoir un marchand pas trop loin); prenez votre temps pour trouver un endroit "vivant" avec d'autres joueurs car seul le jeu devient lassant (il est plus intéressant de participer à plusieurs à un projet).
PS: la copie d'écran est celle de ma maison en pierre à la tombée de la nuit.
20 juin 2011
Tutoriel: Introduction à OpenGL sur QT
Pour developper mon moteur 3D sur mon mmo j'aurai besoin de faire de l'openGL (enfin on verra quand j'en aurai fini avec l'apprentissage de celui ci).
J'ai donc commencer à ressembler quelques tutoriaux et voulu compiler tout ça en qt: pas facile aussi ai je décidé de vous donner la marche à suivre.
Pour commencer il vous faut qt et un projet vide (voir le site du zero pour ça).
Ensuite c'est assez facile.
1- Dans le fichier.pro il faut rajouter la ligne: QT+=opengl
2- Créez un fchier main.cpp avec le code suivant:
#include
#include
#include"GLWidget.h"
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
GLWidgetwindow;
window.resize(800,600);
window.show();
returnapp.exec();
}
3- Ajouter la classe GLWidget puis dans le .h:
#ifndefGLWIDGET_H
#defineGLWIDGET_H
#include
classGLWidget:publicQGLWidget{
Q_OBJECT//mustincludethisifyouuseQtsignals/slots
public:
GLWidget(QWidget*parent=NULL);
protected:
voidinitializeGL();
voidresizeGL(intw,inth);
voidpaintGL();
voidmousePressEvent(QMouseEvent*event);
voidmouseMoveEvent(QMouseEvent*event);
voidkeyPressEvent(QKeyEvent*event);
};
#endif//GLWIDGET_H
4- Puis le code source glwidet.cpp
#include
#include"glwidget.h"
#include"stdio.h"
GLWidget::GLWidget(QWidget*parent):QGLWidget(parent){
setMouseTracking(true);
}
voidGLWidget::initializeGL(){
glShadeModel(GL_SMOOTH);
glClearColor(0.0f,0.0f,0.0f,0.0f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);
glDisable(GL_COLOR_MATERIAL);
glEnable(GL_BLEND);
glEnable(GL_POLYGON_SMOOTH);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glClearColor(0,0,0,0);
}
voidGLWidget::resizeGL(intw,inth){
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,(GLfloat)w/(GLfloat)h,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
voidGLWidget::paintGL(){
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
}
voidGLWidget::mousePressEvent(QMouseEvent*event){
}
voidGLWidget::mouseMoveEvent(QMouseEvent*event){
printf("%d,%d\n",event->x(),event->y());
}
voidGLWidget::keyPressEvent(QKeyEvent*event){
switch(event->key()){
caseQt::Key_Escape:
close();
break;
default:
event->ignore();
break;
}
}
5- Compilez et lancez
Vous aurez une belle fenêtre noire :-) Voila votre premier programme.
Pour la suite vous pouvez regarder:
sur digitalfanatics.org la traduction française et l'adaptation qt des tutoriaux de NeHe
Je vous donnerai bientôt d'autres liens de tutoriaux.
18 juin 2011
Introduction
Car il faut bien commencer quelque part....
Fan de mmo de la première heure et développeur à mes heures perdues j'ai essayé plusieurs fois de développer le mmo qui me rendrait célèbre :-)
Mais commencons par un petit historique:
- A l'époque des livres dont vous êtes le héros, ce fut tout d'abord un petit jeu en texte sous To7 70 puis Amstard cpc,
- Ensuite avec les PC en pascal un jeu en texte où l'on s'échangeait les donjons crées,
- puis le même en C sur mon premier linux
- Internet est arrivé et j'ai commencé à jouer aux muds puis à en héberger un pour essayer (en local),
- Ensuite ce fut Ultima Online (enfin un serveur opensource utilisant le client),
- Puis mon propre moteur de jeu en 3D isométrique et une tentative pour faire mon premier MMO,
- Une petite pause de quelques années en faisant du play by mail sur forum et MSN/ICQ,
- Entre temps j'ai testé Donjon et dragon online, le seigneur des anneaux online, warhammer online,
- Une autre nouvelle tentative il y a 2 an avec le jeu d'un ami (qui souhaite faire un clone de rpgmaker) pour y rajouter une couche réseau
- Et puis hier
Et hier (il y a 1 mois environ):
- J'ai découvert depuis peu les MMO bac à sable, croisement entre le mmo et les sims où dans un environnement hostile vous pouvez façonner ce qui vous entoure. Je reviendrai plus amplement sur le sujet en vous parlant de Wurm (mon MMO du moment), Minecraft, maniac digger,...
- Et puis j'ai découvert un tout petit article en anglais d'un moderateur de gamedev qui expliquait comment créer un mmo en 4 heures (et qui plus est sur un language inconnu pour lui python)
- J'ai découvert aussi l'histoire de Minecraft qui montrait qu'un développeur seul mais motivé pouvait créer un mmo et gagner des millions mais aussi d'autres petit mmo qui sans prétention pouvaient s'en sortir (Je vous parlerai de ces cas qui ont réussi).
Tout ça fut le déclic qui a ranimé la flamme du développeur fou en moi et m'amène à aujourd'hui:
- Je continue à Jouer à Wurm et je vous en parlerai régulièrement,
- J'ai un projet de mmo en cours de développement,
- J'ai finalement décidé qu'il serait bon de partager mon expérience d'amateur avec d'autres qui ont envie mais n'osent pas.
De quoi va parler ce Blog:
- Des mmos auquels je joue (plutôt type sandbox),
- du développement de mon MMO: des outils, des points techniques, du gameplay, du code, des tutoriaux peut être,...
- des articles sur le monde du MMO: qu'est ce qu'un MUD, c'est quoi un MMORPG et un MMORTS,...
- Et d'autres surprise...
J'alternerai donc vulgarisation et technique pour que chacun s'y retrouve.
Sur ce je vous dis à très bientôt pour quelques articles sur python et les règles d'or pour développer un jeu même si on a jamais appris à développer (si si c'est possible).

