The Adventures of Panzer 2 - Development Thread

9Panzer

Active member
I think its time I should start a Dev Thread for Panzer 2! I started work on this back in July when I wrapped up production on Panzer 1 casually while my Kickstarter was running.
This is going to be a lot more of fun. With Panzer 1 I really had no idea what I was doing and stumbled through development over the course of roughly a year. This time around I have considerable more experience and confidence with intermediate level assembly coding.

Do to List (So Far):
Advanced Player mechanics
* Switchable Characters
* Unlockable Panzer JumpThrust Ability
* Playable Rogue Stealth/ Bomb Ability
* Playable Hunter Reload/Shoot Ability
* Playable Hunter Wall Jump
* Playable Mage Ice Claw / Ice Clone Ability

New Level Mechanics
* Moon Physics
* Animated Tiles
* Sprite Tile Priority
* Breakable Monster solid Tiles

Odds and ends
* Implement DCMP Audio (Removed for space)
* Zergadins HQ (NPC HUB)
* Immunity Flag for bosses
* More efficient Monster Hurt Routine

* Skippable cutscenes
* Level Selection Screen
* more efficient sprite usage

* More tile based cutscenes
Boss Fights
* Wheels V2 Boss Fight
* Hellwolf V2 Boss Fight
* Seraphem Boss Fight
* Hareynas Boss Fight
* Riverdar Boss Fight
* Doverkin Boss Fight

* Vespeto V2 Boss Fight
* Mappy Boss Fight
* Super-Mecha Grokk Boss Fight

* Basic Grokk
9 Full Levels (Utilizing the underworld for cutscenes)
* Level Forest Fire - Wheels V2
* Level Desert - Doverkin
* Level Ice Level - Rivenadare
* Level The Farm - Hareynas
* Level Sewers - Vespeto
* Level Graveyard - Seraphem
* Level Moon - Mappy
* Level Volvano/Lava - Basic Grokk
* Level Cave - Super Mecha Grokk

Untitled-6.jpg
 
Last edited:

9Panzer

Active member
Level Selection Screen WIP
Using a series of CMP to Variable I managed to get a new object created every time you hit select on a new location. Each time the player hits select it destroys the current highlighted sprite, add 1 to the variable, and then creates a new object in the new place based on the variable total. If the player hits start it will warp to the level that the variable is matched to.

 

9Panzer

Active member

9Panzer

Active member
Switchable Playable Characters
For Panzer 2 I REALLY wanted to figure out a way to allow the player to unlock different characters. Despite being called the Adventures of Panzer These games are all about all the different people you interact with. I used a heavily modified version @dale_coop code Seen here https://www.nesmakers.com/index.php...h-between-the-player-and-another-object.6245/ allow the player to be switch with another object. The plan is to have each character have a different set of abilities. At the end of the day Panzer himself will literally be the worst character in the game (By design as an inside joke).

 

9Panzer

Active member
Playable Rogue Stealth attack / Bombs
So as a call back to my first game I wanted to include Vespeto as a playable character. He was a rogue that threw dynamite at the player. For this I used my player hurt code that sets up an invincibility timer after the player is hit. With Vespetos stealth I just have it trigger the timer and that allows the player to "stealth" into a monster and drop an attack before the Player can be hurt. His bombs are a modified "Holy bomb" from Panzer 1 that creates an explosion when it hits a solid.

 

9Panzer

Active member
Seraphem Boss Fight
I based the game off the guild I used to play with in the World Of Warcraft. A rolling gag was that paladins were basically gods. They could fly and shoot lasers out of their eyes. For the Seraphem fight I wanted to play off of that. This boss follows a very simple pattern - he flys and shoots at the player. The gimick here is that the shots destroy the tiles the collide with. This will create some interesting mechanics.

 

9Panzer

