ajout au rapport final des paties introduction et manuel
After Width: | Height: | Size: 358 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 358 KiB |
After Width: | Height: | Size: 350 KiB |
|
@ -1 +1,97 @@
|
||||||
\chapter{Introduction}
|
\chapter{Introduction}
|
||||||
|
|
||||||
|
\subsection {Généralités}
|
||||||
|
Dans le cadre du module Projet C.M.I du second semestre de licence 1,
|
||||||
|
nous avons développé en équipe un jeu vidéo nommé "Skizzle".
|
||||||
|
Notre équipe est composée de trois personnes, Mattéo Delabre, Maëlle Beuret
|
||||||
|
et Rémi Cérès.
|
||||||
|
\\
|
||||||
|
|
||||||
|
L'objectif principal de ce projet est la création d'un jeu vidéo fonctionnel. Le jeu utilise les bases d'algorithmies apprises au premier semestre ainsi que nos connaissances et
|
||||||
|
recherches personnelles.\\
|
||||||
|
La création de ce jeu nous a permis d'acquérir des notions de la gestion de projet, ainsi que le travail en collaboration et l'apprentissage de la
|
||||||
|
communication au sein d'une équipe.
|
||||||
|
\\
|
||||||
|
|
||||||
|
Le développement du projet s'est déroulé sur une période d'un mois et une semaine,
|
||||||
|
soit du vendredi 4 mars 2016 au lundi 11 avril 2016 inclus.\\
|
||||||
|
Chaque vendredi,
|
||||||
|
lors de la séance de trois heures consacrée au projet C.M.I, un point était réalisé avec chaque membre de l'équipe.
|
||||||
|
Une repartition des tâches et des objectifs
|
||||||
|
à atteindre pour la semaine suivante étaient détérminés. De plus, durant la semaine nous avons communiqué afin de faciliter l'organisation, de nous coordonner et de nous entraider.\\
|
||||||
|
|
||||||
|
Les séances de C.M.I nous ont permises de résoudre les problèmes rencontrés.
|
||||||
|
|
||||||
|
\subsection {Sujet}
|
||||||
|
Le projet a pour sujet la réalisation d'un jeu vidéo
|
||||||
|
fonctionnel en groupe ou en individuel.\\
|
||||||
|
Le choix du jeu et du langage de programmation est libre; cela peut être une création ou bien un jeu existant.\\
|
||||||
|
|
||||||
|
Notre choix s'est porté sur un jeu avec un principe original inspiré des jeux de
|
||||||
|
plate-forme, de coopération et de réflexion. Nous l'avons appelé "Skizzle".\\
|
||||||
|
|
||||||
|
Il s’agit pour deux joueurs de faire traverser deux
|
||||||
|
balles à travers un niveau.
|
||||||
|
La conception du jeu s’appuie sur des éléments physiques pour proposer des
|
||||||
|
niveaux sous forme de casse-têtes, dans lesquels les deux participants doivent
|
||||||
|
s’entraider et réfléchir pour parvenir à la fin.
|
||||||
|
|
||||||
|
%Skizzle est constitué d'une suite de niveaux dont le but est de tous les
|
||||||
|
%terminer. Chaque niveaux est composé de bloc pouvant avoir des interaction avec
|
||||||
|
%les balle ou sur la physique du jeu, comme par exemple modifié le sens de
|
||||||
|
%la gravité.\\
|
||||||
|
%Le ou les deux joueurs contrôle chacun une balle qu'ils peuvent uniquement
|
||||||
|
%déplacer vers la droite et la gauche de l'écran. Tous les élément du jeux,
|
||||||
|
%c'est a dire les blocs et les balles peuvent être aimantés.\\
|
||||||
|
%
|
||||||
|
%Dans chaque niveaux le ou les joueurs doivent réfléchir et d’entraidé en
|
||||||
|
%s’appuyant sur les différentes interaction possible avec la physique du jeu
|
||||||
|
%pour parvenir a la fin.
|
||||||
|
\subsection {Cahiers des charges}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Généralités}
|
||||||
|
|
||||||
|
Fonctionalités
|
||||||
|
\begin {itemize}
|
||||||
|
\item Divertir et faire réfléchir les utilisateurs,
|
||||||
|
\item Multi-plateformes (Linux, OS X, Windows).
|
||||||
|
\end {itemize}
|
||||||
|
Contraintes
|
||||||
|
\begin{itemize}
|
||||||
|
\item Interface pas adaptée au tactile,
|
||||||
|
\item Présence de deux joueurs.
|
||||||
|
\end {itemize}
|
||||||
|
|
||||||
|
\subsubsection {Menu}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Permet à l'utilisateur de choisir son mode de jeu (éditer/jouer),
|
||||||
|
\item Permet d'afficher la liste des niveaux de maniere dynamique et automatique,
|
||||||
|
\item Possibilité d'utiliser aussi bien la souris que le clavier.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Moteur physique}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Gestion de la force d'interaction coulombienne,
|
||||||
|
\item Gestion de la force de gravité,
|
||||||
|
\item Gestion de la force de frottement,
|
||||||
|
\item Gestion de la force de réaction et de collision.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection {Éditeur}
|
||||||
|
|
||||||
|
\begin {itemize}
|
||||||
|
\item Permet de créer un niveau,
|
||||||
|
\item Permet de modifier un niveau existant,
|
||||||
|
\item Permet de placer tous les types d'objets,
|
||||||
|
\item Permet de placer la position initiale des joueurs,
|
||||||
|
\item Permet de modifier la polarité des objets,
|
||||||
|
\item Permet de sauvegarder un niveau modifié ou créé,
|
||||||
|
\item Permet de tester le niveau créé directement dans l'éditeur,
|
||||||
|
\item Permet de modifier la taille et la forme de la zone jouable.
|
||||||
|
\end {itemize}
|
||||||
|
|
|
@ -1 +1,191 @@
|
||||||
\chapter{Manuel d'utilisation}
|
\chapter{Manuel d'utilisation}
|
||||||
|
|
||||||
|
\subsection {Principe}
|
||||||
|
Deux joueurs doivent s'entraider pour faire avancer leur balle à travers
|
||||||
|
des niveaux. Pour cela les joueurs exploitent différents mécanismes
|
||||||
|
physiques.
|
||||||
|
\\
|
||||||
|
|
||||||
|
Le jeu est constitué de niveaux, chaque niveau
|
||||||
|
étant représentés par une grille de blocs en deux dimensions. Les blocs interagissent
|
||||||
|
avec les balles et la physique du jeu comme défini dans les sections \ref{OB}.
|
||||||
|
\\
|
||||||
|
|
||||||
|
Les joueurs valident un niveau en faisant parvenir leurs
|
||||||
|
balles sur un bloc d'arrivée. Ils terminent ainsi le niveau, le but étant de tous
|
||||||
|
les achever.
|
||||||
|
|
||||||
|
\subsection {Menu de sélection}
|
||||||
|
|
||||||
|
\subsubsection{Menu principal}
|
||||||
|
|
||||||
|
Au lancement du jeu le menu principal apparait :
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure} [h]
|
||||||
|
\centerline {\includegraphics[width=13cm]{figures/menu_principale.png}}
|
||||||
|
\caption {Menu principal}
|
||||||
|
\label {fig:MP}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\noindent Ce menu [\ref{fig:MP}] se compose de quatre boutons:\\
|
||||||
|
\begin {itemize}
|
||||||
|
\item \bf Le bouton jouer [\ref{fig:MJ}]\\
|
||||||
|
\end {itemize}
|
||||||
|
|
||||||
|
Il permet d'accéder au menu de sélection des niveaux
|
||||||
|
|
||||||
|
|
||||||
|
%\item règles du jeu : affiche les règles du jeu.
|
||||||
|
%\item Éditeur : permet de crée un nouveau niveau ou de modifier un niveau existant.
|
||||||
|
%\item Quitter : permet de quitter le jeu.\\
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\begin{figure} [!h]
|
||||||
|
\centerline {\includegraphics[width=13cm]{figures/menu_jouer.png}}
|
||||||
|
\caption {Menu jouer}
|
||||||
|
\label {fig:MJ}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\noindent Ce menu [\ref{fig:MJ}] se compose de deux types de boutons : les boutons niveaux permettent aux joueurs de choisir un espace de jeu et
|
||||||
|
le bouton retour de revenir vers le menu principal [\ref{fig:MP}].\\
|
||||||
|
|
||||||
|
\begin {itemize}
|
||||||
|
\item \bf Le bouton règles du jeu.
|
||||||
|
\end {itemize}
|
||||||
|
|
||||||
|
Ce bouton affiche les règles du jeu.
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
|
||||||
|
\begin {itemize}
|
||||||
|
\item \bf Le bouton éditeur.
|
||||||
|
\end {itemize}
|
||||||
|
|
||||||
|
Ce bouton permet de créer un nouveau niveau ou de modifier un niveau existant.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\begin{figure} [!h]
|
||||||
|
\centerline {\includegraphics[width=13cm]{figures/menu_editeur.png}}
|
||||||
|
\caption {Menu éditeur}
|
||||||
|
\label {fig:ME}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\noindent Ce menu [\ref{fig:ME}] se compose de trois types de boutons : Créer un nouveau niveau, éditer un niveau existant,
|
||||||
|
et retour qui renvoie vers le menu principal [\ref{fig:MP}].\\
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\noindent Les touches \Touche{$\uparrow$} , \Touche{$\downarrow$} ou
|
||||||
|
le passage de la souris sur un des boutons permettent la séléction d'un élément du menu.
|
||||||
|
le bouton sélectionné se souligne.\\
|
||||||
|
|
||||||
|
\noindent La touche \Touche{Enter} ou un clic avec la souris permettent de valider le choix.\\
|
||||||
|
|
||||||
|
\noindent Les touches \Touche{Backspace} et \Touche{Echap} permettent de revenir au menu précédent. \\
|
||||||
|
|
||||||
|
\subsection {Objets}
|
||||||
|
|
||||||
|
\label {OB}
|
||||||
|
|
||||||
|
\subsubsection{Balles}
|
||||||
|
|
||||||
|
\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/ball_1.png}} Les balles sont controlées par les joueurs. \\
|
||||||
|
|
||||||
|
\subsubsection{Polarité}
|
||||||
|
|
||||||
|
\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_blue.png}} Les objets de couleurs bleus repoussent tous ceux de la même couleur et attirent les objets de couleurs rouges. \\
|
||||||
|
|
||||||
|
\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_red.png}} Les objets de couleurs rouges repoussent tous ceux de la même couleur et attirent les objets de couleurs bleus. \\
|
||||||
|
|
||||||
|
\subsubsection{Blocs}
|
||||||
|
|
||||||
|
\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/block.png}} Le bloc de base ne réalise aucune action particulière. \\
|
||||||
|
|
||||||
|
\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_caisse.png}} La caisse est un bloc qui peut être poussé. \\
|
||||||
|
|
||||||
|
\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_gravity_south.png}} Le bloc de gravité modifie le sens de la gravité lorsqu'un joueur ou une caisse rentre en collision avec lui. \\
|
||||||
|
|
||||||
|
\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_polarity.png}} Le bloc inverseur de polarité inverse la polarité de la balle qui rentre en collision avec lui. \\
|
||||||
|
|
||||||
|
\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_dead.png}} Le bloc de mort fait perdre la partie si un des deux joueurs rentrent en collision avec lui. \\
|
||||||
|
|
||||||
|
\noindent \raisebox{-.3\height}{\includegraphics[width=23px]{figures/block_end_2.png}} Le bloc d'arrivée fait gagner le joueur qui rentre en collision avec lui. \\
|
||||||
|
|
||||||
|
|
||||||
|
\subsection {Jeux}
|
||||||
|
|
||||||
|
\label {joué}
|
||||||
|
|
||||||
|
Les joueurs ne peuvent déplacer leurs balles que vers la gauche ou la droite.\\
|
||||||
|
Le joueur 1 utilise \Touche{$\rightarrow$} pour se déplacer vers la droite et \Touche{$\leftarrow$} pour se déplacer vers la gauche.\\
|
||||||
|
Le joueur 2 utilise \Touche{D} pour se déplacer vers la droite et \Touche{Q} pour se déplacer vers la gauche.\\
|
||||||
|
|
||||||
|
Les joueurs peuvent mettre le jeu en pause avec la touche \Touche{Échap}, ou bien quitter le niveau en appuyant sur \Touche{Espace}.
|
||||||
|
|
||||||
|
Un joueur peut mourrir de deux façons; soit en rentrant en collision avec un bloc de mort \raisebox{-.4\height}{\includegraphics[width=15px]{figures/block_dead.png}} soit en sortant de la zone jouable.\\
|
||||||
|
\\
|
||||||
|
|
||||||
|
\subsection {Editeur}
|
||||||
|
|
||||||
|
\begin{figure} [!h]
|
||||||
|
\centerline {\includegraphics[width=13cm]{figures/editeur.png}}
|
||||||
|
\caption {Éditeur}
|
||||||
|
\label {fig:ED}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsubsection {Gestion des objets}
|
||||||
|
|
||||||
|
La séléction de l'objet s'éffectue dans la barre latérale droite de la fenêtre à l'aide de la souris. [\ref{fig:ED}] \\
|
||||||
|
Un clic avec le bouton gauche de la souris permet de le placer sur un zone libre.
|
||||||
|
Le maintien du clic gauche permet de placer plusieurs objets à la fois.\\
|
||||||
|
|
||||||
|
Pour modifier la polarité d'un objet, le curseur doit être placé sur celui-ci. La touche \Touche{Ctrl} doit être enfoncée tout en faisant glisser la mollette de la souris, ou bien en faisant glisser deux doigts sur le pavé tactile vers le haut ou le bas. \\
|
||||||
|
\\
|
||||||
|
|
||||||
|
La selection d'un objet se fait avec la touche \Touche{Ctrl} et un clic sur celui-ci. Une multi-sélection peut être réalisée en cliquant sur plusieurs objets tout en maintenant la touche \Touche{Ctrl} enfoncée. \\
|
||||||
|
La réalisation d'une sélection rectangulaire est possible en maintenant la touche \Touche{Shift} et en faisant glisser la souris avec le clic gauche enfoncé sur la zone à sélectionner. \\
|
||||||
|
Un objet sélectionné a des bordures rouges. [\ref{fig:BBS}]\\
|
||||||
|
|
||||||
|
\begin{figure} [!h]
|
||||||
|
\centerline {\includegraphics[width=25px]{figures/block_selection.png}}
|
||||||
|
\caption {Bloc de base sélectionné}
|
||||||
|
\label {fig:BBS}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
La suppression d'un objet s'effectue en cliquant dessus avec le bouton droit de la souris.
|
||||||
|
Plusieurs objets peuvent être supprimés aprés leurs séléctions en appuyant sur la touche \Touche{Suppr}.
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection {Compte à rebours}
|
||||||
|
|
||||||
|
Le compte à rebours se situe en haut au centre de le fenêtre. Durant la partie s'il arrive à 0, les joueurs meurent et la partie est perdue.\\
|
||||||
|
|
||||||
|
La valeur du compte à rebours peut être modifiée dans l'éditeur en cliquant sur les fléches se situant à coté.
|
||||||
|
Il est également possible de placer la souris sur ce dernier en faisant glisser la mollette ou deux doigts sur le pavé tactile vers le haut ou le bas. \\
|
||||||
|
|
||||||
|
\subsubsection {Zone de jeu}
|
||||||
|
La zone jouable est représentée dans l'éditeur par un polygone rouge [\ref{fig:ED}] composé de quatre points.
|
||||||
|
Chacun de ces points peuvent être déplacés en cliquant dessus afin de modifier la taille et la forme de la zone.
|
||||||
|
|
||||||
|
\subsubsection {Gestion de la caméra}
|
||||||
|
Le déplacement de la caméra s'effectue en plaçant la souris vers une bordure de la fenêtre.
|
||||||
|
La molette de la souris peut être utilisée pour un défilement vertical ou horizontal si la touche \Touche{Shift} est enfoncée.
|
||||||
|
\\
|
||||||
|
|
||||||
|
il es possible également de faire glisser deux doigts sur le pavé tactile afin de déplacer la caméra dans la direction désirée.\\
|
||||||
|
|
||||||
|
\subsubsection {Commandes générales}
|
||||||
|
|
||||||
|
Il est possible de tester le niveau à tout moment en appuyant sur la touche \Touche{Espace}.
|
||||||
|
Pour revenir à l'édition il faut appuyer de nouveau sur \Touche{Espace}.\\
|
||||||
|
\\
|
||||||
|
|
||||||
|
Afin de sauvegarder le niveau il est necessaire de réaliser la combinaison de touches suivantes : \Touche{Ctrl} + \Touche {S}. (en mode édition).\\
|
||||||
|
\\
|
||||||
|
|
||||||
|
Pour quitter l’éditeur et revenir au menu la touche \Touche{Échap} doit être utilisé.
|
||||||
|
|