pandabear7413's Forum Posts

  • So I found an alternative, and that's to use a TileMap instead of a DrawingCanvas. I had a lot of issues with DrawingCanvas and savegames, LocalStorage, restarting layouts, etc. So far TileMap has been a good alternative with none of the same issues. Thanks to anyone who looked at this.

  • I'm making a sidescroller and I'm using the DrawingCanvas as part of a levelMap feature. Basically, the DrawingCanvas is the size of the layout, overlays the layout, is invisible, and is initially all black. As the main character moves, the area around the mc is 'erased' in the DrawingCanvas. When the player opens the levelMap, they'll see the entire layout zoomed out, with the DrawingCanvas (now visible) on top. So they'll only see the parts of the layout where the mc has been, because those areas have been erased in the DrawingCanvas.

    This works great, but I need to save the DrawingCanvas for savegames. Because my layout is so large - 22k x 11k pixels - saving the DrawingCanvas to LocalStorage takes 5+ seconds. I'd like to reduce that savetime. FYI I'm using this save approach, Thanks dop2000 ! - construct.net/en/forum/construct-3/how-do-i-8/save-current-state-163694

    Since I don't need a very high-quality image in the DrawingCanvas, is it possible to downscale the DrawingCanvas to maybe 10% of the size, and then save it to LocalStorage? Of course this means I would need to upscale it when reloading the savegame? If so, how would I do that? ChatGPT gave some suggestions but she's hallucinating somewhat and sending me down ratholes.

    Any other options? Is there a way to start with a smaller DrawingCanvas, and clear areas of it based on a layoutSize-to-DrawingCanvasSize calculation of some sort? I would then have to expand/resize the DrawingCanvas when viewing the levelMap...

    Or are there other ways to design such a levelMap that doesn't use a DrawingCanvas, maybe some other object type?

    Thanks

  • I often have to delete and reload sprite animations for my sprites. Since a sprite requires at least 1 animation to exist, I keep a placeholder (blank) animation for each sprite object. After I delete/reload the sprite animations, the sprite's icon in the project explorer now shows the placeholder animation, which makes sense since all the sprites of that instance have their 'initial animation' set to the placeholder animation. However, when I go through my project and update all the sprites to have their 'initial animation' set to the proper animations - and none of them have 'initial animation' set to the placeholder animation - the sprite's icon still shows the placeholder animation. At some point C3 fixes the issue, and the proper icon is set in the project explorer, but I'd love to know how/when that happens so I can trigger it myself.

    Thanks

  • So it looks like the 'purpose' setting for my app icon changed from 'App icon' to 'none set' since my last export. Not sure how/when that happened, but it's reproduceable...

    - take any sample project

    - remove all icons but one

    - set that icon's purpose to 'none set'

    - export to WinView2 of nw.js

    If NW.js, the game.exe file will work but not the WindowsIconUpdater.exe.

    If WinVIew2, neither the game.exe nor the WindowsIconUpdater.exe will work.

    Will submit bug...

  • Update: I also tried the NW.js export. It worked, and I was able to run the game.exe. But the WindowsIconUpdater.exe is still throwing the same error. I'm confused, any ideas?

  • I've been using WinView2 for the last 1.5 years to release my game and it's been working great. I just tried with v388.2 and get the following:

    - when running the game .exe

    - when running the icon updater:

    I tried exporting a smaller project and it worked fine. My project is too big to share. Any thoughts on why this is happening?

  • I want a sprite to flicker like an old neon sign. I imagine using tween with opacity and glow effects could be used, but I don't know how to make the flickering seem random and not rhythmically oscillate between on and off. Any thoughts on how to implement this?

    Thanks

    I've been searching for a game engine that I could get up and running with quickly. I thought I'd found it in Construct 3.

    However, the pricing model for this product is asinine.

    I've had a number of true hobbies over the years, and C3 development has been BY FAR the cheapest. I use it for several hours per day, so my hourly cost of using it (and really enjoying this hobby) is a handful of pennies per hour. Name one other hobby you can enjoy for pennies per hour! Only reading comes to mind...

    If $130/yr USD is too much for you, you're be better off looking elsewhere to save money. You probably pay 2X that for milk.

  • I think pandabear7413 means the first preview after loading the project. I also have to work with large projects with lots of images, and the first time I click preview, it takes 1-2 minutes to re-generate spritesheets. If I have to load a different project version - that's another 2 minutes of waiting to preview it. Accidentally closed the editor - another 2 minutes. These minutes add up to many hours over the course of development..

    This. It's just on my first preview after loading the project. As Ashley said, subsequent previews are very fast unless I change the animations. dop2000, would the feature I'm suggesting help you as well? Not sure if you large sprites like me, or 1000's of small sprites...

    If Chrome is dying when you preview the game then that's a sign you may have gone too far, 7gb of images really ?

    I currently have 1.2 GB of images in my images folder. How much memory is actually consumed by Chrome varies -- it usually spikes up to 3-5gb total on the first preview, but that number comes down as Chrome stays open longer. Sometimes Chrome will crash due to running out of memory, sometimes not. Seems like crashes happen more regularly when a new Chrome version is released.

    I have large animations because I use these sprite objects as videos of sorts during the game, and I have about 50 or so such sprites ranging from 100 to 400 mb each. Suffice it to say, this approach of using sprites has worked well in my game and I'm not looking to change it.

    My idea of ignoring specific sprites during preview mode seems like an efficient solution here. Ashley, can you comment on if that's a realistic (and not too difficult) feature that can be added? Happy to submit a request if so.

    Thanks

  • At the beginning destroy all the sprites with which you have the animations

    It sounds like you are using an exceptionally large amount of images. See the manual guide on memory usage - if you're doing something very inefficient you can quite often easily reduce the memory usage by 50-75%.

    Thanks, but the issue isn't with animations on a specific layout. I'm familiar with the guide you're referring to, ASHLEY. I'm also familiar with the approach of destroying the animations after they've been created on a layout, and even freeing up the memory afterwards if necessary. I use those techniques quite a bit in my game. But my question is about something different...

    When using preview mode, all sprite animations in the game are converted to spritesheets, regardless of whether the actual sprites are used in layouts in the game. There doesn't seem to be a way to exclude any sprites from this spritesheet process. And since I have so many sprite animations, this spritesheet process takes a lot of time and consumes a lot (3-5 gb) of memory during preview mode.

    My question is -- is it realistic to add a feature that can exclude sprites from the spritesheet process FOR PREVIEW MODE ONLY. As I mentioned in the OP, I usually don't need most of thesprites/animations during preview. I can imagine a feature where the developer can select sprites or even specific sprite animations in the editor, and specify if they should be ignored during preview mode so spritesheets for those animations aren't created in memory.

    Hope this makes sense but happy to clarify more if need be.

    Thanks

  • Bumping...

    Ashley, any thoughts on if this is a reasonable feature request, or if there's a way to accomplish this with existing features?

    Thanks

  • I have a lot of sprites with heavy animations in my game. These all work well when exporting, but they make it harder to preview the game -- "preparing images" can take several minutes, and sometimes Chrome (what I use for the C3 editor) runs out of memory. The game, along with the C3 editor, takes 5-7 GB of memory during preview.

    However, I usually don't need most of these sprites/animations during preview, so it would be great to be able to disable/ignore certain sprites during preview mode. I can imagine a feature where the developer can select sprites or even specific sprite animations in the editor, and specify if they should be ignored during preview mode so spritesheets for those animations aren't created in memory. Does this sound like a realistic new feature, and/or is there a way to accomplish through existing features? Happy to submit a new feature request if this is feasible.

    Thanks

    Tagged:

  • Thanks Ashley for this excellent and thorough overview. Makes me more confident in using the service.

  • Now that minifying is done with a remote service with r358+ (I'm assuming the service is hosted by Scirra), how is security of our information/code being handled during minifying? What data is being transmitted? Is the data encrypted at rest and in transit? Is this called out anywhere in the Scirra terms of service?

    Thanks

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I just spent a lot of time debugging an issue, and it turns out I had one letter off in the function name string when calling a function from a function map (I used "playball" instead of "playBall").

    Is there a way to check if a function exists in a function map?