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}
|
||||
|
||||
\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}
|
||||
|
||||
\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é.
|
||||
|
|