jobel's Forum Posts

  • I am currently halting my game development to see if there will be any new *improvements* to the local storage

    why not simply skip this update? it is afterall a beta version.. I just updated to r200 a couple weeks ago, I was on r187 since Nov because of jank issues. There's always the potential for some update that will break your code or force you to rework things a bit... it's par for the course.

    '2012 me' would have implemented it a very different way if he knew any better. But due to a lack of best practices documentation, he really didn't know what to do. 2012 me didn't even know what file I/O was!

    understood... '2013 me' made a mess of my intricate UI system because I didn't fully grasp picking (and a number of other things)... and now to go back, it's like ugh.. I did overhaul one area and it took a week to actually insert it into my game.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I currently use Webstorage as a replacement for variables all over the place, and very often set its values every tick.

    Even minecraft waits 120 ticks before writing to disk... why would you need to write values to disk every tick? Doesn't Airscape use check points? Or are you trying to save the exact position when the user quits or crashes? Not sure I understand the benefit to replace variables.. does it free up memory or something? that constant fileI/O must create a huge performance drain...

  • If I had access to a system that erases unused assets/sound, that amount could easily be reduced to something much, much less.

    my point is, you don't have access to anything like that since it's a current limitation of C2. But there's no reason you can't still make a great game with awesome sfx. You shouldn't have to reduce the scope of your game you just have to figure a way to do it. Does your game really need that many sounds? I don't know anything about your game, but my guess is that you can find a way to make it work. However, if it is integral for your game to have that many sfx files then C2 is probably not the right choice for your game. I'm pretty sure GameMaker also restricts unloading sounds from memory. But I know you have more control over memory management in Unity for sure.

  • no, you cannot deploy to xbox or ps.

  • does your spawn condition require there to be an enemy somewhere?

    I'd need to see your capx

  • Even if I did compress and reduce the file size somehow, I will still eventually hit a wall.

    compression won't help you since the audio is uncompressed in memory. You can however lower the sample rate and/or use mono files wherever it's appropriate. i.e. if you have a gunshot sound that has no stereo image there's NO point in making it a stereo sound. And some less complex sounds will tolerate a lower sample rate without any artifacts etc..

    You should use 44.1/16bit anything else is a complete waste unless you are editing the sounds. "Mastered" sounds can be reproduced totally acceptable at 44.1/16 or even less in some cases.

    Not having the option to unload assets and sound makes it impossible to make big games.

    I disagree. I think limitations are found in any engine or even custom code bases. Every big game ultimately has an "audio budget" of what you can have in memory at a given time. However, I do agree there should be an unload option.. since most programming languages allow you to memset() and free() etc...

    But that said, you may want to reconsider the audio design for your game... a 0.5 second sfx saved as a .wav is roughly 100KB (could be more but for the sake of argument let's just say 100). To get to 400MB that means you have approx 4,000 sfx files... I can't imagine there is a game in the world using that many sfx files. Consider if you were to hire someone to create 4,000 sounds for you.. even with variation that's like triple-A type pay... Construct 2 is only $130! I'm just saying: remember the scope.

    I use and create sample-based instruments all the time, and that's the territory you are approaching... velocity layers and variations etc... even there, there are tricks to getting your entire virtual instrument into memory. You can use volume, filters and tuning via run-time software to effect the individual sounds making them more "real-like". by any chance is this a music game? (it would make a lot more sense)

  • you could try making sounds mono instead of stereo, that would cut the filesize in half - although if it's a stereo sound then you won't want to do that.

    5 variations seems a bit overkill.. I've use sampled instruments that have less layers!

    Sounds like you need to budget out your sound palette and find a place where you can reuse sounds or cut out unnecessary sounds. 400MB for sound is pretty enormous...

  • On Touch/Click if Object boolean is true

    Action set boolean false

    ELSE

    Action set boolean true

  • yes the Every 2 seconds event starts immediately after the layout is loaded.

    Make sure you are destroying the object On Start of Layout since in the editor you may have it on the screen.

  • add a boolean instance variable to your object.

    Then on Touch/Click you can toggle the boolean to true or false

    Then simply add another condition to event you want to turn on/off.

    i.e.

    Event Condition

    AND

    Object boolean = true

    THEN do Actions...

  • VictoryX yes as Magistross says, you need some sort of condition so that is not "always happening", that's what I meant by using a variable...i.e. assuming the condition is not always true... otherwise if you use constants you are running that forloop 60 times per second indefinitely...

  • looks like you are using constants in your for loop... not variables.. at least one of them should be a variable.

    for that kind of code you probably want to use Repeat.

  • ahh I see the problem... is Construct a verb or a noun?

    to build something is to: conSTRUCT

    a building is a: CONstruct

    Since C2 is software, it's a noun. Like for example when using Microsoft Word I never say: I'll be Wording all day. Instead I'd say: I'll be using Word all day.

    it's settled then, everyone who puts the accent on the 'struct' is wrong.

  • you need to make instance variables that contain the UID and pick the healthbar based on which enemy is hit.

    Create Enemy

    Enemy Spawn Healthbar

    Healthbar.EnemyUID = Enemy.UID (make an instance variable in Healthbar called EnemyUID)

    PlayerFire on collision with Enemy (when the player shoots the enemy

    pick Healthbar where Healthbar.EnemyUID == Enemy.UID

    set Healthbar width to self.width - PlayerFire.damage (or whatever)

    then add

    if Enemy.health < 0 then destroy

  • 'make the gar nice and long'

    I just did a game jam and people there were saying construct.. accent on the struct.. I was like.. huh?