Hello Guest, please login or register.
Did you miss your activation email?
Login with username, password and session length.

Pages: 1 ... 50 51 [52] 53 54 ... 83   Go Down

Author Topic: Horn of Balance  (Read 462735 times)

0 Members and 15 Guests are viewing this topic.
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1020 on: January 13, 2016, 09:54:09 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
Here's another little update report.
I had planned to continue progress according to the roadmap, but instead Wobmiar has helped by testing my latest build and a good amount of errors/issues have been solved as a result of that.

Code: [Select]
0.17.110 Studio (5 januari 2016)
* Fixed error: containers containing arrows try to spawn items upon destruction while you do not own the bow yet.

0.17.111 Studio (8 januari 2016)
* Solved a series of found errors/issues (via a workaround) by not allowing enemies to be active outside the current room

0.17.112 Studio (9 januari 2016)
* Fixed errors in scenes subboss 1

0.17.113 Studio (13 januari 2016)
* Fixed error during dungeon 2 secret entrance scene
* Fixed error shieldblocking enemy arrows
* Fixed Leevers burrowing in places other then sandy tiles
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1021 on: January 24, 2016, 10:36:21 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
Here's the weekly update again.

I'm happy to report that I've succefully started work on a major overhaul of the movement systems. The current system uses a large number of collision objects with sprites to check if for instance a wall is blocking the way. This new system will ALSO use a grid based collision system when it's finished. Check the attached image for a visual representation. Bottomline: This approach will save me a lot of time when masking new areas, allow for the deletion of 100-200 ingame resources, allow me to add world switching with the mirror later on and it *should* make for a more stable engine.

PROGRESS REPORT:
Code: [Select]
0.17.114 Studio (14 januari 2016)
* Fixed issue: persistent enemies (such as cannonballs) where not allowed to exist outside of the current room
* Fixed incorrect depth for released caught fairy
* Fixed issue with visuals created Somaria Block

0.17.115 Studio (23 januari 2016)
* Fixed error when picking up frozen enemies
* Cleaned up character movement scripting a little for future developments
* The game now always starts with day-time lighting
* Added tester functions to jump to a specific day-night time and to speed up/down day-night cycle
* Started building editor for upcoming collision grids

0.17.116 Studio (24 januari 2016)
* Day-night status is now included in the save file
* Finished adding collision grid editor (for new collision system and *eventual* magic mirror world hopping)
* Added functional diggrids to some rooms

ROADMAP:
Code: [Select]
== Phase A (goal: 1-1-2016)==
DONE Convert action object: obj_Movable_Object
DONE Convert trees
DONE  > OPTIONAL: Added darkworld trees
DONE  > OPTIONAL: Some dark world trees can be talked to
DONE  > OPTIONAL: New collectable item: apple
DONE Convert obj_Master
DONE Convert obj_Particle
DONE Convert last area data & scripts
DONE Convert camera / view scripting
DONE Convert final misc objects / sprites

== Phase B (goal: 1-3-2016)==
Convert darkness engine
Convert light sources
DONE  > OPTIONAL: Added new terrain: (in)visible floor
DONE Tweak+save day-night mechanics
Convert character movement engine
 > OPTIONAL: Added new object: bumper
 > OPTIONAL: Added new character state: Swimming
 > OPTIONAL: Added new character state: Diving
 > OPTIONAL: Added new character state: Drowning
Convert all collectable items (incl. fairies)
 > OPTIONAL: Some trees can be crashed into for apples and other items
 > OPTIONAL: Added fully functional fairy pond
Convert action object: obj_Container
Convert action object: obj_Switch
 > OPTIONAL: Added new “terrain”: blocks on/off from the ground

== Phase C (goal: 1-5-2016)==
Convert ALL character 36+ states (add list later on)
 > OPTIONAL: New enemy: (golden) bugs (from trees)
 > OPTIONAL: New “item”: enemy bombs (from tree mouth)
Convert character transition animations
 > OPTIONAL: Stairs up/down have black transition fade up/down
Convert character projectiles
Convert character shield mechanics
Convert scenes
Convert obj_Character remaining scripts / resources

== Phase D (goal: 1-8-2016)==
Convert enemy collision mechanics
Convert enemy movement scripts
Convert all default enemies (AI / etc)
Convert all bosses (AI / etc)

