oldyz
Well-known member
???
After working with it i have found some problems with he way the levels are scripted, & it also made me wonder if there is already solutions for them...
First, i propose a coordinates system tweak that allows you to have enemy spawns work well regardless of resolution.
While editing NIghtslashers X, i have found many conflicts when trying to preserve 4:3's aspect ratio's gameplay, that could easily be resolved with modified commands.
Coords & at currently seem to be completely based on where the left edge of the screen is. if your aspect ratio is 480w by 240 and the game was originally 320w by 240, you have to program every single spawn point accordingly & conflicts arise when you use blockades & wait values or you want enemies to exactly match their point & time of entrance in all resolutions.
example: some enemies must appear at a an exact point over the ground & at the same time the left edge of the screen locks, but with wide screens that situation is complicated because this makes the enemy spawn out of nowhere. I made some workarounds, but it makes the scrolling behave odd in those situations
I propose the following:
16coords, PLcoords, REcoords, 16at, PLat, REat.
if you input 16coords, each enemy that was supposed to jump at you from either edge of the screen will do so from 95 pixels more or less then stated from the original value.
PLcoords will make the enemy spawn relative from the center of the screen (usually the point where the player is exactly in the middle and makes scenes scroll.) this would make most mods resolution-proof, you can choose any resolution and spawn points for enemies that are intended to rise or appear at specific points will always do so.
REcoords calculate the spawnpoint based on the right side of the screen instead, it is useful in very rare circumstances, like music change or dynamic music programming.
16at, takes the original value & subtracts 80 automatically
PLat, engine checks the resolution that is used & automatically adds the value needed to match the center of the screen (like PLcoords, this would solve a lot of resolution compatibility problems)
REat, allows the engine to base the spawn points on the right side of the screen.
this next part is problems i found:
Multilayer entities: there is a section of the game where an enemy with a Back & front layer appears in the OG game, i could not figure out how to do it.
Music continues on - i can't find a way to have a Music file continue to play from one level to the next (no cut-off, you start the next level & the same music should keep playing with no interruption)
Dynamic music: the use of sound layers to allow level areas to have different instrumentation, this can be done already by using invisible enemies with sound files blaring (if they feature a volume control that depends on the distance or panning) , but syncronization problems could arise.
https://youtubeloop.net/list?infoId=22650&pl=W3sidmlkZW9JZCI6Ild5YTM1N1dtLXpjIiwicGxheWVyTmFtZSI6Inl0UGxheWVyMSIsInNsaWRlclZhbCI6WzE2LDU2XX1d
DYnamic shadow: I noticed that in NIghtslashers X, a could manipulate the shadow position at various points, but there was no way to make shadow transition smoothly from point a to point b, it seems that scripting shadows has to be done at certain points & and is dependent on enemy spawns, instead of a global independent range.
Implementing this could also help to implement dynamic sound
Background animation - it can be done with additional text files, but it seems limited only to the panel layer.
Dynamic background animation - Making a series of frames animate based on the way the screen scrolls:
https://youtubeloop.net/list?infoId=22651&pl=W3sidmlkZW9JZCI6Ild5YTM1N1dtLXpjIiwicGxheWVyTmFtZSI6Inl0UGxheWVyMSIsInNsaWRlclZhbCI6WzE2LDU2XX0seyJ2aWRlb0lkIjoiSjhESUxBeTQwQmsiLCJwbGF5ZXJOYW1lIjoieXRQbGF5ZXIyIiwic2xpZGVyVmFsIjpbMCwzNzY2XX0seyJ2aWRlb0lkIjoiSjhESUxBeTQwQmsiLCJwbGF5ZXJOYW1lIjoieXRQbGF5ZXIzIiwic2xpZGVyVmFsIjpbMCwzNzY2XX0seyJ2aWRlb0lkIjoiSjhESUxBeTQwQmsiLCJwbGF5ZXJOYW1lIjoieXRQbGF5ZXI0Iiwic2xpZGVyVmFsIjpbMTQxMSwxNjY4XX1d
basically as the screen scrolls a "video" plays forward or rewinds
i don't know why Mugen nor Ikeman have it yet.
& finally APNG support (animated PNG files) this can help cut down coding time considerabl, since you can use a single APNG files with transparency instead of a series of frames for the dynamic background animations
After working with it i have found some problems with he way the levels are scripted, & it also made me wonder if there is already solutions for them...
First, i propose a coordinates system tweak that allows you to have enemy spawns work well regardless of resolution.
While editing NIghtslashers X, i have found many conflicts when trying to preserve 4:3's aspect ratio's gameplay, that could easily be resolved with modified commands.
Coords & at currently seem to be completely based on where the left edge of the screen is. if your aspect ratio is 480w by 240 and the game was originally 320w by 240, you have to program every single spawn point accordingly & conflicts arise when you use blockades & wait values or you want enemies to exactly match their point & time of entrance in all resolutions.
example: some enemies must appear at a an exact point over the ground & at the same time the left edge of the screen locks, but with wide screens that situation is complicated because this makes the enemy spawn out of nowhere. I made some workarounds, but it makes the scrolling behave odd in those situations
I propose the following:
16coords, PLcoords, REcoords, 16at, PLat, REat.
if you input 16coords, each enemy that was supposed to jump at you from either edge of the screen will do so from 95 pixels more or less then stated from the original value.
PLcoords will make the enemy spawn relative from the center of the screen (usually the point where the player is exactly in the middle and makes scenes scroll.) this would make most mods resolution-proof, you can choose any resolution and spawn points for enemies that are intended to rise or appear at specific points will always do so.
REcoords calculate the spawnpoint based on the right side of the screen instead, it is useful in very rare circumstances, like music change or dynamic music programming.
16at, takes the original value & subtracts 80 automatically
PLat, engine checks the resolution that is used & automatically adds the value needed to match the center of the screen (like PLcoords, this would solve a lot of resolution compatibility problems)
REat, allows the engine to base the spawn points on the right side of the screen.
this next part is problems i found:
Multilayer entities: there is a section of the game where an enemy with a Back & front layer appears in the OG game, i could not figure out how to do it.
Music continues on - i can't find a way to have a Music file continue to play from one level to the next (no cut-off, you start the next level & the same music should keep playing with no interruption)
Dynamic music: the use of sound layers to allow level areas to have different instrumentation, this can be done already by using invisible enemies with sound files blaring (if they feature a volume control that depends on the distance or panning) , but syncronization problems could arise.
https://youtubeloop.net/list?infoId=22650&pl=W3sidmlkZW9JZCI6Ild5YTM1N1dtLXpjIiwicGxheWVyTmFtZSI6Inl0UGxheWVyMSIsInNsaWRlclZhbCI6WzE2LDU2XX1d
DYnamic shadow: I noticed that in NIghtslashers X, a could manipulate the shadow position at various points, but there was no way to make shadow transition smoothly from point a to point b, it seems that scripting shadows has to be done at certain points & and is dependent on enemy spawns, instead of a global independent range.
Implementing this could also help to implement dynamic sound
Background animation - it can be done with additional text files, but it seems limited only to the panel layer.
Dynamic background animation - Making a series of frames animate based on the way the screen scrolls:
https://youtubeloop.net/list?infoId=22651&pl=W3sidmlkZW9JZCI6Ild5YTM1N1dtLXpjIiwicGxheWVyTmFtZSI6Inl0UGxheWVyMSIsInNsaWRlclZhbCI6WzE2LDU2XX0seyJ2aWRlb0lkIjoiSjhESUxBeTQwQmsiLCJwbGF5ZXJOYW1lIjoieXRQbGF5ZXIyIiwic2xpZGVyVmFsIjpbMCwzNzY2XX0seyJ2aWRlb0lkIjoiSjhESUxBeTQwQmsiLCJwbGF5ZXJOYW1lIjoieXRQbGF5ZXIzIiwic2xpZGVyVmFsIjpbMCwzNzY2XX0seyJ2aWRlb0lkIjoiSjhESUxBeTQwQmsiLCJwbGF5ZXJOYW1lIjoieXRQbGF5ZXI0Iiwic2xpZGVyVmFsIjpbMTQxMSwxNjY4XX1d
basically as the screen scrolls a "video" plays forward or rewinds
i don't know why Mugen nor Ikeman have it yet.
& finally APNG support (animated PNG files) this can help cut down coding time considerabl, since you can use a single APNG files with transparency instead of a series of frames for the dynamic background animations