WackyToaster's Recent Forum Activity

  • Thanks for this file ! Super nice for testing. You actually did it yourself ? Well I notice a little stuttering from time to time by my side, and I think we're still far from the Vampire Survivor's amount of ennemies, but I believe there's still have room for optimization ? However I'm afraid this is already showing that something coded with Phaser could be more efficient from that point of view ...

    You are overestimating how many enemies are actually on screen. In fact I was exactly correct with my estimate. The game stops spawning enemies if more than 300 are alive at any given time. vampire-survivors.fandom.com/wiki/Enemies

    The posted example has 500 enemies. Enemies in vampire survivor also do not really exist offscreen as they do in the example project. Offscreen enemies simply get despawned, just bosses get teleported near you instead of despawning.

    The game does a good job of making it feel like there's 10x more enemies than there actually are.

    Also check this out. reddit.com/r/gamemaker/comments/sust5d/vampire_survivors_enemy_count_how

    If there is a bottleneck with games like this, it's rarely the GPU but rather the CPU. Specifically for web-based stuff you are limited to a single thread. Except you should theoretically be able to put the enemy logic into javascript and shove it into a webworker, which should help performance.

  • I don't think construct would have a problem there considering modern hardware. Vampire survivors in some ways has little going on in terms of logic (enemy ai is extremely basic, they even walk over walls), and it's maybe 200-300ish sprites at once in terms of enemies. XP gems are also condensed into a single red gem when they go offscreen, and if you stand still not collecting, enemies eventually stop dropping them. So the game is using optimizations to prevent lags. I'm pretty confident that construct is perfectly capable of handling that as long as you take care to keep the amount of sprites and logic in check to a reasonable degree, as they did for vampire survivors.

  • Store the code online in a database (ideally hashed).

    User sends a request to the database (AJAX) and if the code is found in the database and unused the user gets the reward and the code is marked as used. If the code is marked as used or not found, show an error.

    That‘s the basic idea.

  • I'm not really deep into understanding everything but I think the gist is that Construct takes the image from the project location and turns it into a Blob which is stored on the RAM. Blobs get cleared from there of course once you close the preview again. I don't think anything gets cached. Images do get cached on exported projects, but not in preview.

    So the images were only on the disk and inside the RAM. I doubt that you can recover anything from the RAM and the images on the disk have been overwritten, which makes them effectively unrecoverable.

    At least as far as I understand it. So your best bet is to set everything up so this doesn't happen again (backups, version history,...) and move on. It's one of these experiences that I'd argue almost everyone will go through at some point. As painful as it is, afterwards you'll make extra sure you don't ever repeat that again.

  • How/Where was the project saved? If it was saved in google drive you could get lucky and restore it if it was synced. (Other providers may have similar options)

    support.google.com/a/users/answer/9308971

    Otherwise... I have to say chances are very slim that this is possible to recover.

    I might add, I had this happen on accident once too. Luckily in my case I caught it before I saved over something. Maybe there should be some kind of alert for this.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Unless pastebin allows CORS you're out of luck, and it looks like it doesn't. You'll have to find a different place to store your data, could be as simple as a textfile on your own website where you can allow CORS.

  • Set variable1 to replace(...)

    Typewriter text variable1

    I'm just thinking that typewriter might get confused by the replace stuff, so do the replace before.

  • Try to put it in a variable first.

  • I don't think using 1 | -1 works here, it works if you split it up. I don't think Construct particularely likes | in many cases. Now as to why it doesn't detect a collision... no idea, but I'd guess it has someting to do with the inner workings of the platformer behavior? The platformer behavior also has a condition (is by wall) for checking this btw.

  • You could probably adapt this

    howtoconstructdemos.com/trajectory-calculation-two-methods

    Shoutouts to dop2000

  • You do not have permission to view this post

  • Hmm weird. Perhaps there is something in your eventsheet that maybe checks for savedata or something and if it doesn't find any (first start) some stuff is not shown?

WackyToaster's avatar

WackyToaster

Member since 18 Feb, 2014

Twitter
WackyToaster has 26 followers

Connect with WackyToaster

Blogs