== Phase E (goal: 1-9-2016)==
Rebuild Item menu
Rebuild Map menu
Manage to fully restored old demo in time for NCFC
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1022 on: January 27, 2016, 04:11:44 am »
  • *
  • Reputation: +2/-0
  • Offline Offline
  • Gender: Male
  • Posts: 301
Do you know that there are 2 on your borders?
Logged
Games that I support:

Forums that I am a member of:
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1023 on: January 27, 2016, 08:07:46 am »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
The 1 and 2 in the screenshot are a graphical representation of the new solid system. I'm creating arrays/grids per room with values per 8x8 pixels. In the screenshot I have a tester function active that draws the values in this grid for debugging etc. The 1's represent blocked terrain that some items can still move over (like the boomerang). The 2's respresent completely blocked terrain.

When a character moves I'll next have to check with new grid if the new position is collision free, rather then checking against various actual "wall" objects. Well, I'll still be doing the later for things like curved walls etc cause of the shapes, but the number of checks against other objects should be diminished by 80-100% per room by this change.

Also, it'll hopefully be less likely that exploits can be found where players are able to walk through walls under VERY specific conditions (like in the desert dungeon). Sorry Wobmiar XD
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1024 on: January 31, 2016, 09:00:48 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
And here is this weeks progress report:

Code: [Select]
0.17.117 Studio (30 januari 2016)
* Made it so character default movement now also checks the collision grids

0.17.118 Studio (31 januari 2016)
* Tweaked diggrid editor furter for faster use
* Improved item shadow positioning script
* Finished converting character default movement scripts (excl. move speed)
* Implemented collision grids for ALL rooms (except dungeon 1) in the game
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1025 on: February 07, 2016, 07:03:57 pm »
  • *
  • Reputation: +1/-0
  • Offline Offline
  • Gender: Female
  • Posts: 13
Also, it'll hopefully be less likely that exploits can be found where players are able to walk through walls under VERY specific conditions (like in the desert dungeon). Sorry Wobmiar XD

*Insert Darth Vader voice here* NOOOOOOOOOOOO!!!!
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1026 on: February 09, 2016, 08:28:16 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
It's all good. I'm sure I'll mess up somewhere again eventually and add in all new unintented issues for you to find XD
Logged

Miles07

Knight of ERA
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1027 on: February 09, 2016, 11:46:50 pm »
  • Long live the Chaos!!
  • *
  • Reputation: +14/-0
  • Offline Offline
  • Gender: Male
  • Posts: 608
It's all good. I'm sure I'll mess up somewhere again eventually and add in all new unintented issues for you to find XD

Consider us your QA team.  ;)
Logged
I was talking to my friend last night, and he was mentioning about how in 1980, he thought the internet would become this amazing place where people from across the world would share ideas. I was telling him about how this project [KOT] has worked, lurching along for years and drawn by different people from across the globe, and he thought it was beautiful. And he was right, it's awesome. :D

Zelda Items Spritesheet album (OUT OF DATE) - (link here)
A Link Across Time project - (link here)
Boss Keys project (Metroid) - (link here)
Boss Keys project (Zelda) - (link here)
Boss Keys project Trello Board - (link here)
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1028 on: February 14, 2016, 09:39:30 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
I'll release a work in progress soon then. Maybe next weekend. I'm at a point now where errors *shouldn't* be happening anymore so it seems like good time to start the early testing anyway. Be aware that all character speeds are still all 2x since the AI's still need to be converted (to 60 fps).

Progress made:
Code: [Select]
0.17.119 Studio (7 februari 2016)
* Implemented collision grids for almost all remaining rooms
* Cut 140 masking sprites that are now obsolete as a result of the new collision mechanics (and hundreds upon hundreds of instances)

0.17.120 Studio (12 februari 2016)
* Further optimized tileset water dungeon
* Implemented collision grids for the last dungeon 1 room
* Fixed issue with diggrids missing in the old overworld
* Fixed issue with staircase appearing in dungeon 2
* Fixed error in sandworm AI script
* Finished expanding ALL collision mechanics (enemies, projectiles, items etc) to also account for the new collision grids.
* Reorganised older terrain and masking sprites

0.17.121 Studio (14 februari 2016)
* Fixed visuals rupees
* Integrated fairy object with other collectable items

