Coder Social home page Coder Social logo

tnicolas42 / bomberman Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 0.0 68.64 MB

3d remake of the classic game Bomberman in C++ with OpenGL.

Home Page: https://tnicolas42.github.io/bomberman

License: MIT License

Makefile 2.54% C++ 95.26% GLSL 1.75% Shell 0.38% HTML 0.07%

bomberman's People

Contributors

ebaudet avatar guilhemsmith avatar tnicolas42 avatar zer0nim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bomberman's Issues

Add functions to control model animation

float getAnimProgress();
setAnimProgress(float progress); // progress 0 -> 1

float getAnimTime();
setAnimTime();

float getAnimDuration();

bool loopAnimation;

add a score

ajouter un score sur le jeu.

  • points en fonction du temps de jeu ?
  • points en fonction du nombre d'AI tués ?

make fov editable in settings

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 option in ABaseUI

add options in UI element to:

  • enable / disable element
  • disable all "buttons" functionnality for simple images or rectangle

Game basis

  • player hit by fire
  • 3 sec of indestructibility for each life

wrong calculation of dtTime

@ebaudet in your update function, you calculate dtTime foreach update call. So the dtTime is not the same

I think we need to calculate dtTime once and send it to Game::update (for now, we send last_loop_ms)

before doing this, we need to wait #8

set clean screen resize screen with buttons

quand on resize la fenetre, les boutons ne sont plus bien placés...
Pour resoudre ca il faudrais:

  • passer les parametres de boutons en % au lieu de pixel
  • refaire tout les menus pour qu'ils soient adapté au system de %

Memory leaks on main menu.

> 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)

add bonuses in game

cree des bonus qui augmentes les stats des player.

Les bonus arrivent quand on detruit des mur.

Bonus:

  • augmenter la vitesse
  • augmenter le nombre de bombes
  • shield
  • augmenter la distance de propagation des bombes
  • ...

Settings ingame

To be done after issue #8 and #7

Scene to modify the following settings:

  • Change screen resolution.
  • Set fullscreen or windowed.
  • Music and sound volume.

IA more powerfull

implementer un nouveau systeme d'AI:

  • une class par AI (qui heritent de la meme class de base)
  • cree un descriptif de qui peut apparaitre dans un monde
  • gestion de pattern (cree des patern qui serons implementés dans les class d'AI) ?

buttons click bug

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 menus

create the main menu and the level selection menu

create the level loader in SceneGame

turn correction

il faut que les players pluissent automatiquement tourner quand ils ont juste une petite collision avec un mur

add shortcuts in settings

Ajouter des shortcuts dans les settings.

!!! faut faire attention, a la page de changement de raccourcis clavier

Buttons collision offset on fullscreen.

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

JsonSettings emit warning for valid settings

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

Reach End of level

  • The end does not block the hero in collision.
  • Permet to terminate the level
    • store level as finished
    • show the wining scene and allow to pass to next level.

Class to load and draw fbx animations

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, ...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.