begin process at 2010 02 10 06:37:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > MOTEUR DE RPG EN LIGNE

MOTEUR DE RPG EN LIGNE


 Information sur la source

Note :
9,17 / 10 - par 12 personnes
9,17 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :jeu, rpg, forgotengine, ajax, dhtml Niveau :Initié Date de création :21/04/2006 Date de mise à jour :29/04/2006 17:57:03 Vu :14 224

Auteur : Scraat

Ecrire un message privé
Site perso
Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Vous avez déjà joué aux Baldur's Gate ? Icewind Dale ?
Ce "moteur" est une imitation de l'InfinityEngine, le moteur de ces jeu, en Javascript, c'est à dire jouable en ligne.
Ce n'est qu'un timide début ne vous attendez pas à un vrai jeu, mais vous pouvez déjà avoir un aperçu de ce que je cherche à faire.
Démo ici : http://gravytea.com/florian/ForgotEngine/

Source

  • //(fichier core/game/game.inc.js)
  • ////////////////
  • //FICHIER GAME//
  • ////////////////
  • //à terme vous devriez pouvoir adapter le moteur à vos besoin en utilisant ce seul fichier
  • //pour l'instant ça me semble délicat, cependant vous pouvez déjà voir ici un exemple d'utilisation basique du moteur
  • //PARAMETRES
  • //Le "Volumetric Lights" est une sorte de blur, c'était au début un bug et j'ai trouvé que ça rendait pas mal sur les toits/arbres
  • //ça rame pas mal par contre
  • OverMask = 0; //"Volumetric Lights" activé
  • OverMaskOpacity = 0.2; //intensité (immonde lorsque > 0.4)
  • ScrollSpeed = 50; //vitesse de défilement de la map
  • StaticZone = 0.4; //sensibilité pour le scroll, 0 < StaticZone < 0.5
  • BorderLim = 0; //affiche une bordure autour de la map, plutôt laid en fait
  • DynCursor = 1; //change l'apparence du curseur pendant le scroll
  • DefInterval = 5; //temps par défaut pour les setTimeout
  • WinOpacity = 0.9; //opacité des fenêtres
  • WinLightDrag = 1; //annule l'opacité des fenêtres pendant les dragndrop
  • Locator = 0; //affiche map
  • GamespaceBg = 'url(img/map/bg/fog.gif)'; //map de fond
  • MapBg = 'img/map/bg/AR3300.jpg'; //map
  • function StartGame() {
  • CreateGamespace(); //crée un div prenant tout l'écran où sera crée la map
  • CreateMap(5120,3840); //crée la map de tailler 5120*3840 (attention pour l'instant l'image MapBg sera ETIREE si elle est trop petite)
  • StartGamespace(); //démarre le tout
  • //CreateChar(400,900,'Elemental, Water',17,0.65);
  • CenterView(2060,2260); //cadre la vue sur ces coordonnées (assez peu précis en fait)
  • //CreateChar est aussi utilisé pour crée des objets tels que la fumée ou de l'eau...
  • //C'est assez illogique la fonction changera bientôt de nom
  • CreateChar(2510,3035,'FOUNTN',2,0.7);
  • //créer l'objet FOUNTN aux coord 2510,3035 avec l'id 2 et une opacité de 0.7
  • //veiller à ne pas créer 2 objets avec le même id
  • CreateChar(1940,355,'CHIMSMK',3,0.4);
  • CreateChar(2585,1125,'CHIMSMK',4,0.4);
  • CreateChar(1325,1045,'CHIMSMK',5,0.4);
  • CreateChar(4752,2425,'CHIMSMK',6,0.4);
  • CreateChar(930,2560,'CHIMSMK',7,0.4);
  • CreateChar(795,2710,'CHIMSMK',8,0.4);
  • CreateChar(4476,2553,'CHIMSMK',9,0.4);
  • CreateChar(4738,2571,'CHIMSMK',10,0.4);
  • CreateChar(4490,2419,'CHIMSMK',11,0.4);
  • CreateChar(3005,1713,'BUTRFLY',12);
  • CreateChar(3657,993,'BUTRFLY',13);
  • CreateChar(3275,995,'BUTRFLY',14);
  • CreateChar(4492,1084,'BUTRFLY',15);
  • CreateChar(1539,970,'BUTRFLY',16);
  • CreateChar(1500,1500,'wyvern',1);
  • MoveChar(1,2350,2300,5);
  • //bouge l'objet d'id 1 (la wyvern) vers le point 2350,2300 à la vitesse 5.
  • }
  • //les fonctions "Action" sont appelés lorsque certains évenèment ont lieu
  • function ActionClick() {
  • MoveChar(1,MouseXCoord(),MouseYCoord(),5);
  • //MouseXCoord()/MouseYCoord() retourne les coordonnées du curseur, tenant compte de la position de la map sur l'écran
  • }
  • function ActionMove() {
  • window.status = Math.round(MouseXCoord())+'/'+Math.round(MouseYCoord());
  • //affiche en status les coordonnées de la souris, pratique pour placer de nouveau objet
  • }
  • function ActionOver(Id) {
  • document.title = Elmt[Id];
  • //ci-dessous, un petit essaie d'intégrer Ajax au moteur... très basique.
  • //pour essayer décommenter aussi l'elemental d'eau
  • /*if(Id == 17) {
  • CreateDialog(100,100,'<img src="img/spinner.gif">',18);
  • //crée un div de dialogue au point 100,100, d'id 18, contenant l'image spinner.gif
  • StickDialog(18,17);
  • //"colle" ce div à l'élémental
  • AjaxRequest('test.php','CreateDialog(100,100,Request.responseText,18);');
  • //appelle en arrière plan la page test.php, quand le résultalt arrive place dans le div de dialogue le contenu du fichier
  • }*/
  • }
  • function ActionOut(Id) {
  • }
  • //pour modifier le menu regarder dans le fichier index
  • //CreateWin(350,350,WinAbout(),'About');
  • //crée une fenêtre déplaçable d'id 'About' au point 350,350
  • //de contenu WinAbout(), fonction définie dans le fichier game/win/options.win.js