Roadmap:
Code: [Select]
== Phase A (goal: 1-1-2016)==
DONE Convert action object: obj_Movable_Object
DONE Convert trees
DONE  > OPTIONAL: Added darkworld trees
DONE  > OPTIONAL: Some dark world trees can be talked to
DONE  > OPTIONAL: New collectable item: apple
DONE Convert obj_Master
DONE Convert obj_Particle
DONE Convert last area data & scripts
DONE Convert camera / view scripting
DONE Convert final misc objects / sprites

== Phase B (goal: 1-3-2016)==
Convert darkness engine
Convert light sources
DONE  > OPTIONAL: Added new terrain: (in)visible floor
DONE Tweak day-night mechanics
DONE Convert character movement engine (excl. speed settings)
DONE Convert all other generic movement engines (excl. speed settings)
 > OPTIONAL: Added new object: bumper
 > OPTIONAL: Added new character state: Swimming
 > OPTIONAL: Added new character state: Diving
 > OPTIONAL: Added new character state: Drowning
IN PROGRESS Convert all collectable items (incl. fairies)
 > OPTIONAL: Some trees can be crashed into for apples and other items
 > OPTIONAL: Added fully functional fairy pond
Convert action object: obj_Container
Convert action object: obj_Switch
 > OPTIONAL: Added new “terrain”: blocks on/off from the ground

== Phase C (goal: 1-6-2016)==
Convert ALL character 36+ states (add list later on)
 > OPTIONAL: New enemy: (golden) bugs (from trees)
 > OPTIONAL: New “item”: enemy bombs (from tree mouth)
Convert character transition animations
 > OPTIONAL: Stairs up/down have black transition fade up/down
Convert character projectiles
Convert character shield mechanics
Convert scenes
Convert obj_Character remaining scripts / resources

== Phase D (goal: 1-9-2016)==
Convert enemy collision mechanics
Convert enemy movement scripts
Convert all default enemies (AI / etc)
Convert all bosses (AI / etc)

== Phase E (goal: 1-10-2016)==
Rebuild Item menu
Rebuild Map menu
Manage to fully restored old demo in time for NCFC
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1029 on: February 20, 2016, 07:59:16 am »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
Just a little heads-up for those following my posts:
Life is getting in the way this weekend so there won't be any progress / demo for the near future.
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1030 on: March 04, 2016, 06:25:16 pm »
  • AKA "Micah DS"
  • *
  • Reputation: +9/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1347
(snip) I'm creating arrays/grids per room with values per 8x8 pixels. (snip)
When a character moves I'll next have to check with new grid if the new position is collision free, rather then checking against various actual "wall" objects. Well, I'll still be doing the later for things like curved walls etc cause of the shapes, but the number of checks against other objects should be diminished by 80-100% per room by this change.

I'm quoting a slightly old post from January, but hey, I've been gone for a while and just now saw this. XD
I just wanted to say that I really like this move to using arrays for the main solid collisions. I wonder what other awesome updates I've missed so far? Haha, not sure if I'll be able to catch up on it all. :P

I hope to get involved in helping with this again, at least in testing for bugs, but possibly in other ways too.
Logged
  • My Music
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1031 on: March 04, 2016, 07:17:07 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
You haven't missed too much in the way of new content I believe. I've mainly been working on a conversion to Gamemaker Studio and 60 fps for about 1,5+ years now. This includes recoding nearly every line of code I come across since everything needed to be looked at anyway. It has been taking WAY longer then planned, but it least the engine is more robuust, clean and futureproof when I'm done. Also I've also been slowly building the framework so it allows for future mechanics like mirror warping between worlds (which was straight out impossible to do efficiently in the old situation).

The plan was/is to finish converting the collectable items this weekend and then release a new techdemo for public testing. Coding related to Link, enemies, scenes, ingame menu's and some smaller things still needs converting (which is about 20% of the game), but it is really starting to feel like the old demo again. And any fatal errors *should* have been dealt with by this point.
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1032 on: March 06, 2016, 06:05:33 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
Here is another progress report (also check the attachment for some visuals):

Code: [Select]
0.17.122 Studio (5 maart 2016)
* Fixed surface stack issue after depth change
* Fixed depth issue key falling from ceiling
* Fixed depth issues pull switches
* Edited speed after using saving & quiting option
* Converted collectable items
* Fixed infinite small keys exploit
* Crashing into some trees nets you apples / items
* Fixed transition underneath large rock in old overworld
* Crashing into trees can also spawn one-time only items like heart pieces and such

