Midnight resistance

morrisonjay76

New member
Would love to see someone do midnight resistance on openbor. Adding new stuff and levels. It's my fav arcade game and still play the mega drive version :)
 
The fact that Midnight Resistance uses extra stick/whatever to control aiming makes me unable to enjoy this game in emulator. However, it has many good sprites and backgrounds for Contra fangame. That's why I used them in my fan game.

Still, unless you're modifying my Contra fangame to create Midnight Resistance, you will need to code run and gun system yourself including shop system.
 
The fact that Midnight Resistance uses extra stick/whatever to control aiming makes me unable to enjoy this game in emulator. However, it has many good sprites and backgrounds for Contra fangame. That's why I used them in my fan game.

Still, unless you're modifying my Contra fangame to create Midnight Resistance, you will need to code run and gun system yourself including shop system.
Yeah, you cannot play the arcade version at home because of the rotating stick, but the home ports work pretty well esp the mega drive version.

Only come across openbor two weeks ago when j bought a retro console that had loads of openbor games on it. Not actually looked into how these games are made yet because super busy in the build up to Christmas!
 
The fact that Midnight Resistance uses extra stick/whatever to control aiming makes me unable to enjoy this game in emulator
that should not be hard,
was it like some kind of track-ball deal?

if not, any modern pad with dual analogues can do the job, if you play fPS games using dual sticks, playing midnight resistance should not be so far off

unless it was a dam trackball.....

An openBOR re-make wont be able to have such scheme, but an SNES contra 3 configuration should do it justice just fine....
 
@oldyz, @Bloodbane

Midnight Resistance uses a rotary stick (think Ikari Warriors, Forgotten Worlds, etc.). Those are digital, and they don't actually know the orientation. They just trigger one of two internal "clicks" as you turn the stick clockwise or counterclockwise, and the game reacts accordingly. Not at all hard to do on OpenBOR, you'd just map the clockwise/counterclockwise ticks to command keys (ex. Attack3 & Attack4). Set that up to the rotary stick input and away you go - exactly how the original game works.

The problem is where would you get the hardware? Those are pretty specialized and probably hard to find. One workaround used a lot in emulators is mapping them to buttons (as above) with an auto repeat, so you can hold them down to rotate. That of course is also easy money for OpenBOR and might be the better way to go.

DC
 
Last edited:
@DCurrent

one thing Openbor "lacks" is the ability to map the same button to functions
example : remap menu wont let you map the jump and attack to the same input

MAME allows for an axis or input to control many things at the same time, and if i am correct the midnight resistance scheme might be able be mapped on MAME to right or left analogue Axises using this method.

since i only tested the Genesis game, now i am curios to see if i can make it work on MAME or Batocera and i will share the files ....