//(fichier core/game/game.inc.js)

////////////////
//FICHIER GAME//
////////////////

//à terme vous devriez pouvoir adapter le moteur à vos besoin en utilisant ce seul fichier
//pour l'instant ça me semble délicat, cependant vous pouvez déjà voir ici un exemple d'utilisation basique du moteur



//PARAMETRES
//Le "Volumetric Lights" est une sorte de blur, c'était au début un bug et j'ai trouvé que ça rendait pas mal sur les toits/arbres
//ça rame pas mal par contre
OverMask = 0;				//"Volumetric Lights" activé
OverMaskOpacity = 0.2;		//intensité (immonde lorsque > 0.4)

ScrollSpeed = 50;			//vitesse de défilement de la map
StaticZone = 0.4;			//sensibilité pour le scroll, 0 < StaticZone < 0.5
BorderLim = 0;				//affiche une bordure autour de la map, plutôt laid en fait
DynCursor = 1;				//change l'apparence du curseur pendant le scroll
DefInterval = 5;			//temps par défaut pour les setTimeout

WinOpacity = 0.9;			//opacité des fenêtres
WinLightDrag = 1;			//annule l'opacité des fenêtres pendant les dragndrop

Locator = 0;				//affiche map

GamespaceBg = 'url(img/map/bg/fog.gif)';	//map de fond
MapBg = 'img/map/bg/AR3300.jpg';			//map

function StartGame() {
	CreateGamespace();		//crée un div prenant tout l'écran où sera crée la map
	CreateMap(5120,3840);	//crée la map de tailler 5120*3840 (attention pour l'instant l'image MapBg sera ETIREE si elle est trop petite)
	StartGamespace();		//démarre le tout
	
	//CreateChar(400,900,'Elemental, Water',17,0.65);
	
	CenterView(2060,2260); //cadre la vue sur ces coordonnées (assez peu précis en fait)
	
	//CreateChar est aussi utilisé pour crée des objets tels que la fumée ou de l'eau...
	//C'est assez illogique la fonction changera bientôt de nom	
	CreateChar(2510,3035,'FOUNTN',2,0.7);
	//créer l'objet FOUNTN aux coord 2510,3035 avec l'id 2 et une opacité de 0.7
	//veiller à ne pas créer 2 objets avec le même id
	
	CreateChar(1940,355,'CHIMSMK',3,0.4);
	CreateChar(2585,1125,'CHIMSMK',4,0.4);
	CreateChar(1325,1045,'CHIMSMK',5,0.4);
	CreateChar(4752,2425,'CHIMSMK',6,0.4);
	CreateChar(930,2560,'CHIMSMK',7,0.4);
	CreateChar(795,2710,'CHIMSMK',8,0.4);
	CreateChar(4476,2553,'CHIMSMK',9,0.4);
	CreateChar(4738,2571,'CHIMSMK',10,0.4);
	CreateChar(4490,2419,'CHIMSMK',11,0.4);

	CreateChar(3005,1713,'BUTRFLY',12);
	CreateChar(3657,993,'BUTRFLY',13);
	CreateChar(3275,995,'BUTRFLY',14);
	CreateChar(4492,1084,'BUTRFLY',15);
	CreateChar(1539,970,'BUTRFLY',16);

	CreateChar(1500,1500,'wyvern',1);
	
	MoveChar(1,2350,2300,5);
	//bouge l'objet d'id 1 (la wyvern) vers le point 2350,2300 à la vitesse 5.
}


