From 1fcbdf6d0a9be56dc5b7a8ee0c51cf2887d3e5f8 Mon Sep 17 00:00:00 2001 From: Mark B Date: Sun, 30 Oct 2022 19:53:58 -0400 Subject: [PATCH] added sine fw movement, smaller player, rf incs by 5, and a to-do list --- README.md | 4 ---- TO_DO.md | 17 +++++++++++++++++ asset-src/gfx/player.piskel | 2 +- assets/gfx/player.png | Bin 936 -> 939 bytes src/Gameplay.c | 23 ++++++++++++++--------- src/Gameplay.h | 3 ++- 6 files changed, 34 insertions(+), 15 deletions(-) create mode 100644 TO_DO.md diff --git a/README.md b/README.md index 4354c4b..908353b 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ # Avoid A dumb raylib test which you can play [here](https://canneddonuts.itch.io/avoid-the-game) -## To-do -- a build guide -- a tutorial - ## Preview ![Alt Text](./doc-assets/preview.png) ![Alt Text](./doc-assets/preview1.png) diff --git a/TO_DO.md b/TO_DO.md new file mode 100644 index 0000000..3b4deb7 --- /dev/null +++ b/TO_DO.md @@ -0,0 +1,17 @@ +# TO-DO + +## Building +- build guide + +## Gameplay +- cleaner hitboxes +- better patterns +- more levels +- more feather powers +- animations + +## Art +- better art duh + +## Music +- better gameplay music diff --git a/asset-src/gfx/player.piskel b/asset-src/gfx/player.piskel index 30c8eb7..fb1d44b 100644 --- a/asset-src/gfx/player.piskel +++ b/asset-src/gfx/player.piskel @@ -1 +1 @@ -{"modelVersion":2,"piskel":{"name":"birbis4","description":"","fps":1,"height":55,"width":70,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":3,\"chunks\":[{\"layout\":[[0],[1],[2]],\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAA3CAYAAAB5EBRzAAADb0lEQVR4nO2YUY7bMAxE9dnb9Hq9UA/Tr56nQAH3I9jCcSRbokjNSJoBCCx2s6HJmRfFTkmSJAmtI6WDvh70GiN9/SyF6Ph+zFbFwBx/3stjPWhIKiqdQBFIKBGAIZB8QEoZmK5/89iJmwiylK2lhhFI3SDlfu+xExeNAeJVAkkgVVX+5OkG6cfx93gq21IHZeW8A4EkkFpButbllKrW9CBZYaIfSiCFgVSC6WNHaCEy0wLTVIMJpBCQ7r7SUYCEzE0tTFMO5wxSRGjgkHSeSOkTNIwIcpPbx+sDWCAJpAqQ0vtrxos8K/0QgYcUSH4gpTw0eJBIs/J+GyCQBNINSOffW3bi8tSONCsfIHWLAIyo+nWkbDWtBw1JJUgRHy7dIBFkQCAJpJDqD0zt4vD+34F0ljUblAMLpIVAIvDeCpIdJoJhBdJCIBH47pGTLQYXSPby+fRdJ0uljLTvhmAYgYQDyRUmAs89QWrbDcEwYeWRDYLwR4NUCkzTEzu01wEQtcFEMJBAwoOUC0w1SGifg0Gqg4lgIIHEAZLpax7aY4EkkBCVUkpuIKH9dciHQBJIZpDuAlS/GAJ/nbKheySBZAapFKD6xRD465gNgSSQzCDlArRNZgrS42+BZAKpfSEEvgbnQiAJpFiQ0H4S5WLd5QgkgSSQPuvn72//SyCRgJQSXV5MGRmttzBv1PssdPDpQKrUKO8YMvIogSSQLBrlHUtGHiWQBJJFOo0uEkhrgHTe5UqnBEM+qrQ7SAzX4KErSJHzjIZoCm8EEv4aPJQDKTdT75w6jQoSSPhr8FINTD1zjt7VVL4IJPw1eOoOpt45R+9pKl92BmnkDfpolYCyzok6jabxZVeQRt6co+QFEmJH03nCEmZk76kMa5A3SBHXyNSzSyxhRvWdzrBG9c6KPI2m8mVlkEpPrXaB6EseIEVdG0vPbu0A0vWp1U4QndUyM2pP0/qzC0he9wuzqmVmxJ6m92dXkCL6Mapl9tzrRuwM1ddVO4IU0YtVtfPfvSZqd0/XNY1nyKCN7LsrSJbTqOa9ENdF6xv63mFk7x1PpYiZPd7Lck3Unu0EUqlfRB8WRc3rBZLlfyg9e/ouPDrQiN4RPVi02qx0c9QsONKEu/eNPjVWC9eddpkTpp1BeuovSdWqDRICpOjekiRJUrD+ATYPv+scnnHKAAAAAElFTkSuQmCC\"}]}"],"hiddenFrames":[]}} \ No newline at end of file +{"modelVersion":2,"piskel":{"name":"pikidx","description":"","fps":12,"height":50,"width":50,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":3,\"chunks\":[{\"layout\":[[0],[1],[2]],\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAyCAYAAAC+jCIaAAADcUlEQVR4nO2bzW3kMAyFCSQLzCV9TDWpYrDtpYOcU0NKSBPaE3e9jmVRJh9/HD+AlzFGP3ifSNmWiTq6P26tdy2jGlGp8a7ViFr1OQx1f9za6we1++PWKgFW1Ziq454SQ/W7PbfXD/oLWPS4JKpoUMUxT2sJFUclsIhqlZQq41SrB1Y1uIjym5Z9fGbagqpq1iLKa1yljGqiEVhV4bIw0QqEHwUUaw+synAR6Q3NBKelnn89NQ5YJyOwqpZElsbYDGAitAQLBpgErJ8KVySUaMHhYrCOZC1+kDoTpoMXyhusKKhmvdiCyxQwCVzLvRbHKMttRRRsR8ye/U/EnZ/GDzhYPEBJ1pKUTQ1sppNa6QgoqLZn1cs6Vh6s4TL1QwqXNVgcLCRgCFiQUFkDNAsYL3z1JCQlEQkVGi5rsNBQeQG1B5YKruXK8IarJ1R5lO6FIsHyzlQjMVxTfvQmgCx7e5N6aZ/tpX3qV8tAIyj2riM36rN+WPjU82DthdiPvVWRBawouHrXospfFrCGfkTU8KNgecN1BDitji5yywSwVQJ70fUjK1i9SaHvFpfAZMpWETdTktj0IwtUsyvF61nXbBbTKkO2MoErG1hLuKZXibG2NuZIqBpR9w4wM1RlwFrHV6NhrGHwCA1AvfYqgCXy40xgIbLJHkgIILf8iHwLcmqw3t5pGNZAScBCaBasiDIo8qMCWDOl0FqSO0RLrf3Ilq2m/KgA1zI8N+5bm3c0YEs/MoIl9uMC63+NslQWsDJANfSjClzeZ7UiHpAS/fMjO1jq94UZIuIAYMQrHVYPLtRBS6gf3sc0pBPw2ldJfpu5rhXPnWHKApTqXFb0BKZXhUKakhdxt1jaj8jsleUDCyk0XnCdyg/Eof29wXsCZVnqPB+insYPfrpt9YVI1OdfLFSJ84LrNH7svTbpfZK0F9K2EUKWN6/XP6fxA9mZ50Q8Sls0WJnbdu3MYyJHMokGEDRc1f1w6czjdMLR/0b0K1FVP751VHEiWnO1YKDAKuXH+myT13kn7su6TQtTLcA62sbZ/Pg2IbRQfWUAi9vQtFPeD9QE9trNDJV1O7NtnckPqLyOFFvua6z3SF4PTyXyPuJtLu9BZ4chGq6SEEULYVqVNi+BhHpuhILA69XPJaWQACDa5bYvuC7BdMF1CaIzZq4/4TCkGKzr68AAAAAASUVORK5CYII=\"}]}"],"hiddenFrames":[""]}} \ No newline at end of file diff --git a/assets/gfx/player.png b/assets/gfx/player.png index 6c883d4d11d597ead563c93257e49c358565627e..13b9833b34e06a2748d4a23002ad9c3e07a454a9 100644 GIT binary patch literal 939 zcmV;c162HpP)$b${I2>j$;_j^}9W{*AMy&SoF9gs%TKf zF;8m=6-Onoh-#ITD&thE2Uaz>i1M43eSBuxf~soPBFbxArHpE#5m;5>vM|vKgdYVI zYY(i-a1rSZ%><{Vo_{?x4p=86u&S0smd4l&U?Q{x3kH}3te*;3B$Q~u;bO3kWG#M> zIuoXY7s?x~D5z$=*n-OxFbQ1Cy%xtP%WXvzY)8zV{ZGW5pT-Y3SUf;U){>M>4Q!^9 zTImQVsJ3U-%Q{vbtl={CLkgEQSR5=QUs3m7ka^&})E5eXFljBQac4e)J}QEPH#CdTF2SrG4sG%RnP2_O2s0>a%`W z_|)@Y?S^dk#Yvn$2xS=Ve9(<(!@GJz`_SWCF3SBbHi2~iBH{pG#48>CEGF!qNXm^ea(SKfZNTaUxoCwP2vYD&@!eY?Ie{C+^F-O$$>kz&hH-+5Gr6 zA+%6^WdMuY(6m$D57Y$q+RY4=bvv_doyiZVyp9xG?rW^~NL~+5CGtMvZ7%OYXNMsg zu96T%3t?K7HZOsMdTxY*!0Xk|C8dx6All`&FSstjbis8AqBCZ$KjAQ>7_95-zyJUM N07*qoM6N<$f&h~FuNeRU literal 936 zcmV;Z16TZsP)i;^f8NVuJ!nWODxE+PNGK72A&`7PN*S20fAiRhn+UR$t)+$$ zNZlaie($jp7mWepRRT#MRaO4v=?3Y?@%MNt+foN*<-7xdB#>G`y4K~Cs@C)%Sz)3d zN+5-SRD$VaM`$53(*n~}g9)S%knX4*6Eutna+BM~ z>jPLI38V^;()(-1i##j+5P^pjNPZxtJT!QaNVD>O8z7Jb(hW%G-&=O#^3;wrD<2?r zivWzM`gNpiHLV8?NhL@TA1>V>5oACh38awf4@~Xi@c!R{be1(6lmiQ-g+LJdf1IZO80?$1`YTFILFk$794TA7T zgH#Gk(-S+i*8vckjxHMjV=;MYk+j#k@Jj( zXbNux68;)IlmjU@Q}3KQjS3P-_-pV|4NN_Aj^5Q&z6d1zHF)X{rrtS6?`bMub_QwW z4f<%6fU?esI*q3BWmk|!-khW41rlOM(|N)YW@PWF3~P`#NDl zruS!8kRtjqs%7@v>qhJh)z?)!f)vql^ysVPx+ePo;>NJ>JW5P1K(41X8JAL?0GK&Fck{<$owWd-^UsI?#yT5j|M6+N^YQ z)GRpCguC~RJ~dVg*PV8m6Q-R(dg?Dp)v65=0;K5Pk|aq|u>Juy55Maio^i?m0000< KMNUMnLSTZ$kf;6t diff --git a/src/Gameplay.c b/src/Gameplay.c index 194e982..ab20f99 100644 --- a/src/Gameplay.c +++ b/src/Gameplay.c @@ -7,6 +7,7 @@ */ #include "../include/raylib.h" +#include #include "Screens.h" #include "Controls.h" @@ -56,6 +57,7 @@ void InitGameplayScreen(void) globalTimer = 0; if (player.hp < 1) player.hp = 1; + if (ammo < 5) ammo = 5; player.currentframe = 0; player.speed = 300.0f; @@ -70,8 +72,8 @@ void InitGameplayScreen(void) player.hitbox = (Rectangle) { 0, 100, - (float) player_sprite.width/3, - (float) player_sprite.height/2 +5 + (float) player_sprite.width/3 - 20, + (float) player_sprite.height - 20 }; player.iframetimer = 0; player.in = false; @@ -116,11 +118,12 @@ void InitGameplayScreen(void) (float) firework_sprite.height }; fireworks[i].hitbox.y = GetRandomValue(0, GetScreenHeight() - firework_sprite.height); - switch (level) { + /* switch (level) { case LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 300); break; case LEVEL2: fireworks[i].speed.x = GetRandomValue(400, 600); break; case LEVEL3: fireworks[i].speed.x = GetRandomValue(800, 1000); break; - } + } */ + fireworks[i].speed.x = GetRandomValue(100, 300); fireworks[i].color = RAYWHITE; } @@ -289,7 +292,7 @@ void UpdateGameplayScreen(void) if (CheckCollisionRecs(player.hitbox, feather.hitbox)) { switch (feather.power) { case 0: player.hp++; break; - case 1: ammo++; break; + case 1: ammo += 5; break; } if (!mute) PlaySoundMulti(fxfeather); ResetFeather(); @@ -337,14 +340,16 @@ void UpdateGameplayScreen(void) if (fireworkAmount > 0) { fireworkAmount--; fireworks[i].active = 1; } fireworks[i].hitbox.y = GetRandomValue(0, GetScreenHeight() - firework_sprite.height); - switch (level) { - case LEVEL1: fireworks[i].speed.x = GetRandomValue(100, 300); break; + /* switch (level) { + case LEVEL1: fireworks[i].speed.x = GetFrameTime() break; case LEVEL2: fireworks[i].speed.x = GetRandomValue(400, 600); break; case LEVEL3: fireworks[i].speed.x = GetRandomValue(800, 1000); break; - } + } */ break; case 1: - fireworks[i].hitbox.x += GetFrameTime() * -fireworks[i].speed.x; + trigMov = sin(2*PI/100*fireworks[i].hitbox.x) * 200; + fireworks[i].hitbox.x -= fireworks[i].speed.x * GetFrameTime(); + fireworks[i].hitbox.y += trigMov*GetFrameTime(); // Firework wall collision if (((fireworks[i].hitbox.x + -firework_sprite.width) > GetScreenWidth() || (fireworks[i].hitbox.x <= -firework_sprite.width))) fireworks[i].active = 0; diff --git a/src/Gameplay.h b/src/Gameplay.h index e0fc7a4..0fd08a1 100644 --- a/src/Gameplay.h +++ b/src/Gameplay.h @@ -49,8 +49,9 @@ struct Item feather = { 0 }; Sound fxfeather = { 0 }; bool pause; bool DebugMode; -int ammo = 0; +int ammo = 5; int fireworkAmount = 0; int GI_callcount = 0; +int trigMov; #endif