anyway, for the next engine i dont know if there could be an option for multiple functions, same input/button,
some users have asked me if there could be an option to map "macross" type stuff to do automatic special attacks
and so far the only thing that comes to mind is to hack the config file (which is not easy, unlike other config files, Openbor does not seem to be able to be read as simple text file

example: here is IKEMENS input config file:

Code:
const int HelperMax = 56;
const int PlayerProjectileMax = 50;
const int ExplodMax = 256;
const int AfterImageMax = 8;

const float Attack_LifeToPowerMul = 0.7;
const float GetHit_LifeToPowerMul = 0.6;

const int Width = 640;
const int Height = 480;

const float Super_TargetDefenceMul = 1.5;

const int GameSpeed = 60;//frames/second

const float LifebarFontScale = 0.5;


const ^/char system = "script/main.lua";

lib sdl = <alpha/sdlplugin.ssz>;
type k_t = |sdl.SDLKey;
/%&Keys in;
//Player 1
in.new[0].set(
0, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;

//Player 2
in.new[1].set(
1, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;

//Player 3
in.new[2].set(
2, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;

//Player 4
in.new[3].set(
3, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;


const bool SaveMemory = true;


const bool IgnoreMostErrors = true;
const bool OpenGL = false;




public &Keys
{
  public int jn = -2, u, d, l, r, a, b, c, x, y, z, s;
  public void set(
    int jn, int u, int d, int l, int r,
    int a, int b, int c, int x, int y, int z, int s)
  {
    `jn = jn;
    `u = u;
    `d = d;
    `l = l;
    `r = r;
    `a = a;
    `b = b;
    `c = c;
    `x = x;
    `y = y;
    `z = z;
    `s = s;
  }
}

and IKEMEN suffers form the same thing, no apparent way to map 2 funcitons to the same key

so the only other solution is to use external remapping software, but input lag is introduced
 
Last edited:
@DCurrent

one thing Openbor "lacks" is the ability to map the same button to functions
example : remap menu wont let you map the jump and attack to the same input

MAME allows for an axis or input to control many things at the same time, and if i am correct the midnight resistance scheme might be able be mapped on MAME to right or left analogue Axises using this method.

since i only tested the Genesis game, now i am curios to see if i can make it work on MAME or Batocera and i will share the files ....
Code:
const int HelperMax = 56;
const int PlayerProjectileMax = 50;
const int ExplodMax = 256;
const int AfterImageMax = 8;

const float Attack_LifeToPowerMul = 0.7;
const float GetHit_LifeToPowerMul = 0.6;

const int Width = 640;
const int Height = 480;

const float Super_TargetDefenceMul = 1.5;

const int GameSpeed = 60;//frames/second

const float LifebarFontScale = 0.5;


const ^/char system = "script/main.lua";

lib sdl = <alpha/sdlplugin.ssz>;
type k_t = |sdl.SDLKey;
/%&Keys in;
//Player 1
in.new[0].set(
0, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;

//Player 2
in.new[1].set(
1, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;

//Player 3
in.new[2].set(
2, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;

//Player 4
in.new[3].set(
3, -3, -4, -1, -2, //joypad, up, down, left, right,
2, 3, 5, 0, 1, 4, //a, b, c, x, y, z,
9); //start;


const bool SaveMemory = true;


const bool IgnoreMostErrors = true;
const bool OpenGL = false;




public &Keys
{
  public int jn = -2, u, d, l, r, a, b, c, x, y, z, s;
  public void set(
    int jn, int u, int d, int l, int r,
    int a, int b, int c, int x, int y, int z, int s)
  {
    `jn = jn;
    `u = u;
    `d = d;
    `l = l;
    `r = r;
    `a = a;
    `b = b;
    `c = c;
    `x = x;
    `y = y;
    `z = z;
    `s = s;
  }
}

and it suffers the same problem, no way to do 2 functions, same key

anyway, for the next engine i dont know if there could be an option for multiple functions, same input/button,
some users have asked me if there could be an option to map "macross" type stuff to do automatic special attacks
and so far the only thing that comes to mind is to hack the config file (which isnot easy, unlike other config files Openbor does not seem to be able to be read as simple text file
example: here is IKEMENS input config file:

, or use external remapping software

I don't want to be grumpy, but this is yet another one of those times where you're pretty much just making things up. The engine most certainly can map multiple functions to a button. It's just not (nor will be) a public facing option because OpenBOR IS NOT AN EMULATOR. Control design is at the creator's discretion, not the engine's.

DC
 
@DCurrent

i am aware that you can design your characters to interpret buttons inputs as whatever the creator wishes, and thus the midnight resistance scheme can work just like the arcade using a dual analogue controller axises, or PAD plus north south west east buttons L R no problem
and that most probalby entails that the input config files will need to be set in a very specific way...
remap the inputs in the menu in the wrong pattern and you break the game...

but
i am talking about user level control of the input mapping tho, some people would like to program macross type stuff and for it to work the majority of games, if the options menu won't allow for it, the only options are to use external remap software, special hardware, hacking the config files or in some extreme cases , asking a dev to mod characters to fit their needs (i had a mod where all mortal kombat trilogy characters in MUGEN had to have standard 6 button N64 input patterns, without breaking the KIller instinct and Street fighter 2 6 button patterns)
 
i am talking about user level control of the input mapping tho, some people would like to program macross type stuff and for it to work on all games

And that's what I'm getting at. OpenBOR is an engine, that unfortunately we encouraged users to treat like an emulator for too long. The days of opening up OpenBOR the same way you would Mame and selecting from a big stack of games are coming to an end. That design aspect has caused more problems and more confusion issues than I can count, and I'm not going to continue supporting it. The engine is intended to be the heart of stand alone games, and as a developer that's how I'm treating it.

DC
 
And that's what I'm getting at. OpenBOR is an engine, that unfortunately we encouraged users to treat like an emulator for too long. The days of opening up OpenBOR the same way you would Mame and selecting from a big stack of games are coming to an end. That design aspect has caused more problems and more confusion issues than I can count, and I'm not going to continue supporting it. The engine is intended to be the heart of stand alone games, and as a developer that's how I'm treating it.

DC
in this case, i completely agree.

some developers will need help with custom input mapping menus, altho games with mechanics like midnight resistance are rare...
 
So, let me get this straight, as I am new to this. You can only take assets from the arcade version, and not home console versions like the mega drive?
 
Last edited:
@morrisonjay76

you can use the megadrive assets, it just depends on how easy they are to "rip"
or you can remake them yourself, using AI , combine arcade plus megadrive, ... no limits
 
So, let me get this straight, as I am new to this. You can only take assets from the arcade version, and not home console versions like the mega drive?

OpenBOR is an engine. It doesn't care where your assets come from. You could rip an 8K movie or draw your own stick figures. So of course you could use Genesis sprites. The question is why would you? The arcade sprites are higher fidelity, so why not use them?

DC
 
OpenBOR is an engine. It doesn't care where your assets come from. You could rip an 8K movie or draw your own stick figures. So of course you could use Genesis sprites. The question is why would you? The arcade sprites are higher fidelity, so why not use them?

DC
So, how do you get the assets for the game? Where would you rip them from? When I get time, I will look through the whole tutorial.
 
Last edited:
Back
Top Bottom