Active member
Mappy Boss Fight
Mappy was a warlock player that used to drive everyone nuts in the guild. In my last game Pugna, the second boss fight, was also a warlock. I wanted to work with the idea that Warlocks never actually do much themselves and they rely on their summoned monsters to do all the work. In this fight I setup the boss toonly take damage while he is casting - the rest of the time hes immune. When he teleports he will warp to a random platform. When there are less then 2 monsters on the field he will generate another instead of attacking the player. The generated monsters can be either an "Imp" or a "succubus". The imp just bounces around and causes havok while the succubus will firehearts that stun lock the player until he gets hurt.

 

9Panzer

Active member
Doverkin Boss Fight
Doverkin was a shaman in Warcraft and was also Hellwolf brother. Hellwolf was the final boss from Panzer 1 and was basically a nightmare. Since Doverkin was a shaman I wanted to work with that idea. In Warcraft Shamans use totems as their trademark attack. So In this fight I create an "Intro" for him and using the same tile mechanics that I used for the breakable blocks in the seraphem fight I created the totems. The fight is pretty simple - when Doverkin hits a solid he is coded to jump. When he hits athe side walls there is an edge reaction that tells him to turn and keep moving. Every 5 or 6 seconds he triggers the totems to create attacks that launch at the player. Since there are so many object in play I use a flash to distract the player from the lag - it kinda works? lol

 

9Panzer

Active member
Playable Mage Ice Claw
My second returning character will be the ice mage Ahzriaz. It was actually quite hard to come up with another set of abilities for this character. If you stop and think about it ICE is actually pretty straight forward lol. This attack is 2 sprite high and follows the ground. It also obeys gravity unlike the hunters attack. It will be idea for killing smaller monsters. I'm debating adding a "frozen" state for some monsters to play off this but I'm not sure if it would be worth the headache.

 

9Panzer

Active member
Playable Mage Ice Clones
Another attack the the mage will feature is an "ice clone" attack. This will basically serve as a trap system for the player to let monsters collide into. Its setup to let the player drop a max of 2 on the screen to reduce the lag of spamming them.

 

JamesNES

Member
Animated Tiles / Sprite Priority Tiles
I used @JamesNES tutorial on how to created animated tiles for this seen here: https://www.nesmakers.com/index.php?threads/4-5-x-animated-tiles-with-chr-ram-switching.7028/. I also found a way to have the tiles not draw the sprites to give the illusion that the object is going behind the tile. I'll flesh this out in the level designs later in development but I knew I wanted to have more dynamic options which this will allow for.

I think that's my terrible waterfall animation that I somehow managed to draw upside down :p

You've really crammed a lot in though, it's looking great.
 

9Panzer

Active member
Stage Selecton Screen Update
Did a little work on my Level selection screen. Took some doing but I managed to get the changeAllTiles macro to work that @pigeonaut was working on. Whenever a boss is taken out his portrait will now black on and will no longer allow the player to warp to that level. To demonstrate I set up an input to "kill" the first town bosses and reload the screen.

 
Last edited:

9Panzer

Active member
Damage Tiles
I HATE instant kill spikes... or for that matter ANYTHING that kills a player instantly. But I wanted more environmental obstacles in Panzer 2. I came up with a simple solution that has the tile create a monster weapon in the center of player to trigger the playerhurt routine :)

 

9Panzer

Active member
Rivendar Boss fight
Thought this was funny. I was playing with having a variable determine what action step the boss should go to. It worked but I didn't actually set anything for it to do...

 
Last edited:

9Panzer

Active member
Rivendar Boss Fight WIP 2
I gave up on trying to get the action steps to change depending on the variable. Instead I went with more of a traditional pattern setup. You'd be amazed how many variables are in this fight!

 

9Panzer

Active member
Super-Mecha Grokk
Next boss fight I'm tackling is Super Mecha-Grokk. I wanted an over the top looking boss fight - with only 1 tileset to work with I had to get creative and reuse the same tiles multiple tiles. My plan is to make this a statik background with alot of projectiles. Hopefully I can make a Change all tile system work so the player can destroy parts of him :)

Untitled-1.jpg
 
Top Bottom