0.17.123 Studio (6 maart 2016)
* Combined character step events into one
* Fixed collectable fairy depth issues
* Fixed visuals while grabbing downwards
* Combined character body and head draw events
* Fixed graphical issue while wall crashing

Some things in the roadmap have been pushed back by a month due to the recent delays ('cause of life):
Code: [Select]
== Phase A (goal: 1-1-2016)==
DONE Convert action object: obj_Movable_Object
DONE Convert trees
DONE  > OPTIONAL: Added darkworld trees
DONE  > OPTIONAL: Some dark world trees can be talked to
DONE  > OPTIONAL: New collectable item: apple
DONE Convert obj_Master
DONE Convert obj_Particle
DONE Convert last area data & scripts
DONE Convert camera / view scripting
DONE Convert final misc objects / sprites

== Phase B (goal: 1-4-2016)==
Convert darkness engine
Convert light sources
DONE  > OPTIONAL: Added new terrain: (in)visible floor
DONE Tweak day-night mechanics
DONE Convert character movement engine (excl. speed settings)
DONE Convert all other generic movement engines (excl. speed settings)
DONE Convert all collectable items (incl. fairies)
DONE  > OPTIONAL: Some trees can be crashed into for items like apples
 > OPTIONAL: Added fully functional fairy pond
Convert action object: obj_Switch
 > OPTIONAL: Added new “terrain”: blocks on/off from the ground
Convert action object: obj_Container

== Phase C (goal: 1-7-2016)==
Convert ALL character 36+ states (add list later on)
 > OPTIONAL: New enemy: (golden) bugs (from trees)
 > OPTIONAL: New “item”: enemy bombs (from tree mouth)
 > OPTIONAL: Added new object: bumper
 > OPTIONAL: Added new character state: Swimming
 > OPTIONAL: Added new character state: Diving
 > OPTIONAL: Added new character state: Drowning
 > OPTIONAL: Added new “terrain”: magical tracks
Convert character transition animations
 > OPTIONAL: Stairs up/down have black transition fade up/down
Convert character projectiles
Convert character shield mechanics
Convert scenes
Convert obj_Character remaining scripts / resources

== Phase D (goal: 1-10-2016)==
Convert enemy collision mechanics
Convert enemy movement scripts
Convert all default enemies (AI / etc)
Convert all bosses (AI / etc)

== Phase E (goal: 1-11-2016)==
Rebuild Item menu
Rebuild Map menu
Manage to fully restored old demo in time for NCFC

And finally: I've added a demo for those wanting to see the current state of development. Be mindfull that the following is not yet fully converted: Coding related to Link, enemies, scenes, ingame menu's, darkness, hitswitches and containers.

Downloadlink: https://www.dropbox.com/s/3cxyfz74hlm9aoy/Zelda%200%2017%20124%20tester%20demo.zip?dl=0
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1033 on: March 08, 2016, 06:27:04 am »
  • AKA "Micah DS"
  • *
  • Reputation: +9/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1347
So I was thinking a couple days ago, and I've been wanting to help out with this project and I realized there is one big way I can help. Because during my time away from here, I was certainly not away from GameMaker: Studio.

I've actually got some code and some tweaks I'm wanting to suggest to you which would achieve the following in your game:
1) Increased user input responsiveness; faster input response (such an important thing, yet GM users rarely address it, probably because they aren't aware they can control it)
2) More fluid gameplay, smoother than a baby's buttocks
3) Increased efficiency and game FPS (i.e. not the graphical FPS, but the logical 'FPS')

But instead of barfing up the code here right now in a rather haphazard way, I'd like to give it in a very nice and concise way. I think I mentioned some place that I'm trying to get a GameMaker:Studio tutorial thing written out with the plan to post a topic in the code section, and I'll be including the code I'm talking about in there. So I'll be sure to let you know when I get it up (or you'll just see the topic, so I guess I don't need to tell you...). So I'm just giving you a heads up. It will be the part that talks about disconnecting the drawing from the logic. It makes use of frame skipping.

Of course, I'm saying all of this assuming you achieve the 60 FPS simply by setting the room speed to 60. And you probably don't have any kind of frame skipping implemented yet? Please correct me if I'm wrong.