//les fonctions "Action" sont appelés lorsque certains évenèment ont lieu

function ActionClick() {
	MoveChar(1,MouseXCoord(),MouseYCoord(),5);
	//MouseXCoord()/MouseYCoord() retourne les coordonnées du curseur, tenant compte de la position de la map sur l'écran
}

function ActionMove() {
	window.status = Math.round(MouseXCoord())+'/'+Math.round(MouseYCoord());
	//affiche en status les coordonnées de la souris, pratique pour placer de nouveau objet
}

function ActionOver(Id) {
	document.title = Elmt[Id];
	
	//ci-dessous, un petit essaie d'intégrer Ajax au moteur... très basique.
	//pour essayer décommenter aussi l'elemental d'eau
	/*if(Id == 17) {
		CreateDialog(100,100,'<img src="img/spinner.gif">',18);
		//crée un div de dialogue au point 100,100, d'id 18, contenant l'image spinner.gif
		
		StickDialog(18,17);
		//"colle" ce div à l'élémental
		
		AjaxRequest('test.php','CreateDialog(100,100,Request.responseText,18);');
		//appelle en arrière plan la page test.php, quand le résultalt arrive place dans le div de dialogue le contenu du fichier
	}*/
}

function ActionOut(Id) {
	
	
	
}

//pour modifier le menu regarder dans le fichier index
//CreateWin(350,350,WinAbout(),'About');
//crée une fenêtre déplaçable d'id 'About' au point 350,350
//de contenu WinAbout(), fonction définie dans le fichier game/win/options.win.js

 Conclusion

Le fichier étant un peu gros, vous trouverez la dernière version ici : http://gravytea.com/florian/ForgotEngine/fe.zip
Ca rte et persos sont inclus.


 Historique

22 avril 2006 14:16:03 :
Plus de problème lors du déplacement de la map sous IE.
29 avril 2006 17:57:03 :
La map est dorénavant découpée en 256 morceaux d'une vingtaines de Ko qui se chargent de façon intelligente (plutôt qu'une seule grosse image de plusieurs Mo comme avant).

 Sources du même auteur

Source avec Zip SYSTÈME DE NOTATION PAR ÉTOILES

 Sources de la même categorie

Source avec Zip Source avec une capture DEMINEUR JAVACSCRIPT | PHP, CONFIGURABLE AVEC LE FRAMWORK JQ... par Nementon
Source avec Zip Source avec une capture ATTRAPE MOI SI TU PEUT par kazma
Source avec Zip LE CÉLÈBRE JEU SNACK par lesnouesremy
Source avec Zip Source avec une capture QUIZZ MASTER : 2000 QUESTIONS POUR TESTER VOTRE CULTURE par amrounix
Source avec Zip Source avec une capture BILLARD EN JAVASCRIPT C'EST POSSIBLE ! par amrounix

 Sources en rapport avec celle ci

Source avec Zip PLUGIN JQUERY ARTE: AJOUTER DU TEMPS REEL SUR VOS PAGES WEB par arthurobriot
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SANS PHP par jdmcreator
Source avec Zip Source avec une capture JEU DE POKER LOCK par GhislainLavoie
Source avec Zip Source avec une capture AUTRE MAP RPG AVEC UNE APPROCHE DIFFÉRENTE par rekam
Source avec Zip Source avec une capture ESSAI DE JEU DE CARTE EN JAVASCRIPT par jppsg36

Commentaires et avis

Commentaire de Scraat le 21/04/2006 15:04:15

Attention, même si cette source est sur la partie Javascript du site vous aurez tout de même besoin d'EasyPHP pour pouvoir l'utiliser en local ! Cependant aucune connaissance de PHP n'est requise pour comprendre le code.

Commentaire de apxa le 22/04/2006 12:49:30

Iop,
Ca delire un peu au niveau deplacement de la map mais c du beau travail.

Have Fun ;)

Commentaire de Sannazzarotiti le 22/04/2006 13:03:56

Le fichier dans un zip stp

Commentaire de Scraat le 22/04/2006 13:59:58

Pour le zip : http://gravytea.com/florian/ForgotEngine/fe.zip
Effectivement la map se balade un peu quand tu es pas sur firefox...

Commentaire de Sannazzarotiti le 22/04/2006 14:47:23

merci, de toute facon IE a toujours un probleme

Commentaire de bobicarte le 24/04/2006 09:31:50

avec quel logiciel tu as cree la map

Commentaire de Scraat le 24/04/2006 15:45:33

La map n'est pas de moi ! Elle est tiré du jeu Baldur's Gate, j'ai pu la récupérer grâce au programme InfinityExplorer.
Tout est expliqué dans le zip (readme.txt).

Commentaire de patrick532 le 25/04/2006 18:54:33

très bien, à suivre jusqu'à ce que tu ai fini de plancher sur un système de chargement intelligent de la map.

