Délistification du cahier des charges
This commit is contained in:
parent
f773e2631a
commit
bc8a8f1186
|
@ -1,96 +1,84 @@
|
||||||
\chapter{Introduction}
|
\chapter{Introduction}
|
||||||
|
|
||||||
\section {Généralités}
|
Dans le cadre du module Projet C.M.I. du second semestre de L1,
|
||||||
|
|
||||||
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 ».
|
nous avons développé en équipe un jeu vidéo nommé « Skizzle ».
|
||||||
Notre groupe est composé de trois personnes, Mattéo Delabre, Maëlle Beuret
|
Notre groupe est composé de trois personnes~: Maëlle \textsc{Beuret},
|
||||||
et Rémi Cérès.
|
Rémi \textsc{Cérès} et Mattéo \textsc{Delabre}.
|
||||||
|
|
||||||
L'objectif principal de ce projet est la création d'un jeu vidéo fonctionnel. Le jeu utilise les bases d'algorithmique apprises au premier semestre ainsi que nos connaissances et
|
L'objectif de ce projet est la création d'un jeu vidéo fonctionnel.
|
||||||
recherches personnelles.\\
|
Le jeu mobilise les bases d'algorithmique apprises au premier semestre ainsi
|
||||||
La création de ce jeu nous a permis d'acquérir des notions de gestion de projet, ainsi que le travail en collaboration et l'apprentissage de la
|
que nos connaissances et recherches personnelles. La création de ce jeu nous
|
||||||
communication au sein d'une équipe.
|
a permis de renforcer nos capacités de travail en collaboration, en
|
||||||
\\
|
communication et en gestion de projet en général.
|
||||||
|
|
||||||
Le développement du projet s'est déroulé sur une période d'un mois et une semaine,
|
Le développement du projet s'est déroulé sur une période d'un mois
|
||||||
soit du vendredi 4 mars 2016 au lundi 11 avril 2016 inclus.\\
|
et une semaine~: du vendredi 4 mars 2016 au lundi 11 avril 2016 inclus.
|
||||||
Chaque vendredi,
|
Chaque vendredi, lors de la séance de trois heures consacrée au projet,
|
||||||
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.
|
les trois membres de l'équipe se réunissent pour résumer le travail effectué
|
||||||
Une répartition des tâches et des objectifs
|
la semaine passée et planifier celui de la semaine à venir.
|
||||||
à atteindre pour la semaine suivante étaient déterminés. De plus, durant la semaine nous avons communiqué afin de faciliter l'organisation, de nous coordonner et de nous entraider.\\
|
|
||||||
|
|
||||||
|
\section{Choix du jeu}
|
||||||
|
|
||||||
\section {Sujet}
|
Nous avons d'abord réalisé une étude comparative entre trois jeux
|
||||||
Le projet a pour sujet la réalisation d'un jeu vidéo
|
vidéos possibles. Pour ces jeux vidéos, le choix était libre. Notre choix
|
||||||
fonctionnel en groupe ou en individuel.\\
|
s'est porté sur un jeu avec un principe original inspiré des jeux de
|
||||||
Le choix du jeu et du langage de programmation est libre; cela peut être une création ou bien un jeu existant.\\
|
plates-formes, de coopération et de réflexion. Nous l'avons appelé
|
||||||
|
« Skizzle », à mi-chemin entre l'anglais \emph{skill} et \emph{puzzle.}
|
||||||
|
|
||||||
Notre choix s'est porté sur un jeu avec un principe original inspiré des jeux de
|
Le jeu se joue à deux joueurs. Chaque joueur est affecté à une balle qu'il
|
||||||
plates-formes, de coopération et de réflexion. Nous l'avons appelé "Skizzle".\\
|
contrôle par le clavier. Le but est pour ces joueurs de faire traverser leur
|
||||||
|
balle à travers des niveaux prédéfinis. Pour ce faire, les joueurs doivent
|
||||||
|
utiliser différents phénomènes physiques et constructions mises en place
|
||||||
|
à la fois dans le niveau et dans le moteur physique du jeu.
|
||||||
|
|
||||||
Il s’agit pour deux joueurs de faire traverser deux
|
Les niveaux se présentent sous la forme de casse-têtes courts à difficulté
|
||||||
balles à travers un niveau.
|
progressive. Les deux joueurs doivent souvent réfléchir et s'entraider
|
||||||
La conception du jeu s’appuie sur des éléments physiques pour proposer des
|
pour pouvoir parvenir à la fin. Ce n'est que lorsque les deux joueurs
|
||||||
niveaux sous forme de casse-têtes, dans lesquels les deux participants doivent
|
franchissent la ligne d'arrivée que la partie est gagnée.
|
||||||
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.
|
|
||||||
\section{Cahier des charges}
|
\section{Cahier des charges}
|
||||||
|
|
||||||
|
Le jeu doit fonctionner sur tous les systèmes courants (Linux, OS X, Windows).
|
||||||
|
À l'ouverture du jeu, un menu doit permettre d'orienter le joueur vers
|
||||||
|
les différents états de jeu disponibles, notamment le jeu ou l'éditeur.
|
||||||
|
Avant d'ouvrir le jeu, on doit pouvoir choisir le niveau à jouer. Avant
|
||||||
|
d'ouvrir l'éditeur, on doit pouvoir choisir le niveau à éditer ou si l'on
|
||||||
|
veut créer un nouveau niveau.
|
||||||
|
|
||||||
\subsection{Généralités}
|
Le jeu se joue à deux joueurs qui incarnent chacun une balle contrôlable au clavier.
|
||||||
|
Une partie doit se présenter sous la forme d'un niveau où les joueurs
|
||||||
|
ont une position initiale et une position à atteindre pour gagner.
|
||||||
|
Chaque partie est limitée en temps. La durée limite est définie selon le niveau.
|
||||||
|
|
||||||
\begin{itemize}
|
Les mécanismes physiques à implémenter sont la force d'attraction chargée
|
||||||
\item \textbf{Fonctionnalités}
|
(coulombienne), la force de gravité, les forces de frottement et les
|
||||||
\begin{itemize}
|
collisions entre objets. La force de gravité est appliquée selon un vecteur
|
||||||
\item Divertir et faire réfléchir les utilisateurs.
|
de norme constante mais de direction et sens modifiables selon les
|
||||||
\item Multi-plateformes (Linux, OS X, Windows).
|
conditions du niveau.
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\item \textbf{Contraintes}
|
La caméra des joueurs doit être centrée sur la position intermédiaire
|
||||||
\begin{itemize}
|
des deux joueurs et doit s'orienter dans la direction inverse
|
||||||
\item Interface pas adaptée au tactile.
|
de la direction actuelle de la gravité, en tout temps.
|
||||||
\item Présence de deux joueurs.
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\subsection{Menu}
|
Chaque niveau est composé d'objets. Chaque objet possède une masse,
|
||||||
|
un coefficient de frottement statique et dynamique, un coefficient
|
||||||
|
de restitution, une charge, une position, une vitesse et un calque d'affichage
|
||||||
|
(couche). Un objet est soit une balle d'un joueur soit un bloc. Un bloc
|
||||||
|
peut être neutre ou posséder une particularité.
|
||||||
|
Les blocs particuliers sont définis complètement dans la section
|
||||||
|
\ref{sec:manuel-objets}.
|
||||||
|
|
||||||
\begin{itemize}
|
Dans chaque niveau est définie une zone de jeu. Cette zone est un polygone
|
||||||
\item Permet à l'utilisateur de choisir son mode de jeu (éditer/jouer).
|
contrôlé par un nombre arbitraire de points. Si un objet avec une masse
|
||||||
\item Permet d'afficher la liste des niveaux de manière dynamique et automatique.
|
non-infinie se trouve en dehors de cette zone (notamment un joueur
|
||||||
\item Possibilité d'utiliser aussi bien la souris que le clavier.
|
ou bien un bloc déplaçable), il doit être immédiatement tué. S'il s'agissait
|
||||||
\end{itemize}
|
d'un joueur, la partie se termine.
|
||||||
|
|
||||||
\subsection{Moteur physique}
|
Les niveaux doivent être éditables par un éditeur. L'éditeur permet
|
||||||
|
de créer un nouveau niveau ou d'éditer un niveau existant. Il permet
|
||||||
\begin{itemize}
|
de placer des objets prédéfinis sélectionables depuis la barre d'outils.
|
||||||
\item Gestion de la force d'attraction.
|
Il permet notamment de situer les positions initiales des joueurs
|
||||||
\item Gestion de la force de gravité.
|
et du(des) bloc(s) d'arrivée. On doit pouvoir modifier la polarité des objets
|
||||||
\item Gestion des forces de frottement.
|
depuis l'éditeur. Le niveau modifié doit pouvoir être sauvegardé. On doit
|
||||||
\item Gestion des collisions.
|
pouvoir tester le niveau en cours d'édition depuis l'éditeur sans perdre
|
||||||
\end{itemize}
|
son travail. On doit pouvoir modifier la taille de la zone de jeu.
|
||||||
|
|
||||||
\subsection{É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}
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ Les touches \fbox{$\longleftarrow$} et \fbox{Échap} permettent de revenir
|
||||||
au menu précédent.
|
au menu précédent.
|
||||||
|
|
||||||
\section{Objets}
|
\section{Objets}
|
||||||
|
\label{sec:manuel-objets}
|
||||||
\newcommand{\objectsymbol}[1]{
|
\newcommand{\objectsymbol}[1]{
|
||||||
\includegraphics[width=23px]{figures/manuel-#1.png}
|
\includegraphics[width=23px]{figures/manuel-#1.png}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,11 @@
|
||||||
howpublished = "\url{http://goo.gl/G0gdWU}"
|
howpublished = "\url{http://goo.gl/G0gdWU}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@online{analyse-box2d,
|
||||||
|
author = "Erin Catto",
|
||||||
|
title = "Box2D : A 2D Physics Engine for Games",
|
||||||
|
howpublished = "\url{http://goo.gl/uTnXH4}"
|
||||||
|
}
|
||||||
|
|
||||||
@online{ptf-Resource-Acquisition,
|
@online{ptf-Resource-Acquisition,
|
||||||
author = "tomdalling",
|
author = "tomdalling",
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue