June 17, 2018, 05:03:31 PM

Author Topic: G.M.O.S.S.E  (Read 43325 times)

Description:

Offline Emerald Master

  • The Enjoyment of Creativity!
  • (3) Photon
  • *
  • Posts: 25
    • YouTube Channel
Re: G.M.O.S.S.E
« Reply #15 on: September 04, 2011, 11:49:18 AM »
Your very quite welcome!  :) And as for school, I may have been out awhile but I do know how it could be, I'll be keeping an eye on this topic for the set reasons above. Anyway, back to my ways of...stuff! :3

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #16 on: October 20, 2011, 03:59:13 AM »
A progress report:

I haven't had much time to really look at this, school reasons etc I won't bore you with details. But I forgot to mention here when I mentioned it at the main thread on the Shmups Forums that I'm in the process of rewriting my handling of sound (again), this time with support for different sound engines should you wish to use one specifically. This means I've begun making container scripts which determine based on a variable on initial load which scripts for which sound engine to use. Thing is, the main ones I'm working with (GM's default sound engine and the GMFMODSimple external DLL) have a far-from-exact parity in terms of commands and function support, even right down to basic stopping and playing sounds. The main problems I ragequit on last was the filters in GM default not working, inability to pause and some sounds not playing.

Recently, I took a look at the code and figured out a way to solve my current set of problems with filter support not being the same across sound engines whilst keeping the current behaviour of sounds intact.

Step 1: Create a sound test menu for all of the sound effects, and rerecord all of the sounds in GMOSSE running with the GMFMODSimple sound engine.
Step 2: Replace old sounds with rerecorded sounds.
Step 3: Remove GMFMODSimple sound filter code.

With this I'll have sounds that sound exactly like how they have been in MK-V, but not actually being filtered at runtime (resulting in a marginal performance increase), thus saving on lines of code and improving compatibility by removing code that doesn't work across the board. WINNING.

From there on, I replace all cases of specific sound scripts used and replace them with a script that determines which sound engine script to use. I've got these for stop (WIP due to GMFMODSimple not having a straightforward stop command), play, free from memory and loop, and now with the filter-related stuff taken out of codeland and into just the audio files themselves that may be all I'll need.

Also, the issue I was having with some sound effects not playing was difference in volume. GM sound engine's idea of 0.225 volume is different from GMFMODSimple's - if you set anything in GM default to less than 0.7 it's completely silent, so I adjusted single-digit volume numbers by adding 8 after the decimal point and 75 after the decimal point for multiple-digit volume numbers.

The other issue I have at the moment is pausing sounds. Game Maker's sound engine is so backwards it only has a rudimentary pause function for MIDI files (setting the tempo of the MIDI to 0), so I'm going to make it so if you run GMOSSE using GM's sound engine instead of the GMFMODSimple DLL the music will not be able to be paused (blank area in container script). Because I'm handling pausing for GMFMODSimple commands through a script I'm going to have to reorganise how I make use of groups. GMFMODSimple has 4 groups - I use group 2 for sound effects, group 3 for voices and group 1 for background music, but the only reason I had groups in the first place was to add filters and group-wide volume settings which I'll also need to scrap and change. I'll need to make a separate container script for volume handling anyway due to what I mentioned above, and in-game filtering is now redundant since the sound files will already be 'filtered' to how I want it on loading, which leaves group 1 for pausing. Currently I'm going to write it so that when you call the script scr_pause_snd when running under GMFMODSimple it'll add the sound you use the script with to group 1 and then pause group 1, but I don't know what kind of issues this will generate long-term so I'm gonna think this one out for a while. Same issue goes for stopping a sound within GMFMODSimple too.

So um, yeah, not dead, just taking a while.  :lol:
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #17 on: December 07, 2011, 01:09:53 AM »
Still not dead, just been busy and been more frequent at other forums. :P

I'll put the long story short:

The rewrite of the sound engine failed. I ragequit on that.

I then had a stroke of genius and got input replay files (like when you save a replay and you can watch yourself play afterwards in MAME etc) but have had continuous headaches throughout the entire process. At the moment it works but Arxtyan doesn't despite everything I've tried, and I seriously feel like I've banged my head against the wall too many times trying to fix it. I don't think I'm allowed to blaspheme and talk about cutting wrists to give blood to the devil so I won't bother describing my frustration any further.

I also got additional explosions and Dodonpachi-style lasers implemented by S20-TBL, a fellow member at shmups.com who has contributed a lot to GMOSSE, however this laser comes with performance issues due to how Game Maker handles complex drawing functions.

Finally, nothing on the replacement of the HUD either, however as a result of this attempt to get input replays working all random variables in bullet patterns and enemy spawn positions have been removed and the stage should be somewhat easier to play through, and with some balancing of enemy health should now be more plausible to get over the 1 mil mark for score (I've gotten 2 mil on a good day, and a person at shmups.com got over 3 mil on MK-V).
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #18 on: December 24, 2011, 10:30:34 PM »
Merry Christmas guys! You'll be pleased to know that I'm (again) still not dead but I do have the flu and a tropical cyclone due to hit me this evening so don't be surprised if I go out of contact again.

So again I'll summarise what's transpired:
1. I got wobble scrolling properly working. It works like Xeno Fighters R does it except unlike XF-R's code this one works regardless of rotation and uses less lines of code.
2. The DDP lasers got removed. The performance issues with the legacy PC was a bit too close for my comfort. The explosions are still in though.
3. Swordfish and Arxtyan both refuse to behave properly with input replays. I've given up trying to get it working properly so consider the function experimental at best.
4. Invader's shot got changed so that its current shot is its main shot but shoots Infinity Gene-like fastfiring lines when holding SHIFT, allowing it to be competent against popcorn enemies.
5. The options menu got revamped - you can now enable debug mode along with the input replay switch settings.
6. Sound, music and voice volume controls got added, and loud sounds have been reduced in their volume.
7. The asteroid graphics have been replaced with something unique instead of sprite edits of the ones in Gleylancer.
8. I had a go at a non-legal version of GM:HTML5 with GMOSSE and the performance results were disgusting. Not touching that version of GM for a long while.
9. Some enemies have been nerfed compared to MK-V (in case I didn't mention this already) and all bullet patterns and object spawning is no longer randomised.
10. Of the ships that do work with input replays I recorded runs where I got approx. 3 mil with each and these will be included with MK-VI when it comes out.

I've probably missed a few points, feel free to ask if you want me to elaborate. I'm hoping to get a release out for around New Year, and if that fails late January/February to mark the 1 year anniversary since this project officially started.

Oh, and as of time of writing I plan to add in Emerald Master's fonts for use as the new standard fonts in GMOSSE later tonight providing not too many issues occur as a result.
« Last Edit: December 24, 2011, 10:35:33 PM by BPzeBanshee »
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline TheomanZero

  • Radical Dreamer
  • (18) Atom
  • *
  • Posts: 825
  • No offense, JudgeSpear ...
Re: G.M.O.S.S.E
« Reply #19 on: December 26, 2011, 10:15:42 PM »
1. I got wobble scrolling properly working. It works like Xeno Fighters R does it except unlike XF-R's code this one works regardless of rotation and uses less lines of code.
Hmm . . . if it's more efficient than Xeno Fighters R's current implementation, is it the sort of thing that could be applied to XF-R?  Are the engines similar enough for it to even be applicable?

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #20 on: December 27, 2011, 03:00:34 AM »
1. I got wobble scrolling properly working. It works like Xeno Fighters R does it except unlike XF-R's code this one works regardless of rotation and uses less lines of code.
Hmm . . . if it's more efficient than Xeno Fighters R's current implementation, is it the sort of thing that could be applied to XF-R?  Are the engines similar enough for it to even be applicable?
That'd be for Alluro to figure out. I think it could definitely be implemented, although there are some factors to consider such as whether it messes up handling of the view_yview variable or such stuff. The current code for it in GMOSSE does not account for rooms that scroll around all over the place (like XF-R's Stage 5B). I don't see the current XF-R code being that much of an issue but since what he's got simply works I doubt there'll be any reason to change it until he decides whether he's going to add screen rotation (TATE) or not - I must confess I once attempted to shoehorn his code into GMOSSE and it broke as soon as I started using screen rotation, so if he implements TATE as I've done it he may run into issues.

In terms of differences between GMOSSE and XF-R as engines, there's probably a lot of similarities as (again from my observations) we both use object controllers, whereas some developers use exclusively scripts for everything and next to no rooms, but there are also a fair bit of differences. I like keeping my code simple on visible inspection but I've also attempted to implement a lot more functions which may make GMOSSE seem more complex than it actually is.
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #21 on: January 01, 2012, 03:13:41 AM »
GMOSSE MK-VI is out! See original post for download links and such!
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #22 on: March 04, 2012, 12:52:19 AM »
Been quite frustrated with this and everything in life in general lately which is why I haven't updated.

First off, Arxtyan is no more. Fear not, I made a replacement fifth ship (and you can also see at attempt at improving menu readability too):



Yeah, after nearly a year since a member suggested a Rayforce ship I finally put one in. Due to engine design choices it doesn't lock on to enemies 'below' the ship like in Rayforce, but other than that and the lasers not behaving exactly the same with turning and speed it's  close. It's certainly possible for me to implement that function, not to be confused with limitations, but I just don't particularly want to redo enemy handling YET AGAIN. I will do it if people seriously want it, though it's probably something you're better off doing yourself once you have the knowledge if you want to make something as visually complex as Rayforce.

Regarding input replay fixes, I changed input replays from using queues to a list. I'm not sure if it does much to memory at this point but where Arxyne was once not working it now does. Unfortunately Swordfish still won't work with input replays, but testing the other ships shows no change. I did however notice that when speeding up a playback of Xonochrome it ended up with a different score at the end, but when running it at normal speed afterwards it was fine. Beware of the fastforward button (+).

Also, in case I forgot to mention, stage 2 now looks like this:



Still no enemies in-game yet but Kaiser's drawn up a few which I'll use. There'll be a midboss and a less stupid version of Gleylancer Stage 4's wallspawning thingy for the main boss and a lot of wall-based obstacles. Expect Stage 2 to play very differently from Stage 1 where you had a lot of space and scoring involved chaining till the boss. Stage 1 now transitions to this stage at the end, walls work and will kill you on collision, and Busterhawk's bound shot is now useful for something.

In other news, I've fixed up a few more bugs I've noticed with the score and life controller that appeared after making them persistent objects. They were keeping the chain count, countdown, score, lives and bomb count after restarting a stage. I fixed this so that restarting on Stage 1 gives you the default stock like it should, and for any other stage it'll set it to what you had upon entering that stage to begin with. For example, if you reached Stage 2 with two lives and six bombs and 2,500,000, wasted a life and got your bombs reset, and killed a few enemies, upon hitting "Restart Stage" you'd be back to two lives, six bombs, and 2,500,000. No restart milking, no restartitis.
In addition to this I've also been trying to fix up the layouts of a lot of the old code, and the naming structure. Afterimage and outline pictures are no longer inconsistent and confusing and go by the format of spr_<ship>_<aft/out>. Xonochrome's filename stuff got shortened too. If statements are properly spaced in most places now - the main exception is the highscore system that Nimitz implemented which I avoided since it has long lines in it and a LOT of brackets that would probably make things worse. I did however add a Ship variable to what's outputted on the highscore table, so now the highscore will tell you what ship you used in order of which one appears in the ship selection menu (Arxyne is 5 - Xonochrome is 1, etc).
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #23 on: April 30, 2012, 05:22:44 AM »
Aaaaa lack of updates again

Well first off, in-game filtering with GMFMODSimple is no more! Everything sounds exactly as they do from the file. That GM Sound Engine conversion stuff I attempted to do back in MK-V was actually useful for something after all - the files that I rerecorded with using the filter are now the ones in use. Furthermore some sounds have changed entirely in the case of Arxyne, and the explosion sounds.

I figured out how to make bullets behave like they would in a standard level (like Stage 1) even on a stage that is actually scrolling, and applied the same to the player ship and enemies. Still needs tweaking however as it only works for some things and only seems to want to work at a certain speed. As for enemies, there are some sprites made but at the moment it just has Stage 1's timeline of enemies (not an actual GM timeline, I've eradicated those) which after some bugfixes behave more or less exactly the same as they do in Stage 1. Also, all bullets are now red and most have been redrawn.

I lost about a days work on progress in regards to renaming of stuff so if there's something in regards to that that I haven't fixed, oh well. Naming was never a serious issue anyway.

The highscore system should be properly finalised. They're encrypted as well now and it all works via three simple script functions - one for loading the highscores from external file into memory, one for saving the highscores in memory to an external file and one for sorting it and stuff (which itself is called at Game Over).

Other than that I can't think of anything else. If anyone has notable bugs to report let me know and I'll let you know if I fixed them yet.
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline Trinitro Pucci

  • Nuclear Waste
  • *
  • Posts: 1022
  • Robot Master of TNT...and author of SMWF
Re: G.M.O.S.S.E
« Reply #24 on: May 27, 2012, 09:08:31 AM »
Aaaaa lack of updates again

Well first off, in-game filtering with GMFMODSimple is no more! Everything sounds exactly as they do from the file. That GM Sound Engine conversion stuff I attempted to do back in MK-V was actually useful for something after all - the files that I rerecorded with using the filter are now the ones in use. Furthermore some sounds have changed entirely in the case of Arxyne, and the explosion sounds.

I figured out how to make bullets behave like they would in a standard level (like Stage 1) even on a stage that is actually scrolling, and applied the same to the player ship and enemies. Still needs tweaking however as it only works for some things and only seems to want to work at a certain speed. As for enemies, there are some sprites made but at the moment it just has Stage 1's timeline of enemies (not an actual GM timeline, I've eradicated those) which after some bugfixes behave more or less exactly the same as they do in Stage 1. Also, all bullets are now red and most have been redrawn.

I lost about a days work on progress in regards to renaming of stuff so if there's something in regards to that that I haven't fixed, oh well. Naming was never a serious issue anyway.

The highscore system should be properly finalised. They're encrypted as well now and it all works via three simple script functions - one for loading the highscores from external file into memory, one for saving the highscores in memory to an external file and one for sorting it and stuff (which itself is called at Game Over).

Other than that I can't think of anything else. If anyone has notable bugs to report let me know and I'll let you know if I fixed them yet.
Everything sounds promising, but I can't download your game... :dead:

My games:
-Super Marisa World FUSION: http://www.fusiongameworks.net/smf/index.php/topic,848.0.html
-Super Mario Cave Story (on hold): *no link*

Weapons: Nitro Blast, Nitro Shower
Good Point: Gets the job done.
Bad Point: Unstable.
Likes: Explosions.
Dislikes: Hyperactive People.
Quote:  “Have a blast, MegaMan!”
(click to show/hide)
What I also support:
(click to show/hide)

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #25 on: May 28, 2012, 02:26:37 AM »
Everything sounds promising, but I can't download your game... :dead:
Why not? I just tested and the link's working fine for me. :S

In other news, external music config, and from this proper credit for the Gleylancer music is in. In addition, I changed the in-game UI to be a bit more minimalist. In this screenshot below you can see the changes, and you can also see a bullet that is solid red while the others have gradients - this is a new bullet prediction system I've put in, inspired by the system in ring^-27 but less precise as it uses obj_player instead of obj_playerhitbox due to precision issues.
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline Trinitro Pucci

  • Nuclear Waste
  • *
  • Posts: 1022
  • Robot Master of TNT...and author of SMWF
Re: G.M.O.S.S.E
« Reply #26 on: May 28, 2012, 06:40:09 AM »
Everything sounds promising, but I can't download your game... :dead:
Why not? I just tested and the link's working fine for me. :S
The link does work, but the download wont start...

My games:
-Super Marisa World FUSION: http://www.fusiongameworks.net/smf/index.php/topic,848.0.html
-Super Mario Cave Story (on hold): *no link*

Weapons: Nitro Blast, Nitro Shower
Good Point: Gets the job done.
Bad Point: Unstable.
Likes: Explosions.
Dislikes: Hyperactive People.
Quote:  “Have a blast, MegaMan!”
(click to show/hide)
What I also support:
(click to show/hide)

Offline BPzeBanshee

  • (7) Tau
  • *
  • Posts: 69
Re: G.M.O.S.S.E
« Reply #27 on: May 28, 2012, 03:48:10 PM »
Well the download worked fine for me too. How odd. You have these issues downloading anything else on MediaFire? Got some ancient browser that needs an update or something (I use Chrome but the others should be fine)?

If worse comes to worse I could *maybe* try and upload a mirror somewhere else but I don't know of any other good websites for that sort of stuff and the sites the GM community uses are terrible - I tried downloading a 40 MB game from Yoyogames itself and it wanted me to wait like 3 hours (Akaschicverse took about 30 minutes and it's five times the size).
G.M.O.S.S.E - The Game Maker Open-Source Shmup Engine
Currently at MK-IX, updated 30/11/2016

Offline EvilMariobot

  • WE ARE NINTENDO! WE CHALLENGE ALL PLAYERS! YOU CANNOT BEAT US!
  • Safety Inspector
  • *
  • Posts: 1972
  • Well, that was fun!
Re: G.M.O.S.S.E
« Reply #28 on: May 28, 2012, 05:39:48 PM »
Everything sounds promising, but I can't download your game... :dead:
Why not? I just tested and the link's working fine for me. :S
The link does work, but the download wont start...
These sites can be a bit finicky about starting the download sometimes. You just got to keep trying (and make sure you clicked the right download link).

Offline Trinitro Pucci

  • Nuclear Waste
  • *
  • Posts: 1022
  • Robot Master of TNT...and author of SMWF
Re: G.M.O.S.S.E
« Reply #29 on: May 29, 2012, 06:14:36 AM »
Well the download worked fine for me too. How odd. You have these issues downloading anything else on MediaFire? Got some ancient browser that needs an update or something (I use Chrome but the others should be fine)?

If worse comes to worse I could *maybe* try and upload a mirror somewhere else but I don't know of any other good websites for that sort of stuff and the sites the GM community uses are terrible - I tried downloading a 40 MB game from Yoyogames itself and it wanted me to wait like 3 hours (Akaschicverse took about 30 minutes and it's five times the size).
Everything else works fine, onyl this download wont start. There isn't even a error message or something, just nothing...

My games:
-Super Marisa World FUSION: http://www.fusiongameworks.net/smf/index.php/topic,848.0.html
-Super Mario Cave Story (on hold): *no link*

Weapons: Nitro Blast, Nitro Shower
Good Point: Gets the job done.
Bad Point: Unstable.
Likes: Explosions.
Dislikes: Hyperactive People.
Quote:  “Have a blast, MegaMan!”
(click to show/hide)
What I also support:
(click to show/hide)

 

 Terra Alternata Visits

anything