Log In  


Cart #lina_witches_of_the_moon-7 | 2022-10-21 | Code ▽ | Embed ▽ | No License
30

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

  • Added: Force Shield pick-up. Deflects enemy bullets, but does not protect against phisical contact.
  • Added: Mana Burst! Higher firerate, Force Shield and Star powers upon filling the gauge. Getting hit resets your progress.
  • Added: Super Star now grants ramming powers!
  • Added: Indication for Super Star and Force Shield timers.
  • Added: In-game tutorial!
  • Added: New enemy patterns!
  • Added: 2 new soundtracks, thanks to: Before you close your mind

  • Tweak: The game is 60 fps!
  • Tweak: Better art for the menu!
  • Tweak: Sour Cream is permanent on the board, always helping you out! Now only shoots the basic player attack due to balance reasons.
  • Tweak: Cat Bomb reworked! Now exists as a Frog Bomb which has higher damage and destroys all on-screen enemy bullets.
  • Tweak: New hitbox and better in-game indication! Refer to in-game tutorial!
  • Tweak: Drops are more frequent on lower health.
  • Tweak: Potions drop more the lower hp Lina has.
  • Tweak: Removed Shield Potions.
  • Tweak: Ghost removed. Broodmothers are added instead. The fire in a diagonal pattern and spawn hatchlings upon death.
  • Tweak: Dragons slightly tweaked in bullet speed and the number of exploding bullets.
  • Tweak: Color of all bullets in-game.
  • Tweak: Witches have their hitbox slightly extended downward.
  • Tweak: Reworked the drop system. Potion should not drop on full HP and your current weapon should not drop.
  • Tweak: Final boss now should be harder, like a proper game ending foe!

  • Fixed: White Witch had incorrect health value.
  • Fixed: Witches have a better indication for hits. Now the whole sprite flashes.
  • Fixed: Moon state text appeared on wrong stages.
  • Fixed: Draw order.

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]
- Health Potions will keep you safe along the journey.

[8x8]
- Super Star grants temporary invincibility and ramming powers!

[8x8]
- Force Shields grant you the ability to bounce enemy bullets back, but they don't offer melee protection!

[8x8]
- Frog Bombs help you clear the screen of enemy bullets and release a powerfull bullet wave!

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

​https://beforeyoucloseyourmind.bandcamp.com/

https://www.instagram.com/before.you.close.your.mind/

30


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.


Also, two touches I really liked:

  • That the crashing witches still cause damage if you forget to dodge them. (Since they're my allies who have been hypnotised, should I try and catch them and soften their landing? Nope...
  • The moon appears in the background and gradually fills as the stages progress. I always like it when objects in the parallax background turn up in full size in later levels.


1

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


1

I really liked this and made a video of it for my channel below:

https://youtu.be/8Gy3Ig5XN_Q


1

@inphanta thanks for the video, it means a lot to see other record gameplay! <3 Thanks for the good words!


I feel like I forget how good this is everytime I play it.


So much fun! Also love the death fizzle fx


@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]