update todo list

This commit is contained in:
Sylvain PILLOT 2023-03-31 21:44:44 +02:00
parent 05d84dcb4d
commit 65c605bd96
3 changed files with 30 additions and 16 deletions

View File

@ -82,7 +82,7 @@ fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA)
add_executable(shmup ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}})
target_compile_options(shmup PRIVATE -Wall -Wextra -Os -std=c++20)
target_link_options(shmup PRIVATE -Wl,-Map=Build_Addin.map -Wl,--print-memory-usage -fpermissive)
target_link_options(shmup PRIVATE -Wl,-Map=Build_Addin.map -Wl,--print-memory-usage -fno-use-cxa-atexit -fpermissive)
target_link_libraries(shmup Azur::Azur -lnum LibProf::LibProf Gint::Gint -lstdc++)
if("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50)

View File

@ -11,22 +11,38 @@ The SHMUP Todo list :
- interaction avec le décors (collisions possibles avec certaines tiles) qui imposent donc de suivre un "chemin" dans le niveau
- multiple layers de tiles pour avoir des niveaux plus beaux
Partie mouvement :
# Partie mouvement :
- améliorer le système de trajectoires sur base de Splines pour rendre la vitesse des ennemis plus constante.
- rendre les satellites sur une trajectoire (possibilité d'avoir des patterns plus complexes)
- possibilité de transformer les trajectoires (grossissement/rétrécissement, translation et rotation)
Partie interaction / gameplay :
# Partie interaction / gameplay :
- implémenter les tirs ennemis (avec une IA minimale)
- implémenter les hits des tirs ennemis sur le joueur
- implémenter les collisions avec les ennemies
- implémenter les collisions de bullets avec les satellites pour que ceux-ci perdent de la vie aussi
- implémenter le tir des satellites
- implémenter un système de bonus (points, upgrade tir/satellites/... )
Autres :
# Bosses
- Créer des bosses avec différentes zones, mobiles les unes par rapport aux autres
- Créer des hitboxes pour chacune des zones du boss avec différentes sensibilités (par exemple le coeur/générateur = zone critique, mais mieux défendues)
- Créer des protections des certaines zones qui peuvent "sauter" (boucliers qui s'usent)
# Autres :
- plein de trucs dont boss "multi-morceaux et multi-hitboxes"
- création de différents levels
- créations de différents ennemis
- créations de différents boss
- créations de différentes armes
- créations de différents bonus
- créations de différents bonus
- création de shields pour se protéger
# Modes spéciaux
- mode menu avec différentes planètes à selectionner pour les différents niveaux
- mode hyperspace travel pour les transitions :
- sous mode : à la "tie fighter" ?
- sous mode : éviter les astéroïdes
- sous mode classique shmup horizontal
- sous mode classiqie shmup vertical

View File

@ -61,7 +61,7 @@ uint8_t texttodraw=1;
float elapsedTime = 0.0f;
uint32_t time_update=0, time_render=0;
uint32_t time_update=0, time_render=0;
prof_t perf_update, perf_render;
@ -124,11 +124,10 @@ static void update( float dt )
MyPlayer->Update( dt );
for(unsigned int i=0; i<MyImpacts.size(); i++)
{
MyImpacts[i]->Update( dt );
// Check if the property toberemoved has been set to "true" for particle deletion
if (MyImpacts[i]->toberemoved == true)
{
@ -140,7 +139,7 @@ static void update( float dt )
for(unsigned int i=0; i<MyEnemies.size(); i++)
{
MyEnemies[i]->Update( dt );
// Check if there is a collision with the current enemy
//MyPlayer->Test_Collision( MyEnemies[i] );
@ -168,7 +167,6 @@ static void update( float dt )
}
}
for(unsigned int i=0; i<MyPlayerBullets.size(); i++)
{
MyPlayerBullets[i]->Update( dt );
@ -238,7 +236,7 @@ static void render( void )
{
if (drawstars) azrp_starfield();
if (drawback) MyBackground.Render( );
for(auto& b : MyPlayerBullets)
@ -266,11 +264,11 @@ static void render( void )
if (texttodraw>=1) Azur_draw_text(1,01, "FPS = %.0f", (float) (1000000.0f / elapsedTime) );
//if (texttodraw>=1) Azur_draw_text(1,11, "Part.= %d - Bull.= %d", MyParticles.size(), MyPlayerBullets.size() );
//if (texttodraw>=1 && !MyEnemies.empty()) Azur_draw_text(1,21, "Ennmy Life= %d", MyEnemies[0]->life );
if (texttodraw>=2) Azur_draw_text(1,31, "Update = %.3f ms", (float) time_update / 1000.0f );
if (texttodraw>=2) Azur_draw_text(1,41, "Render = %.3f ms", (float) time_render / 1000.0f );
if (texttodraw>=2) Azur_draw_text(1,51, ">Total = %.0f ms", (float) elapsedTime / 1000.0f );
if (texttodraw>=3) Azur_draw_text(1,81, "Mem Used : %d", _uram_stats->used_memory + extram_stats->used_memory);
if (texttodraw>=3) Azur_draw_text(1,91, "Mem Free : %d", _uram_stats->free_memory + extram_stats->free_memory);
if (texttodraw>=3) Azur_draw_text(1,101, "Mem Peak Used : %d", _uram_stats->peak_used_memory + extram_stats->peak_used_memory );
@ -307,8 +305,8 @@ static void get_inputs( float dt )
if(MyKeyboard.IsKeyPressed(MYKEY_SHIFT) && MyKeyboard.IsKeyPressedEvent(MYKEY_8) && usb_is_open()) {record = true; };
if(MyKeyboard.IsKeyPressed(MYKEY_SHIFT) && MyKeyboard.IsKeyPressedEvent(MYKEY_9) && usb_is_open()) {record = false; };
if(MyKeyboard.IsKeyPressed(MYKEY_SHIFT) && MyKeyboard.IsKeyPressedEvent(MYKEY_DEL) && usb_is_open()) {textoutput = true;};
#endif
#endif
if(MyKeyboard.IsKeyPressed(MYKEY_SHIFT) && MyKeyboard.IsKeyPressedEvent(MYKEY_F1)) {texttodraw=0;}
if(MyKeyboard.IsKeyPressed(MYKEY_SHIFT) && MyKeyboard.IsKeyPressedEvent(MYKEY_F2)) {texttodraw=1;}
if(MyKeyboard.IsKeyPressed(MYKEY_SHIFT) && MyKeyboard.IsKeyPressedEvent(MYKEY_F3)) {texttodraw=2;}
@ -317,7 +315,7 @@ static void get_inputs( float dt )
{
azrp_starfield_close( );
azrp_starfield_init( 250 );
}
}
if(MyKeyboard.IsKeyPressed(MYKEY_LEFT)) { MyPlayer->Go_Left( dt ); }
if(MyKeyboard.IsKeyPressed(MYKEY_RIGHT)) { MyPlayer->Go_Right( dt ); }