Updates:
Revision 7 (0.1.1) - Minor changes, and bug fixes:
- Tweak: Mana Burst now grants a new Frog Bomb upon completion. Other effects are removed.
- Tweak: Triples shots now deal less damage.
- Tweak: Sprial shots now deal more damage.
- Tweak: Final Boss's health increased by 30%.
-
Tweak: Now Lina can move between transitions.
- Fix: Frog Bombs are now consumed when used.
- Fix: 3rd Witch now summons correct minions.
- Fix: Final enemies death will not cause immediate stage change.
- Fix: Frog Bombs now should be less performance killers.
Revision 6 (0.1.0) - Full Jam Release
Revision 5 (0.0.2) - Day 1 Fixes
- Fixed: Third Witch had incorrect attack pattern, leading to no shooting.
- Fixed: Double Shot had an extra bullet on the descending angle.
- Fixed: Scores did not reset after the end of the game.
- Fixed: Incorrect movement calculations.
Revision 4 - Witch Movement QuickFix
- Fixed: Witches siwtching from Forward-Backward phase would keep there horizontal momentum.
Story:
[88x19] | |
Lina, among many others, is an avarage witch living in the forest. But one night everything changes as those who were once friends turned into enemies.
Fight through the horde of summons, beat hypnotized witches and figure out who is behind all this.
Desc:
Lina: Witches Of The Moon is an entry for Krystman's Basic Shmup Showcase​ event, which revolves around the amazing shmup tutorial series.
Controls:
Movement -> WASD, Arrows, Joystick
Shooting -> C, PS X
Frog Bombs -> x, PS O
There is an Ingame tutorial to help you along! To exit it, return to the main Tutorial scene and fly forward!
Gameplay:
Powerups will help you along your journey!
There are number of shooting patterns in the game, some focus on single target, some on whole screen dps, find what suits you best!
[8x8] | |
[8x8] | |
[8x8] | |
[8x8] | |
Sour Cream:
[8x8] | |
Sour Cream will follow you along, lagging behind a bit and helping out with the pesky enemies. You attack patterns do not modify his, but with proper positioning he can be a helpful companion on the journey!
Enemies:
[8x8] | |
Enemy minions attack in waves! Don't spare none of them, charge your Mana Burst and tear through the opposition! (Mana Bursts
You will encounter their respective witch master at every 6th level!
Some enemies use tricky patterns against you, be on your guard!
Socials:
I have a Ko-fi page! If you like my work you can support me over there with a price of a coffee.
https://linktr.ee/AchieGameDev
Music:
Music by the amazing BeforeYouCloseYourMind!
https://soundcloud.com/beforeyoucloseyourmind
I've played so many vertical scrollers lately that side scrolling feels really strange.
I got mauled the first few times, so practiced, got better at dodging, and learnt which waves to use theCat Bombs on. Good variety of enemies and good music, too. Gold star.
I found I had most success with the Double Shots, but I think this may be unintentional. In the source code:
elseif player.attackType == 1 and (t%7 == 0) then for valuePair in all(posCol) do add_player_bullet(valuePair[1]+6, valuePair[2]+6, damage, 4, 0.3) add_player_bullet(valuePair[1]+6, valuePair[2]+6, damage, 4, -0.3) end add_player_bullet(px+6, py+6, damage, 4, 0.3) player.shooting = true |
Does that final add_player_bullet() add a duplicate angled downwards? I did some testing, and it did feel like the bullet(s) angled downwards destroyed some enemies in one hit that the bullet angled upwards could only destroy in two hits.
I see this is a work in progress, so maybe you're already planning to address this. But the third boss sometimes fired just a few concentric rings of bullets and then stopped emitting anything. Her animation and sound effects continued. This made the fight easier to win, but probably wasn't your intention. The next phases of her attack functioned normally, as did this phase when it resumed.
> Does that final add_player_bullet() add a duplicate angled downwards? I did some testing, and it did feel like the bullet(s) angled downwards destroyed some enemies in one hit that the bullet angled upwards could only destroy in two hits.
It should be the same damage, are you sure it was the same type of enemy? I know it sounds like a stupid question, but if not, then there is some serious buggery somewhere in the code. The damage variable is the only one that contributes to damage, and it should not change between those two add_bullet()
calls.
> But the third boss sometimes fired just a few concentric rings of bullets and then stopped emitting anything.
This def. sounds like a bug that I'm not aware of, but it's cool that you found it. If she is going up-down without doing anything, then shooting after some time that probably means that my spawn code is messed up somewhere. I touched it a bit yesterday, so something could've gone wrong. Which is weird as I tested other bosses that spawn, and they worked just fine.
Double shots are really cool, they got decent damage and controllable spread. Will see if I need to tune their balance somewhow, but atm I'm fine with how damages are.
@Achie72
> It should be the same damage, are you sure it was the same type of enemy?
Yes, I was careful to test with the same types enemy.
> The damage variable is the only one that contributes to damage, and it should not change between those two add_bullet() calls.
The thing is that there is a third add_player_bullet() call, below the for loop. It uses the same values for position, damage and velocity as the first add_player_bullet() call, so won't be visibly distinct from it on the screen. Because it is outside the for loop, the third bullet will be added for the player but not for Sour Cream.
> If she is going up-down without doing anything, then shooting after some time that probably means that my spawn code is messed up somewhere.
Yes, that it's while moving up-down that she stops firing. Then when she starts moving in a square pattern shots start appearing again.
@Cowirrie
You are absolutely right! Refactored how shooting worked to spare some tokens yesterday, and left the old adder in there!
I forgorđź’€
Will have to look into spawn things then, probably some dumb mistake as well.
Lovely game - charming and fun. Lots of nice details. Gold star work!
There's a small bug: the score doesn't reset between games
The movement feels kinda awkward... not sure what it is though. Pretty good shmup.
@phil Thank you! The bug should be fixed now!
@kollumos Glad you liked it! I had a stupid bug which stucks directions into your movement. Should be fixed now.
@Cowirrie The issue was the attack pattern assignment. For some reason I have a double/trio
pair in my code. Not double/triple, not duo/trio, but that mess, which causes the typo-s. Should be fixed along with the other issues you mentioned!
good shmup!
suggest to wait for the last enemy to fully die before going to the next screen.
@freds72 That is a good catch that somewhow slipped through me, added to the to-do list!
the first boss is really hard, can you make the gaps a bit wider?
@Sup3rAw3som3Gam3r working on an update which will reduce the player's collision box to a smaller one, so you will be able move more easily between bullets.
I really liked this and made a video of it for my channel below:
@inphanta thanks for the video, it means a lot to see other record gameplay! <3 Thanks for the good words!
@Marina Makes I'm glad you still like it!
@Huwans I'm sadly not sure where I got the code originally (forgot to note it down):
for i=1,100 do o1 = flr(rnd(0x1F00)) + 0x6040 o2 = o1 + flr(rnd(0x4)-0x2) len = flr(rnd(0x40)) memcpy(o1,o2,len) end |
you just randomly offset memory data a few times to achieve the effect.
[Please log in to post a comment]