Despite beat-em-ups being a very old genre with a lot of set conventions, documentation on how key parts of them work is surprisingly sparse. boghogooo on Twitter made this lovely set of diagrams mapping out a number of basic behaviors of enemies in these games. Many of these were established in Technōs Japan's Renegade (Nekketsu Kōha Kunio-kun) and proliferated throughout the genre for years.
Like many things in game design, this sort of thing is useful far beyond the genre they directly represent; maybe it will give you some ideas on how to make the enemies in your game work to challenge the player even if it's a completely different type of action game!
this is cool. I’ve been occasionally revisiting Streets of Rage 2 and 31 in the last few weeks or so, and for the first time I found myself idly wondering how the enemy AI worked. Like on both the level of what gets typed into the m68k assembler, but also the institutional / industrial knowledge that gets passed around and iterated on. Did it get iterated on? Renegade is from 1986. Streets of Rage 3 was 8 years later.
Well, I found the X Formerly Known As Twitter thread here beginning with the statement that even SOR4, the franchise revival from 2020, uses a variant of it. Which just leaves me with more questions now. How did the various games vary it? What did they tweak?
Now I’m sitting here thinking oh I bet enemy AI is probably hell to try and understand through a code disassembly. We need one of those concerted byte-exact nicely-commented source code projects like what they have for them Sonics and Marios
-
I have fond memories of the first Streets of Rage as well, but the 2nd and 3rd games were such upgrades that it’s gonna take a certain more patient mood for me to sit down with that one again