I played the latest tester demo yesterday and realized the physics/movement speeds and animation speeds are still needing to be tweaked and slowed down a bit (I'm guessing that's because of the transition to 60 room speed from 30?). I was actually reluctant to even mention this stuff about tweaking it with frame skipping and whatnot until I had played the demo, because if all your speeds were already perfected, you'd have to change them again to implement my suggestions, if in fact your room speed is only 60 and not set higher. I say this because I will be suggesting upping the room speed to 300, XD and it should be obvious that a faster room speed means more executed cycles of events per second, which means more movement will happen per second, making everything faster, so things need to be made to move less each step to compensate. Pretty straightforward.

BTW, faster room speed is how you gain better user input responsiveness. This is something I will explain in that topic I mentioned. I hope many GM users catch on to this, because the slightly sluggish controls of GM games are hurting so many games. Input response is ultra critical to a proper and great gaming experience.

So anyway, I'll be trying to write out all this stuff as fast as life allow me so I can get that topic up for you and all the GM users. I expect it will help the project a lot and it's really not hard to implement. BTW, it's less than 10 lines of GML to add. The time-consuming part of implementing it would be to slow down all of your movement and animation speeds to compensate for the room speed up.
Of course, it'll be up to you to implement or not, but I'm just throwing the suggestion out there, because I seriously think it would be more than worth the trouble of implementing it.

Possible complications after implementing:
It would not break anything unless you're putting logic inside of the draw event that doesn't belong there, because frame skipping will often times not even execute anything in the draw event; it's not like it just skips over drawing functions, but it skips the draw event entirely.
You would have no worries of my code breaking game logic. My method does not control speeds by multiplying movements by delta time, as that gives slight inaccuracies in your movement logic, unless you do some overly-involved code. But it's seriously not worth it at all, and the extra logical processing required for that overly-involved code would likely give worse CPU performance than my way in the end. Even if that weren't the case (which I'm pretty certain it would be), you'd still get more complex code that could even lead to nightmare testing and headaches if you make a tiny slip up, or worse, you might even miss a screw up that causes logic to be inconsistent and may even make the gaming experience unfair at random intervals... uh, yeah, just too many downsides with delta time movement, especially since GM already has stuff 'under the hood' of its room speed control to maintain timing quite well.
Over the course of about 1.25 years, I was off and on trying various things with delta time and frame skipping until I arrived at the code I have now, and it's just a really good solution, given the way GM works. Some other GM users also have done a lot of work testing and trying various things out in this area and have concluded that frame skipping is the way to go as well.

Ah, but I'd better shut up. I always talk too much when it comes to these things. Sorry, haha. :P I really hope this info - and the stuff I plan to share with you later - will help you take HoB and any other future GM projects further. :)

/ wall of text XD
« Last Edit: March 08, 2016, 06:35:41 am by FrozenFire »
Logged
  • My Music
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1034 on: March 08, 2016, 07:11:16 am »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
Sounds interesting!
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1035 on: March 08, 2016, 09:22:18 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
Here is a more expansive awnser now that I don't have to rush getting to work:

The game is set to 60 FPS. I'm tinkering with the game logic still so the character movement, enemy movement and all collisions will be all performed within the same step in the next demo. That should help with smootness / experienced fps as well since in all the demo's thus far enemies move after the character but before the collisions have been checked. (So basically you've been responding to the enemy afterimages)

Last year I experimented with a higher fps, but my monitor couldn't handle it so Gamemaker did not seem to support it in response. (I'm quit interested in how this might be bypassed). Thus I never saw the need for screenskipping because the game already ran soothly at what I figured was the max fps.

Everything except for enemy and character movement and actions has been converted from 30 to 60 fps so introducing a higher fps will require a large time investement I fear. Still, I'm very much interested in learning more about the concepts you've learned.
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1036 on: March 13, 2016, 07:46:48 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
Here is another update. This week has mostly revolved around examing and fixing a few long standing isues and laying the groundworks for next week.

Code: [Select]
0.17.124 Studio (7 maart 2016)
* Ordened begin step event character control objects further
* Fixed bizar depth issue character shield while on lower floors around depth 20000000. Weird stuff.

0.17.125 Studio (13 maart 2016)
* Organised enemy control step events
* Further organised character control step event
* Fixed issue: falling into abyss when on movable platform while dying or using medallions
Logged
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1037 on: March 14, 2016, 08:54:21 pm »
  • *
  • Reputation: +2/-0
  • Offline Offline
  • Gender: Male
  • Posts: 301
Wow! My mind is blown.
Logged
Games that I support:

Forums that I am a member of:
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1038 on: March 16, 2016, 06:31:18 pm »
  • AKA "Micah DS"
  • *
  • Reputation: +9/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1347
(snip)
Last year I experimented with a higher fps, but my monitor couldn't handle it so Gamemaker did not seem to support it in response. (I'm quit interested in how this might be bypassed). Thus I never saw the need for screenskipping because the game already ran soothly at what I figured was the max fps.

