Sam Dimanche's Forum Posts

  • I had a similar problem in July, I don't remember with which version. The client suddenly closed from time to time, in an unpredictable fashion. I was CTRL+S-ing all the time but it was too stressful.

    I reverted back to r262, at least this one worked well for me.

    These crashes made me kinda wary about updates ^^

  • Hello everyone,

    For the first time, I can say I am ready to publish a game on Steam. Yay ! It's bug free, polished, and all. However with that realization came a lot of questions related to preparing the game for Steam itself. It seems to require quite the technical expertise, but I can't find any tutorial, and most topics on the forum are very old. I'll split my questions in several paragraphs and if you can answer any of them I'd be IMMENSELY grateful.

    Sorry for the truckload of questions but this is a really puzzling moment for me, and my programer's experience has not prepared me to it. I don't want to stumble so close to the finish line.

    First of all I need to point out I've been using Construct 2 (release 262) for this project.

    1) Implementing Steam achievements functionality

    I'd like to offer Steam achievements to my players, but all the addons I've found are quite old and I don't know if they're up to date :

    I suppose I'll go the "Official" greenworks route if someone can assure me it still works ? (it's one year old)

    I also do not understand what these "supported versions" mean. Is it that when you Export to NW.Js, the current version of the program you've installed is included in the export ? So far I've been working with an old NW.js I've installed a while ago : "v0.20.0 for Construct 2".

    If a want to use the Greenworks Addon, I shall download v0.30.4 here (https://www.scirra.com/nwjs) and everything will be good ? Or do I need to do something else ?

    2) Going Construct 3

    Simple question : would it be easier to port my game on Construct 3 before releasing on Steam ? Is the support more up to date and would it guarantee my game works better than with Construct 2 ?

    3) Save File Format

    As of now, I save all the data I need in an XML File located in a folder I create at first launch located here : UserFolder\GameName\Save

    I load it at launch with Ajax and rewrite it with the new save data when needed with NW.Js.

    So far this method has worked well BUT it is extremely unprotected. Basically, anyone can alter the data with a simple notepad (unlocking any item, any level, ...).

    Is Steam ok with such a save system ? Should I rework it, and if so what other system should I use ?

    This seems especially problematic with my Achievement trackers that could be easily manipulated thus prompting Steam achievements with little to no "playing" at all.

    4) Save File Location

    Like I said, my save folder is located here : UserFolder\GameName\Save

    Is it a good place fitting Steam standards ?

    I think most of my Steam games save in two folders :

    - Program Files (x86)\Steam\steamapps\common

    - Documents\My Games

    Should I locate my save file in one of these places ? I don't know if there's an "etiquette" to respect.

    5) Testing everything works

    Will I be given the opportunity to test how my game works on Steam without actually making it public ? I suppose my implementation of achievements, for example, won't work the first time I program it, but will I be able to test it and have some feedback ?

    I think it sums up everything I'm concerned about on this topic so far. Again, thanks a LOT to anyone who can give me any kind of insight on this topic <3 <3

  • Yup

    str(round(EnemiesKilled/Opponents*100))&"%"

  • Where i should put that code to have only two decimals?

    It was just to explain you how it worked.

    Just copy that :

    str(round(EnemiesKilled/Opponents*10000)/100)&"%"

    And edit the SpriteFont like RetroInsight said.

  • Make your counter display :

    str(round(EnemiesKilled/Opponents*10000)/100)&"%"

    Round(x *100)/100 is a good trick to have only two decimals left

  • That's a scripted event where two pieces of ground are moving twice, first Up, then Left of Right.

    I would simply place three "DestinationSprites" where the pieces of ground need to go next (acting like targets), then having the grounds lerp or move toward them. I don't think messing with Behaviors is useful in this case...

  • Hi there

    In my game I'd like the music to be somehow dynamic / adaptive.

    Materials :

    Basically I have one music with 3 different instrument tracks that make the atmosphere go from Quiet to Mid to Energetic. That makes 4 files : one with the complete Music, and three with each separate instruments, all the same length for now)

    Goal :

    I want the music to play the Quiet part from the start, and when the player gets past a certain point in the level, the Mid part kicks in. Same with the Energetic part when the player enters the last third of the level.

    Problematics :

    1/ the transitions need to be seamless

    2/ the rhythm shouldn't stutter or miss a beat

    3/ the Mid track must start at 00:00 and not like in the middle or something. Same for the Energetic part.

    It's pretty hard to explain and I hope I'm clear. I hardly know where to start. I'm no sound designer and it's the first time I'm trying to achieve something like that. I've found a few topics talking about this but the linked capx were all down so I couldn't learn anything from them

    The best idea I came up with so far would be to play the three parts from the very beginning, with Mid and Energetic being silent until I decide to make them audible. That way I'd be sure they stay in sync, but the problem is it wouldn't solve Problematic N°3 above...

    Thanks in advance for your help, I really appreciate it <3

  • Hey, thanks for your answer

    Ok, if I must resort to this, I'll try to export directly from someone else's computer then :/

    Do I have other things related to OSX games that I should be careful with while we're on the subject, or should everything be fine as long as I export from an OSX machine ?

  • Right Click on your sprite >> "Edit Animations"

    Then, on the vertical menu on the left of your sprite, click on the "Set Collision Polygon" button. This is how you modify your hitbox. Be sure it is the same for every frame in your case

    Here is a picture to help you find the button : hpics.li/52126f4

  • Are you sure the collision box and the origin are equally set in all the animations ?

    If the collision box is smaller in the "shooting" animation, your character will sink into the floor like that to a degree.

    If the origin is different, the character could also "teleport" a little like that.

  • Up ^^

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hey all

    I've tried exporting a project (with Node Webkit) for some friends using Apple systems, gave them the OSX64 folder I got after exporting, but... the game doesn't even open. They get a warning box saying "Impossible to open the application".

    Here is a picture : hpics.li/ef61097

    Is it due to what I can read on the "Exporting desktop apps with NW.js" manual page ?

    [quote:htkzw1xx]Publishing on OS X and Linux

    The most common problem with publishing to OS X and Linux is the execute permission for the executable files. File permissions work slightly differently on Windows, and it generally recognises any file ending in .exe as something that can be run. On OS X and Linux, executable files have no special file extension, instead requiring an "executable" file permission to be set. Windows is not usually aware of this, so if you copy files from Windows to an OS X or Linux system, the files may not have execute permission and therefore fail to run.

    Src : scirra.com/tutorials/1276/exporting-desktop-apps-with-node-webkit

    If so, how do I get around this without owning any Apple system myself ?

    Also, while I'm at it : are there good coding / gamebuilding practices when it comes to games for non Windows OS (IOS and Linux included) or should I just code as usual ?

    Thanks a looot for your help !

  • I think the problem is the "Destroy" command only has an effect at the end of the frame (it's due to how C2 works, it's not the fault of your code). A destroyed item can still be picked in the same frame it's been destroyed.

    Try creating a Boolean for your Spr_test called "Destroyed". Then, change your code a bit :

    For "MakeItems" = 1 to 3

    Pick an instance of spr_test at random with "Destroyed = True" (just add this condition under the "pick at random" part)

    --> set spr_test.var to a random number between 1 and 3

    if spr_test.var = 1 --> create newSprite1 at location of spr_test --> set spr_test.Destroyed to True and delete spr_test

    if spr_test.var = 2 --> create newSprite2 at location of spr_test --> set spr_test.Destroyed to True and delete spr_test

    if spr_test.var = 3 --> create newSprite3 at location of spr_test --> set spr_test.Destroyed to True and delete spr_test

    Edit : well I was too slow to answer ^^

    You could indeed use the spr_test.var as a sort of boolean if it's starts at 0, yup.

  • Well, now I must recognize it is the best version for sure. It'll probably help a lot of people, congrats

    ++

  • dop2000

    Hum, interesting. Extremely Simple indeed.

    (I just don't understand why the Red Dot is always considered "overlapping" one Block, when he clearly is only touching with the side which I thought shouldn't be considered "Overlapping").

    I still like our previous method. You got stuck because the gap was too narrow, and it can be solved by augmenting the number of nav points I suppose :3

    But yeah, we're going a little too far maybe. There are plenty of ways to deal with this problem and every project will have different needs.

    alextro : I can see the resemblance

    Cheers, see you around !