marco75
New member
I'm learning the very basics of OpenBOR engine.
I do this mostly by reading the .txt files in paks that I like best and the Getting Started manual included in some distros of the engine.
I find that I like certains paks a lot, but then think I wonder if the game were more fun (for me) if certain aspects were changed.
I noticed that enemies can bunch up in a big pack and multiple enemies occupy the same X Y coordinates -- apparently the collision detection is only used to detect hits between bbox (hittable targets) and attack boxes. This results in this big mass that gets knocked out of the screen by the player's knockdown attack or super move.
The ultimate 2D engine has no collision detection between non-attacking bodies. Enemies and enemies, and players and enemies, they just pass through each other.
I was a bit shocked by this, it seems like a very basic functionality for a game engine to have. So I played some arcade brawlers in MAME to see how they behaved.
Playerpush?
Bad Dudes VS DragonNinja : No
Double Dragon : No
Final Fight* : No, Grabs enemy -- Hagger actually has a playerpush of sorts - while he is grabbing a mook, he can carry them around
Vendetta : No
*Final Fight became the template for Streets Of Rage, and Senile Team created BOR engine to reproduce the feature set of these two engines.
Well, now that makes sense. OpenBOR doesn't have playerpush because no game of the genre does. (citation needed) Perhaps it was tried during development of various titles and the devs always found it made the game less fun.
Could it be done with a workaround? I can imagine several:
1 - simply have fewer enemies on screen. Enemy spawns are adjustable for number of players, so for a single player, they can start with fewer and ramp up with stage progression.
2 -editing of groups/attack waves. Combine enemies with low aggression, slow walking speed and stationary attacks with enemies with higher aggression, fast walking speed and leaping/rushdown attacks. The two kinds would seperate out?
3 - enemy AI scripting. The engine can tell how close two objects are to each other, right? Certain enemies can be coded to back off and wait until the player knocks someone to the ground, then rush in with an attack. Enemies can be coded to keep a certain distance from each other.
I think 3 is the most interesting programming challenge. Enemies move quite differently in Double Dragon then they do in Final Fight; It would be cool to study how they 'think'.
I do this mostly by reading the .txt files in paks that I like best and the Getting Started manual included in some distros of the engine.
I find that I like certains paks a lot, but then think I wonder if the game were more fun (for me) if certain aspects were changed.
I noticed that enemies can bunch up in a big pack and multiple enemies occupy the same X Y coordinates -- apparently the collision detection is only used to detect hits between bbox (hittable targets) and attack boxes. This results in this big mass that gets knocked out of the screen by the player's knockdown attack or super move.
The ultimate 2D engine has no collision detection between non-attacking bodies. Enemies and enemies, and players and enemies, they just pass through each other.
I was a bit shocked by this, it seems like a very basic functionality for a game engine to have. So I played some arcade brawlers in MAME to see how they behaved.
Playerpush?
Bad Dudes VS DragonNinja : No
Double Dragon : No
Final Fight* : No, Grabs enemy -- Hagger actually has a playerpush of sorts - while he is grabbing a mook, he can carry them around
Vendetta : No
*Final Fight became the template for Streets Of Rage, and Senile Team created BOR engine to reproduce the feature set of these two engines.
Well, now that makes sense. OpenBOR doesn't have playerpush because no game of the genre does. (citation needed) Perhaps it was tried during development of various titles and the devs always found it made the game less fun.
Could it be done with a workaround? I can imagine several:
1 - simply have fewer enemies on screen. Enemy spawns are adjustable for number of players, so for a single player, they can start with fewer and ramp up with stage progression.
2 -editing of groups/attack waves. Combine enemies with low aggression, slow walking speed and stationary attacks with enemies with higher aggression, fast walking speed and leaping/rushdown attacks. The two kinds would seperate out?
3 - enemy AI scripting. The engine can tell how close two objects are to each other, right? Certain enemies can be coded to back off and wait until the player knocks someone to the ground, then rush in with an attack. Enemies can be coded to keep a certain distance from each other.
I think 3 is the most interesting programming challenge. Enemies move quite differently in Double Dragon then they do in Final Fight; It would be cool to study how they 'think'.