FrogCreator est un moteur de création de MMORPG 2D open source, réécriture moderne en Java du célèbre projet FRoG Creator (French Online Game Creator), originellement développé en Visual Basic 6.
Ce dépôt représente la version 1 (v1) du projet, avec pour objectif de proposer une base solide, multiplateforme et extensible pour la création de jeux de rôle en ligne massivement multijoueurs en 2D.
- Historique
- Fonctionnalités
- Architecture
- Technologies
- Prérequis
- Installation et compilation
- Modules
- Roadmap
- Contribuer
- Licence
FRoG Creator est un projet communautaire français né au début des années 2000, permettant à quiconque de créer son propre MMORPG 2D sans connaissances avancées en programmation. Développé initialement en VB6 par la FRoG Team, il s'est inspiré de moteurs comme Konfuze et Mirage Source.
Le projet original a fédéré une large communauté francophone de créateurs de jeux, avant que le développement officiel ne s'arrête vers 2015.
FrogCreator v1 est une réécriture complète en Java, visant à :
- Moderniser la base de code avec des technologies actuelles (Java 8, LibGDX, Maven)
- Offrir une compatibilité multiplateforme (Windows, macOS, Linux)
- Proposer une architecture modulaire et extensible via un système de plugins
- Conserver l'esprit d'accessibilité et de simplicité de l'original
- Architecture client-serveur pour le jeu multijoueur en ligne
- Système d'entités à composants (ECS) pour une gestion flexible des objets du jeu
- Système de cartes par tuiles avec support de couches (layers) et de chunks
- Pathfinding A* pour l'intelligence artificielle des PNJ
- Communication réseau asynchrone par paquets avec chiffrement RSA
- Système d'événements découplé pour la communication entre modules
- Système de plugins pour étendre les fonctionnalités du moteur
- Internationalisation (i18n) avec support du français et de l'anglais
- Éditeur de jeu basé sur JavaFX pour la création de contenu
- Client de jeu avec rendu graphique LibGDX (effets, transitions d'écrans, etc.)
Le projet est structuré en 4 modules Maven :
FrogCreator/
├── api/ # Bibliothèque partagée (entités, réseau, systèmes, utilitaires)
├── client/ # Client de jeu (LibGDX, rendu graphique, écrans)
├── editor/ # Éditeur de contenu (JavaFX)
├── server/ # Serveur de jeu (gestion des connexions, plugins, concurrence)
└── pom.xml # POM parent Maven
┌──────────┐ ┌──────────┐
│ Client │◄─────►│ Server │
│ (LibGDX) │ TCP │ (Java) │
└────┬─────┘ └────┬─────┘
│ │
└───────┬───────────┘
│
┌────▼────┐
│ API │
│ (Core) │
└─────────┘
┌──────────┐
│ Editor │
│ (JavaFX) │
└──────────┘
| Technologie | Utilisation |
|---|---|
| Java 8 | Langage principal |
| Maven | Gestion de build et dépendances |
| LibGDX 1.9.6 | Framework de jeu (rendu, entrées, audio) |
| LWJGL | Backend OpenGL pour le client desktop |
| JavaFX | Interface de l'éditeur |
| JSON (org.json) | Sérialisation des données |
| JUnit 4 | Tests unitaires |
| RSA | Chiffrement des communications réseau |
- Java JDK 8 ou supérieur
- Apache Maven 3.x
- Git
# Cloner le dépôt
git clone https://github.com/ClementDidier/FrogCreator.git
cd FrogCreator
# Compiler l'ensemble du projet
mvn clean install
# Compiler un module spécifique
mvn clean install -pl api
mvn clean install -pl client
mvn clean install -pl server
mvn clean install -pl editormvn testBibliothèque centrale partagée entre le client et le serveur. Contient :
- Entités :
Entity,Character,Player,NPC,Item - Carte :
GameMap,GameMapChunk,GameMapLayer - Réseau :
Packet,FrogClientSocket,FrogServerSocket, gestion asynchrone des paquets - Systèmes : architecture ECS avec
GameSystem,HealthSystem, composants et événements - IA : pathfinding A* (
AStarPathfinder) - Plugins : interfaces
PluginetFrogPlugin - Sécurité : chiffrement RSA
- i18n : support multilingue (FR, EN)
Client de jeu desktop utilisant LibGDX :
- Écrans : menu principal, sélection de serveur, sélection de personnage, jeu principal
- Effets visuels et transitions (fondu, tremblement)
- Rendu graphique par batch
Serveur multijoueur gérant :
- Connexions simultanées via
ClientWorkeretRequestManager - Exécution concurrente des tâches (
RequestExecutor,FrogTask) - Chargement dynamique de plugins (
PluginLoader)
Éditeur de contenu basé sur JavaFX pour la création et la modification des ressources du jeu (cartes, PNJ, objets, etc.).
- Architecture Maven multi-modules (API, Client, Server, Editor)
- Système d'entités à composants (ECS)
- Système de cartes par tuiles avec couches et chunks
- Communication réseau client-serveur par paquets TCP
- Chiffrement RSA des communications
- Pathfinding A*
- Système d'événements de jeu
- Architecture de plugins
- Client LibGDX avec gestion des écrans et transitions
- Internationalisation (FR/EN)
- Serveur concurrent multi-clients
- Structure de base de l'éditeur JavaFX
- Intégration continue (Travis CI)
- Éditeur de cartes complet dans l'éditeur JavaFX
- Éditeur de PNJ et de dialogues
- Système d'inventaire et gestion des objets
- Système de combat de base (tour par tour ou temps réel)
- Système de chat en jeu
- Authentification et gestion des comptes joueurs
- Persistance des données (base de données ou fichiers)
- Système de quêtes complet
- Système de scripting pour les événements de jeu
- Éditeur d'animations et de sprites
- Système de guildes / groupes
- Commerce entre joueurs
- Système de classes et d'arbres de compétences
- Migration vers une version Java plus récente (11+)
- Support du scripting Lua ou JavaScript pour les créateurs de jeux
- Interface web d'administration du serveur
- Support mobile (Android/iOS via LibGDX)
- Système de marketplace pour partager les ressources communautaires
- Documentation complète et tutoriels pour les créateurs
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le dépôt
- Créez votre branche de fonctionnalité (
git checkout -b feature/ma-fonctionnalite) - Commitez vos changements (
git commit -m 'Ajout de ma fonctionnalité') - Poussez la branche (
git push origin feature/ma-fonctionnalite) - Ouvrez une Pull Request
Merci de respecter le style de code existant et d'ajouter des tests unitaires pour toute nouvelle fonctionnalité.
Ce projet est distribué sous licence GNU General Public License v3.0. Voir le fichier LICENSE pour plus de détails.
FrogCreator — Une seule limite... votre imagination !