mirror of
https://forge.univ-lyon1.fr/tplifap4/dungeonanddeamon.git
synced 2024-02-27 13:31:50 +01:00
150 lines
6.1 KiB
Markdown
150 lines
6.1 KiB
Markdown
# DungeonAndDeamon
|
|
## Infos
|
|
### Auteurs
|
|
- P1910892 - Amaury JOLY
|
|
- P1401253 - Yoan GWIZDALA
|
|
- P1923381 - Allan ESTRELA
|
|
### Organisation
|
|
[Université Claude Bernard Lyon 1](https://www.univ-lyon1.fr/) - [Licence Informatique](sciences-licence.univ-lyon1.f)
|
|
### Liens
|
|
Lien du projet sur la Forge de l'université : https://forge.univ-lyon1.fr/tplifap4/dungeonanddeamon
|
|
### Un peu plus
|
|
>Nous sommes 3 étudiants en deuxième année de licence Informatique. Nous travaillions sur DungeonAndDeamon, un RogueLike fonctionnement sous l'environement graphique GODOT.
|
|
## Installation
|
|
### Detail
|
|
Ce projet est une __bibliothéque C++__ qui sera ensuite intérprété par GODOT de manière a intéragir avec l'environement graphique.
|
|
### Step to Step (La possession de Godot n'est pas nécessaire pour executer le projet)
|
|
- A la racine du projet cloner le depot contenant la librairie godot avec la commande :
|
|
`git clone https://forge.univ-lyon1.fr/groupemoduleimage/godotlibrairies.git ./GodoBinding/`
|
|
#### Windows
|
|
- Compiller le projet ce situant dans le dossier `DungeonAndDeamonScript`*
|
|
- Récupérer la DLL `DungeonAndDeamon --> .script --> DungeonAndDeamonScript.dll`
|
|
- La copier dans le repertoire `DungeonAndDeamon --> bin --> win`
|
|
- Executer le fichier `dugeonanddemon.exe`
|
|
|
|
\* Le projet ne contient pas encore de `MakeFile` pour la version Windows, a ce titre il n'est compilable que via VisualStudio. Neamoins, les executabels sont compris dans le dépos GIT.
|
|
#### Linux
|
|
- Executer la commande `make`à l'emplacement `DungeaonAndDeamonScript`
|
|
- Copier la bibliotèque `DungeaonAndDeamonScript --> DungeonAndDemaonScript --> linux --> bin --> DungeonAndDeamon.so` dans le dossier `DungeonAndDeamon --> bin --> X11`
|
|
- Executer le fichier `DungeonAndDaemonX11.x86_64`
|
|
## Architecture
|
|
```markdown
|
|
\DUNGEONANDDEAMON
|
|
| .gitignore
|
|
| README.md
|
|
|
|
|
+---DungeonAndDeamon `Contient le projet Godot`
|
|
| +---.import
|
|
| +---.script
|
|
| | DungeonAndDeamonScript.dll
|
|
| | DungeonAndDeamonScript.ilk
|
|
| | DungeonAndDeamonScript.pdb
|
|
| |
|
|
| +---Background `Contient les sprites du fond du terrain`
|
|
| +---bin `Contient les éxécutables`
|
|
| | +---win `Contient les éxécutable Windows`
|
|
| | | DungeonAndDaemonWin.exe
|
|
| | | DungeonAndDaemonWin.pck
|
|
| | | DungeonAndDeamonScript.dll
|
|
| | |
|
|
| | \---x11 `Contient les éxécutables Linux`
|
|
| | DungeonAndDaemonX11.pck
|
|
| | DungeonAndDaemonX11.x86_64
|
|
| | DungeonAndDeamon.so
|
|
| |
|
|
| +---Character `Contient les sprites des entités`
|
|
| | +---Fire Elemental Sprite Sheet `Contient les sprites du mob "Fire"`
|
|
| | \---Hero Knight `Contient les sprites du joueur`
|
|
| \---script
|
|
| groundtileset.tres
|
|
| mapset.tscn
|
|
| Node2D.tscn
|
|
| Player.gdns
|
|
|
|
|
+---DungeonAndDeamonScript `Contient le script pour godot (Projet C++)`
|
|
| | DungeonAndDeamonScript.sln
|
|
| | makefile
|
|
| |
|
|
| \---DungeonAndDemaonScript `Contient les sources`
|
|
| | Bullet.cpp
|
|
| | Bullet.h
|
|
| | DungeonAndDemaonScript.vcxproj
|
|
| | DungeonAndDemaonScript.vcxproj.filters
|
|
| | DungeonAndDemaonScript.vcxproj.user
|
|
| | Entite.cpp
|
|
| | Entite.h
|
|
| | Equipement.cpp
|
|
| | Equipement.h
|
|
| | GestionCollision.cpp
|
|
| | GestionCollision.h
|
|
| | GestionIdentifiant.cpp
|
|
| | GestionIdentifiant.h
|
|
| | GestionItem.cpp
|
|
| | GestionItem.h
|
|
| | GestionJeu.cpp
|
|
| | GestionJeu.h
|
|
| | GestionMobs.cpp
|
|
| | GestionMobs.h
|
|
| | GestionPlayer.cpp
|
|
| | GestionPlayer.h
|
|
| | GestionTerrain.cpp
|
|
| | GestionTerrain.h
|
|
| | GodotLibrary.cpp
|
|
| | Item.cpp
|
|
| | Item.h
|
|
| | Loot.cpp
|
|
| | Loot.h
|
|
| | Mobs.cpp
|
|
| | Mobs.h
|
|
| | MobsAgressif.cpp
|
|
| | MobsAgressif.h
|
|
| | MobsCorpACorp.cpp
|
|
| | MobsCorpACorp.h
|
|
| | MobsCorpACorpIA.cpp
|
|
| | MobsCorpACorpIA.h
|
|
| | MobsDistance.cpp
|
|
| | MobsDistance.h
|
|
| | MobsDistanceIA.cpp
|
|
| | MobsDistanceIA.h
|
|
| | MobsIA.cpp
|
|
| | MobsIA.h
|
|
| | MobsPassif.cpp
|
|
| | MobsPassif.h
|
|
| | Mur.cpp
|
|
| | Mur.h
|
|
| | Piece.cpp
|
|
| | Piece.h
|
|
| | Player.cpp
|
|
| | Player.h
|
|
| | Root.cpp
|
|
| | Root.h
|
|
| | Sol.cpp
|
|
| | Sol.h
|
|
| | SolSolide.cpp
|
|
| | SolSolide.h
|
|
| | SolTraversable.cpp
|
|
| | SolTraversable.h
|
|
| | Terrain.cpp
|
|
| | Terrain.h
|
|
|
|
|
+---GodoBinding `Contient les librairies godot pour la compilation`
|
|
| +---godot_headers
|
|
| +---include
|
|
| | +---core
|
|
| | \---gen
|
|
| \---lib
|
|
\---UML `Continet les ressources UMLs`
|
|
```
|
|
## Nos Ressources
|
|
### Godot
|
|
#### Pourquoi ?
|
|
Nous avons choissi [Godot](https://godotengine.org/) pour son aspect MultiPlatforme, compatible Windows, Linux, Android, IOS, MacOS, etc. . Il permet une bascule simple entre divers environements.
|
|
De plus il est sous licence Libre et totalement Open Source, ce qui permet une redistribution extrement simplifiée.
|
|
#### Nos Compromis
|
|
Godot gère beaucoup de choses. Les collisions, etc. . Neamoins, nous avons fait le choix de ne pas profiter de ces fonctionnalité de manière a ne pas trop faciliter le travail. Nous ne l'utiliserons plus dans un concept de Librairie plutot que de partie principale. Il contient notre main, gère l'affichage, et son travail s'arretera là pour nous.
|
|
### VisualStudio / Resharper
|
|
Notre IDE sera [VisualStudio](https://visualstudio.microsoft.com/fr/) développer par Microsoft. Avec l'add-on [Resharper](https://www.jetbrains.com/fr-fr/resharper/) de JetBrains permettant une assistance plus poussé sur le code.
|
|
### PlantUML
|
|
[PlantUML](https://plantuml.com/fr/) est un logiciel gratuit et openSource fonctionnant avec [Graphviz](https://www.graphviz.org/) et permettant la creation d'UML de façon simple, rapide, et efficace.
|
|
### SublimeMerge / Forge
|
|
Notre projet sera stocké sur la [Forge](https://forge.univ-lyon1.fr/tplifap4/dungeonanddeamon) de l'Université, et nous utiliserons pour Client GIT le client gratuit et OpenSource [Sublime Merge](https://www.sublimemerge.com/). |