13spongg13's Forum Posts

  • umarfarooq

    Thank you for the reply!

    Do you have any example or some sort of documentary on this? What exactly would I need to do for it, since I didn't work with anything of that yet.

    Is also possible in Construct 2, since you mentioned c3?

  • Hey there,

    My game is launching on Steam soon and I am planning to make it free to play with optional DLCs to buy.

    The official Greenworks Plugin does not have support for DLCs and I fear the "Steam4C2" Addon is outdated/not supported.

    Steam is able to download additional files when a certain DLC is purchased, so I could just add a text file with some content in it and then check inside of the game if that file with the content is in the folder. If so, then activate the DLC.

    That approach would be super unsafe and easily "hackable", so I would only take this as the last possible option. (I tried it and it works at least)

    Is there any safer way you can do it or should I just buy the "Steam4C2" addon?

    Tagged:

  • jobel

    With typos I was referring to the other comments above, but yeah I can see where enums might be useful.

    I do know what they are, but I think I never really used them actively myself.

    The more options there are, the more people can get comfortable with c2/c3. So it would be a nice addition, but they have probably so much to do already. I would also love a new version for the C2 steam greenlight plug-in.

  • Pras

    Those two explains it quite easily to understand:

    youtu.be/rAKvWdPRzlA

    construct.net/en/tutorials/full-round-based-multiplayer-game-with-photon-1239

    The construct 2 tutorial also shows you some helpful screenshots on how it works.

    Basically photon works mostly with the "raise event" function between both players (there is no host and no peer)

    Example:

    - Player 1 Raise event (code: 1) with (data: "10"), target "others"

    ---> Event code is an identifier for each event, so that you can separate when you receive data from different events. You can use the numbers 1-200 and smth I think, but you don't need so many.

    "Data" is only optional, but it can be super helpful to reduce the amount of different event codes. I think all data is converted into string, but I am not sure. (so if you use a number variable, the receiver gets it as a string)

    "Target" are the people that receive the event. I am only using "others", since that will cause the least trouble in my opinion. If you set to "everyone", you will also receive your own event which you don't want in many cases.

    - Player 2 "On Event (Code=1)"

    Subtract (Photon.EventData) from health.

    (in this case 10, I am still not sure if you need to convert it to float/int first or not)

    What you did now, was sending the enemy the event number 1 (I would advice you to note your events somewhere on Google spreadsheets for example) which causes that the enemy looses health in this example.

    The event data was 10, so you told him to loose 10 health.

  • Pras

    Do you have any online game already? It's hard enough to get to 5 people playing, how are you expecting 100 concurrent players? (obviously only if you don't have a large community yet)

    The limit of 20 is for the free version, you can pay 100$ once to have a limit of 100 players. The tiers above that are on a monthly subscription model.

    The free version will TOTALLY do the job if you don't have a huge community yet, reaching over 100 will probably only serve if your game is seriously popular.

  • I would really advice you to use the photon plugin instead of the official one. It is so much easier to understand and to use.

    A big advantage of it is, that it is not peer to peer, and your projects can have up to 20 players at once without paying.

    You sync data between both players, which is much better to manage in my opinion, since you don't have to make up 2 separate versions for the host and the peer.

  • Are typos really that big of a problem? You'll mostly realize you have one the first time you press on preview.

    And do enumerations really have that much of an advantage for certain things? I would rather stay flexible and just use number variables.

    Booleans are the worst things to use imo, too. Why use a boolean instead of just using "0" and "1", which always allows you to add certain in-between steps as "2" etc.

  • Hello!

    I am currently planning on releasing my game on Steam, but the greenworks plugin only accepts the NW.JS version 0.30.4.

    What exactly do I have to do? There is one folder ins "Construct2/exporters/html5" called "nwjs" and another one in "...html5/plugins" called "nodewebkit".

    When I install the NW.JS version, do I need to delete one of those folders first? I already tried that, but then Construct2 would always say that it is not installed, even after I installed the older version again.

    Another question: is there a way to download the Steam SDK version 1.42 somewhere? I am only able to download the newest version on the Steam partner site, or can I just use the current version for the greenworks plugin?

    Tagged:

  • Hey!

    I want to release my game on Steam soon and though about how to check if the player bought a DLC.

    The DLC would be integrated in the base game and just activated after it is purchased. The official greenworks Add-On only provides access to the overlay and achievements, but not to DLCs.

    Thanks in advance

    Tagged:

  • mathie

    There are some quite good youtube tutorials on how to to make splitscreen with paster.

    Here is a short version:

    1. Create 2 Paster objects with the size of 1/2 screen. Place one on the top side of the window and the other one below it.

    Example: Your screen has a 1200/600 pixel rate. Both Paster objects have a size of 1200/300 and their hotspot is in the middle. You now put the first one to position X 600 and Y 150. The 2nd Paster is on X 600 and Y 450.

    2. You'll need Families for this to work elegant. Create a Family where you put ALL objects you want to paste. If you have tiled backgrounds, you will need to paste them in seperately BEFORE the Family. Sprite fonts somehow are not supported by this add on, so you can't paste them.

    3. Create 2 players.

    4. Event Sheet:

    Every Tick:

    Paster clear to RGBA (0,0,0,0) //to clear the screen from the previous frame

    Paster set position to Player1.X, Player1.Y

    Paster paste Object "AllObjectsFamily" into canvas

    Paster set position to X 600, Y 150

    Repeat that with Paster2, just change Player1 to Player2 and the end position to the position of your 2nd paster (X 600, Y 450 in my example above)

  • Oh yes, true.

    Your current health is global and does not work separate for the enemies.

    It is one number in the whole game instead of one number per enemy.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thank you, that explains a lot. I used numbers like 1001,1002 etc to have a bit more clarity... Well.

    I have some very strong sync issues late in the game (5 min+), and I think that's because of the enemies.

    My game is 1vs1 and both player get their own minion things every few seconds.

    Right now I am synchronizing them by storing E.g. P1 minions values all into one array and then sending it to p2 every tick, same for p2 minions.

    This way they can compare their ID with that from the array and set their position+health etc.

    Is there something more efficient? I just can't get the game to work 100% properly, it always starts bugging around sooner or later, even when reducing it to every 0.25 sec instead of every tick.

  • You should probably put "for each enemy" in there, so it checks for every enemy if the health is less or equal 0.

  • ThePhotons

    I fixed the issue with my game's browser version not working!

    The "protocol" was set to ws and not to wss... Just found out while browsing this forum. When should I use ws and when wss? Can I just let it at wss, or are there certain exports that are not compatible?

    Another small question:

    When I used high code numbers in the "raise event" like 2000+, the events would not be called at all. Is there a pattern, or should I use the lowest amount of numbers?

    Also, is it better to use many raise events for different things, or should I use only one or two raise events, that store most of the data in them?

  • Hey!

    I am currently working on an online Game and want the player to always have the newest version. I already added a version check via AJAX, so that the game compares the current game version with the content of a text file I uploaded. (which I just need to edit).

    The game also gives the player a direct link to my itch.io page to download the new version... but that's not the most elegant way of doing it.

    Do you know of any tool, that can patch a game? E.g. Steam and Play Store can do it, but I don't want to invest 100€ to Steam right now.

    What I could imagine: The player downloads the patcher program, which is directly combined with my game. The patcher is connected via GitHub and automatically updates the player's game data, without him needing to log in to anywhere.