Commentaire de emilia123 le 30/04/2006 22:29:10

bonjour,

Les démo/zip ne sont plus disponibles :'(

Est ce temporaire?

Em.

Commentaire de Scraat le 30/04/2006 22:51:08

Salut,
c'est le serveur qui a un problème, ça devrait vite revenir...

Commentaire de thedeejay le 04/05/2006 20:24:00

ok thanks!

Commentaire de thedeejay le 04/05/2006 20:24:23

ok merci beaucoup...

Commentaire de thedeejay le 10/05/2006 16:44:51

mais en fait cela sert à quoi?
et le zip marche toujours pas.
ya t-il une adresse ou vous joindre?
merci

Commentaire de TheCric le 16/08/2006 01:28:41

le zip n'est pas un zip mais un rar donc il faut renommer l'archive en .rar et l'ouvrir avec Winrar, 7-zip ....

Commentaire de thedeejay le 14/12/2006 21:07:59

ok! merci beaucoup!

Commentaire de franco_se le 15/12/2006 01:20:01

genial

mais ce projet est-il toujours en cours ?

Commentaire de Scraat le 15/12/2006 08:06:58

Oui oui...

Commentaire de franco_se le 18/12/2006 17:59:26

mais dans ce cas, j'ai 2 petites questions:
1/ comment compte-tu gerer les limites de mouvement du perso ( s'il marche, il sera limité par les murs par ex)
2/ avec une map pre-dessinée, comment passer derriere un arbre ? ... a moins de faire un map "fond" et une autre "1er plan", transpartante ... mais ds ce cas un systeme de tiles aurait été plus simple ....

enfin, j'ai hate de voire la suite  :)

Commentaire de DyoChris le 16/01/2007 09:01:59

J'ai hate de voir l'évolution du projet, comptes-tu permettre aux utilisateurs de se voir sur la map? J'ai testé sur Opera, c'est pas compatible. Enfin bonne chance, je suis sur que ce projet peut aboutir à quelque chose de sympa, mais il te faudra beaucoup de temps.  

Commentaire de delta38 le 06/02/2007 17:35:40

comme certain l'on dit plus aux internet explorer c'est nul :)

Commentaire de stfou le 09/04/2007 18:24:24

DELTA38 >> Bin ça c'est constructif... C'est quoi le rapport avec la source ?

Commentaire de gigamaster le 06/08/2007 10:34:25

Excellent rendu sur FF. C'est très prometteur. Bon courage pour la suite!
:-)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Jeux d'arcade en DHTML: personne n'a réussi à en faire un bien? [ par Duxmachin ] Bonjour &#224; tous,Je suis nouveau en JS, je code depuis 2 mois,je me posais la question de savoir si quelqu'un a d&#233;j&#224; r&#233;ussi &#224; c [CS]Un thème HTML [ par rt15 ] Salut, Il y a pas mal de questions sur le HTML qui finissent dans la bar (Ou sur le site du langage côté serveur utilisé, alors que le problème se li onunload: attendre la fin d'un echange ajax avnt de fermer la fenêtre? [ par trygelin ] Afin de fermer une session, lors de changement de page, ou fermeture du navigateur je souhaite déclencher une requete AJAX: j'ai écrit la procédure ai [BAR]cherche pour jeu [ par madmax52 ] Bonjour je cherche quelqu'un pour la création d'un jeu de gestion. [^^happy10] Si vous voulez essayer et que l'aventure vous, tente contacter moi ... menu horizontal/vertical sous ajax/php/mysql [ par thibill ] Salut à tous et toutes, Est-ce qu'il y a qq'un qui a déjà fabriqué un menu horizontal 3 niveaux permettant de tirer les données du menu directement d Interaction avec le serveur : AJAX + PHP [ par kate1910 ] bonjour , est ce que quelqu'un pourra me dire c'est koi l'erreur dans mon code : [code=js]function ajax() { var xhr=null; if (window.XMLH problem ds ma fonction ajax [ par kate1910 ] bonjour tout le monde svp est ce que quelqu'un peut me dire c'est quoi le probleme dans ma fonction ajax,normalement cette derniére va permettre a de Ajax crossdomain flXHR [ par Teclis01 ] Bonjour tout le monde :) Voilà quelques temps que j'essaye de faire fonctionner un plugin prototype qui permet de faire des requêtes ajax sur un serv Solution en Ajax pour afficher la suite de résultats sql [ par fabrizti ] Bonjour tout le monde. J'ai une page php, mysql qui affiche un certains nombres d'articles (avec une région répétée) en fonction des pages. Mais Si il A propos d'AJAX [ par karimfellah ] slt à tous, j'ai besoin du code ajax qui permet de verifier si le nom de l'utilisateur existe dans la base ou nom tout en affichant la résultat dans


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales