Check out Cyangmou's awesome character template! It can save you a whole lot of time and is 55% off for a few days! itch.io/s/14676/spalding-character-sale A massive bargain for the amount of time and expertise put into these sprites. He's also made the sprites I've used in this video *free* along with some other cool platform assets: cyangmou.itch.io/free-side-scroller-prototype-box
@madcontrollerx263
5 жыл бұрын
Hey, Shaun. Nice video! Just wanna ask u something. You obviously, know a lot about game developing and as u use Gamemaker studio software. I was wondering, u know about Toby Fox, right? The developer of UnderTale and such. Well his newest game's demo, DeltaRune, just released, and he, himself said that it was a rather big project, and thus, he would need to form a team, and so I thought, u know. with your experience as a developer(a former Ubisoft developer at that), could try to help him, I think he would really appreciate that. If u read this, thanks for your time and plz consider it. Sincerely, Mad.
@SaraSpalding
5 жыл бұрын
It would be amazing to work on that project but he said himself he'd be the one to approach folks first. Thanks though! :) @@madcontrollerx263
@jasiahweiss3982
5 жыл бұрын
Hi Shuan, I was just wondering if this tutorial works on the Platformer Series game you made. I am just asking because when I was following the tutorial, the Player was just freaking out when I would let the recording play. Could you please reply, I think this could be a cool addition to the Platformer Game.
@Alex_Power
2 ай бұрын
You are a great teacher, Shaun. This tutorial has helped me implement a ghost car in my racing game on GX Games (Topdown Turbos). The tutorial holds up well, even 5 years later!
@IceMetalPunk
5 жыл бұрын
Small tip: you don't have to delete the save file before writing. The file_text_open_write function automatically clears the contents of the file when it opens it. (file_text_open_append is the function that lets you write at the end without clearing it.) I'd also suggest, for the fade-out, rather than subtracting a constant from the alpha, you instead set the alpha to something like (1 - frame/ghostFrames). If you just subtract a constant, you run the risk of it completely fading out before the entire recording is played back. By setting the alpha based on the current frame percentage, you guarantee a perfect end-to-end fade out for any recording length. (Also, at the risk of being a bit pedantic: GameMaker doesn't use pointers for its data structures. The variables hold handles instead, which means they don't point to a memory address, they're just numerical indexes. The first list created or loaded into memory gets index 0, the second gets index 1, etc. The same is true for maps, etc. Which means you could have a map with index 0 and a list with index 0 at the same time; their handles will both be stored as 0, which wouldn't happen with pointers.)
@Kreesty
5 жыл бұрын
Working in Unity but watching this because Unity doesn't have this kind of tutorials
@etiennedecarpentries8294
5 жыл бұрын
Thank you man insane tuto ! :) To the ones who just want to record movements and export the game to make something like a "developper ghost" without tranferring files you can store the whole json file in a string variable and read it instead of reading the json file :)
@randominternetuser5123
5 жыл бұрын
Dude, I really love your tutorials! Keep it up!
@bluemelonhead2698
4 жыл бұрын
Really good memory management
@AlyxxTheRat
5 жыл бұрын
I'm gonna use this for recording a demo for my game that plays during the "attract mode" of the start of the game that plays back recorded gameplay. Might not make the recording function actually be in the game but just for myself to record the demos.
@RichardMundy
5 жыл бұрын
Hi Shaun, I was curious if this was possible to replicate in Game Maker 8? I still use that since it's always worked for me but I would still like to know if it is. Great tutorial!
@riemerdijkstra5974
9 ай бұрын
small question that has little to nothing to do with the video. If I add a ds_list to another datastructure and then destroy that list will it destroy the list in the datastructure as well?
@alanharding7494
5 жыл бұрын
wow i really needed this!! Thank you So much
@animebird3919
3 жыл бұрын
Is there some way to record the screen, for the purpose to record your a part of the players gameplay to then play it back in the after texts
@aaronnoble9860
5 жыл бұрын
Does this tie in with the tutorial on melee hit boxes and combo systems by any chance? I only ask because in that video you mention being able to record the coordinates of rectangular hit boxes in a ds_list. :)
@SaraSpalding
5 жыл бұрын
Not particularly but jsons would likely be used for that kind of thing (as they would for quite a lot of external data systems)
@oleksiiliaskovskyi5381
5 жыл бұрын
How to export it? I am catching an error, because of json file doesn't exists. What we need to do?
@rungeon83
5 жыл бұрын
Would it be better to record controls when they change and what frame, obvs we'd have to rework the ghost to move like the player would depending on the controls being read back from that current frame. This should drastically reduce file sizes, I do think 44kb is a big file for how short that run was. I would imagine a full minute would maybe take a while to read in that json file, I will try this and see. Cool video per usual!
@SaraSpalding
5 жыл бұрын
Maybe but unless your game is structured just right for it, that might lead to a lot of duplicated code you have to manage to maintain parity. And would also make ghosts less backwards compatible (if that is an issue). Unless your goal is to eliminate any and all loading I think for the vast majority and even fairly extreme use cases this approach is surprisingly affordable.
@SaraSpalding
5 жыл бұрын
For what it's worth I have several of these in PokeyPoke up to like 30s long. They're about 250kb on average, all loading into memory and hanging out there simultaneously (for now, at least) and it has next to no impact on anything.
@rungeon83
5 жыл бұрын
Okay! that's actually pretty good, I'm making a supermeat boy esq game and the levels are only small and meant to be done as quick as possible, so I could have a cut of rate. but yeah 250kb isn't bad at all! Thanks for that Shaun.
@androidgameplays4every13
5 жыл бұрын
Instead of recording every single frame, why not try to record player's input and create an object: 'ghost' to perform all recorded actions? would that work?
@Squiffel
2 жыл бұрын
Requires a deterministic engine that always recreates the exact same behavior. It can easily desync if not done flawlessly. It's more complicated.
@dominus2366
5 жыл бұрын
Awesome :)
@rheiartaghlia124
5 жыл бұрын
man.. i gotta do that sprites in another way.. i have no money to buy sort of that things.. but i do really like how u make a tutor for newbie.. tbh, thanks man
@tjay3769
5 жыл бұрын
Are you streaming? LD JAM 43??
@NightNinja
5 жыл бұрын
could someone use these mechanics to make something like the shadow clones from super mario galaxy, or the badeline fight in celeste chapter 2?
@RUMPshit
5 жыл бұрын
Nice
@JohanKarlemo
5 жыл бұрын
didn't you use this in Pokey Poke?
@SaraSpalding
5 жыл бұрын
Yes!
@royceleeman9858
5 жыл бұрын
Hey Shaun, ever thought about doing a tutorial on Udemy ?
@SaraSpalding
5 жыл бұрын
Well other than charging people for access (which isn't really my model, this stuff is funded by Patreon to be free for everyone!) I'm not sure there's any benefit.
Пікірлер: 36