Everything except for enemy and character movement and actions has been converted from 30 to 60 fps so introducing a higher fps will require a large time investement I fear. Still, I'm very much interested in learning more about the concepts you've learned.

Just wanted to say, I've been more busy than expected, but hopefully I'll be able to post more properly later. The thing I've been writing about GM ended up becoming far more in depth than I had planned, so I just recently decided to focus only on this code I'm talking about and I can always post the other GM stuff later.

But yeah, if your monitor runs at 60 Hz (which is pretty standard) and you set the room speed to over 60, GM will try to draw faster than the monitor refresh rate. This is obviously wasteful as far as the graphical side of things goes. Also, if you have checked the box "use synchronization to avoid tearing" EVEN YOUR LOGIC WILL BE LIMITED TO A MAX OF 60 EVENTS LOOP CYCLES PER SECOND, in my experience. But it may depend on your monitor, since it's waiting for v sync? Not sure about that, but all I know is, it's best to avoid using that option at all costs because it will hurt user input response and the gameplay often takes quite a hit and it's simply not worth it. It'd be better to have a little tearing and keep the input response fast and gameplay smooth.

But anyway, the issue with GM is that - by default - drawing and logic are tied together. If you have a room speed of 30, that's 30 events loop cycles per second, and drawing is one of those events, so it also goes 30 times per second. This also means each key press and whatnot is checked 30 times per second. This may sound fine, but it's actually not. In fact, even 60 input checks per second has a noticeable difference between that a room speed of 300, especially with twitch games or touch screen games, but also with action games such as this, even if it's to a lesser degree, it's certainly enough to make an important difference. So this is the reason why I highly recommend a room speed of 300, among other reasons which I won't go into now about syncing and how it's an important number that divides evenly by most standard monitor refresh rates.

But anyway, the issue this is that - if you simply up the room speed to 300, then GM by default is also going to try to draw 300 times per second, which is just flat out ridiculous. So that's where frame skipping comes in. Anyway, I'll make a topic later, but I wanted to give you my code for now. So here it is:

First, do these two things:
1) Set your room speed to 300
2) Ensure that "Use synchronization to avoid tearing" is OFF

Second, use this code:
----------------------------------------------------------------------
VARIABLES TO SET IN CREATION CODE
----------------------------------------------------------------------
Code: [Select]
timing_fps = 60; //or whatever fps you desire
timing_frame = 1/timing_fps;
timing_frame_count = 0;
----------------------------------------------------------------------
CODE FOR STEP EVENT
----------------------------------------------------------------------
Code: [Select]
//IT'S DANGEROUS TO GO ALONE , TAKE THIS FRAME SKIPPING CODE I MADE ! XD
draw_enable_drawevent(false);
timing_frame_count += delta_time/1000000;
if timing_frame_count >= timing_frame{
    timing_frame_count -= timing_frame;
    draw_enable_drawevent(true);
}
----------------------------------------------------------------------

And that's it!

Unfortunately, I'd like to say more, but I'm rushing right now because I have to go to work, but I definitely plan to explain things further whenever I'm able to make that code topic about GM. In that topic, I plan to cover things like what all is happening when you change the room speed, explaining how and why it affects "real FPS". That and many other things. Definitely wanting to shoot down some harmful misconceptions about GM. Ah, so many things I want to do, but alas, life responsibilities don't really allow me to get around to it so quickly.
Logged
  • My Music
Re: [DEMO 17 out] Alttp - Horn of Balance
« Reply #1039 on: March 16, 2016, 09:15:09 pm »
  • *
  • Reputation: +16/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1626
You do realise that if this work that I'll have to also credit you for additional programming don't you? If you'd ever decide to also help with level design and story I'd have to credit you a little bit on literally EVERY aspect of the development XD

I'll definatly try out your coding (though I'm going through a little bit of a rough patch medically this week so it might take a little while).
Logged
Pages: 1 ... 50 51 [52] 53 54 ... 83   Go Up

 


Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved



Page created in 0.064 seconds with 75 queries.

anything