tnicolas42 / bomberman Goto Github PK
View Code? Open in Web Editor NEW3d remake of the classic game Bomberman in C++ with OpenGL.
Home Page: https://tnicolas42.github.io/bomberman
License: MIT License
3d remake of the classic game Bomberman in C++ with OpenGL.
Home Page: https://tnicolas42.github.io/bomberman
License: MIT License
float getAnimProgress();
setAnimProgress(float progress); // progress 0 -> 1
float getAnimTime();
setAnimTime();
float getAnimDuration();
bool loopAnimation;
we need to add a setWinSize function in TextRender.
This function update the projection matrix.
A class to play music and 2D sound.
ajouter un score sur le jeu.
Many player want to edit the camera fov, we can add slider to the settings for that.
Need to wait Camera modification related to issue #5
add options in UI element to:
quand on resize la fenetre, les boutons ne sont plus bien placés...
Pour resoudre ca il faudrais:
%
au lieu de pixel
%
The main class containing all the scenes of the project.
struct Transform {
vec3 pos;
vec3 rot;
vec3 scale;
}
> valgrind ./bomberman
==13304== Memcheck, a memory error detector
==13304== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==13304== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==13304== Command: ./bomberman
==13304==
[INFO]: create gui
[INFO]: Audio loaded.
[INFO]: exit game
[INFO]: exit SDL
==13304==
==13304== HEAP SUMMARY:
==13304== in use at exit: 240,420 bytes in 1,397 blocks
==13304== total heap usage: 50,361 allocs, 48,964 frees, 1,074,875,793 bytes allocated
==13304==
==13304== LEAK SUMMARY:
==13304== definitely lost: 6,961 bytes in 7 blocks
==13304== indirectly lost: 82,562 bytes in 474 blocks
==13304== possibly lost: 0 bytes in 0 blocks
==13304== still reachable: 150,897 bytes in 916 blocks
==13304== suppressed: 0 bytes in 0 blocks
==13304== Rerun with --leak-check=full to see details of leaked memory
==13304==
==13304== For counts of detected and suppressed errors, rerun with: -v
==13304== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1)
we can add docs in utils functions
Il faut qu'un de vous corrige la compilation linux et l'ajoute a travis (une ligne a decommenter dans .travis.yml
).
add make in travis (in OSX & linux).
add travis info on readme.
cree des bonus qui augmentes les stats des player.
Les bonus arrivent quand on detruit des mur.
Bonus:
we need to create the scene loader in the SceneManger.
cree un raccourcis (F1 ?) qui permet de voir a coté de chaque bouton, la touche qui lui correspond
Project is not compiling on linux.
implementer un nouveau systeme d'AI:
In the main menu do escape
(you are on exit menu) escape
(you are on main menu) and the button is in pressed color.
create the main menu and the level selection menu
create the level loader in SceneGame
il faut que les players pluissent automatiquement tourner quand ils ont juste une petite collision avec un mur
sometime InputType::Enum::CONFIRM
is not detected
Ajouter des shortcuts dans les settings.
!!!
faut faire attention, a la page de changement de raccourcis clavier
La collision (click et mousehover) des boutons est décalée selon la résolution en fullscreen seulement.
Pas de problème en 1600x900, mais décalage important en 1920x1080.
Fullscreen will be enabled with #9
pour le moment, le linter ne tourne pas sur travis.
A la lecture d'un fichier json, les doubles qui n'ont pas de valeur decimale émettent un warning:
{
"audio": {
"Master volume": 1,
"Music volume": 0.9,
"Sound volume": 0.9
},
}
Au runtime:
[WARN][srcs/utils/SettingsJson.cpp 132]: invalid setting type or name: Master volume
use doxygen.
can generate html using this.
Class to manage an animated 3d model, loading data from 3d file like fbx, rendering the model, allow to easy chose and change the animation (id, speed, play/pause, ...)
il faut creee le dossier config au runtime (dans le main ou dans SettingsJson)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.