Player Movement (Week 1)


Player Movement

Unfortunately i was sick this week so i got a lot less done than i planned but i will be sure to make up for it next week, also due to being sick i missed the testing sessions so i cannot implement any feedback.

My game will be using a simple WASD movement for eight directional movement. There is no alterative i really considered for this, it just makes the most sense for the genre. The player will always be facing the way of the WASD movement as the mouse will be used to control the weapon separately from the player. The art pack i am using has a character with 4 direction movement so the NE, SE, SW, NW directions do not have their own sprites but i think it looks fine without them.

This is the eight directions of movement.

A possible future improvement is controller support, there is no reason that shouldn't work fine right now, it would just be a matter of time.

The movement speed is easily changeable and i even have set it up so there is a walk animation and a run animation and the animation used is dependent on the players movement speed. This is because movement speed will be an upgradable statistic in this rogue-lite and i think a change in animation helps amplify this feeling of a speed upgrade without the change having to be extremely drastic.

This is the difference between the two.


Now onto arguably the most important movement in a bullet-hell rogue lite... the dodge roll. This is where most of my time went this week for a number of reasons; i wanted the dodge roll to feel nice, i wanted it to be highly customisable, i had no animations for it (still don't),  and i needed it to be visually easy to understand. So first because i have no animations for it, and do not want to spend the time to make my own roll animation i have opted for a dash, this accomplishes the same thing its just less bad-ass, the dash is a simple burst of movement in one direction with no animation. However because i wanted customisability i have separated the dash into a dodge speed, a dodge duration and an invulnerability duration, this allows me to have a bunch of options for my dash such as a longer more movement oriented dash with less invulnerability, or a faster shorter cleaner dash, or maybe little to no movement but more invulnerability time, and these options can be implemented into an upgrade system that lets the player choose. Now for readability i opted for a simple sprite colour change during the invulnerability frames as those are the most important for the player to know about. I am still unsure if i should add a trail or something to visualise the dash itself a bit more.

This is what it looks like right now!


It's so customisable it can even become a teleport!

The dash invulnerability right now is quite simple, when the dash starts i switch the player onto an invulnerable layer, then back to the player layer after the invulnerable timer is up. I also have an easily customisable dash cooldown of course. The dash itself is also very simple, it just takes the players movement direction and launches them that way. Other ways i could do the invulnerability include disabling the player damage script or having an invulnerability option inside that script instead, or even something as simple as disabling the collider for the duration, i like my current setup the most right now though!

Unrelated

Weapon

I also this week decided to get started on my weapon, i have opted for a weapon that floats around the player depending on mouse position, i think this is the simplest and easiest option to customise down the line if i decide to add different weapons. So far i just have a watering can with simple animations and simple single shot shooting. I plan to make this very customisable too, so far i have a customisable attack speed and projectile speed which provides some options for customisation, if i decide to make more weapons maybe this will stay this simple, but if i find i don't have time to add more weapons i will add projectile count, projectile size, and some different shooting pattern options for this watering can weapon.

With the current options these are the kind of weapons i can make

A pretty standard single shot weapon

A classic full auto weapon


A faster sniper like weapon

idk what to call this one

As you can see i also opted to let the player move and shoot with no movement penalty at all, i think this makes the game feel the most fluid and fun! 

Side note: that projectile is a placeholder until i find or make a cool water projectile!

Stat Manager

Finally for every customisable stat associated with the player or their weapon i have been putting them into a dedicated statistics script that is then used by all the seperate scripts that use these stats, i believe this will simplify my upgrade system down the line as i will have every customisable option in one place for the upgrade system to use, i am uncertain if this is a good idea or not right now, its just an idea i came up with for future proofing.

If this is a terrible idea PLEASE let me know!


Comments

Log in with itch.io to leave a comment.

so cute!