suntank's Forum Posts

  • Looks great!

    Could you share some technical details?

    1. What version of nw.js are you using?

    2. How are you finding the frame rate / stuttering / memory management (layout flushing)?

    3. How large is the game; number of art assets / total mbs?

    4. What is your memory usage looking like at it's peak?

    5. Were you able to get full Steam support working (achievements / cards)?

    6. What has been the biggest technical hurdle in bringing the game to Steam? How did you overcome it?

    7. What advice do you have / Something you wish you knew / about putting a C2 game on Steam?

    Thank you.

    1.We're using Nodewebkit v0.12.0 (Chromium 41)

    2.We actually do run into stuttering sometimes. When a titan is destroyed for instance, there's a good half second pause. Sometimes when a level loads, there is a good pause. Also going from the Xbuilder to testing there is a 5 second load time which doesn't happen in Firefox (it's nearly instant)

    3.The game is 331mb, 900mb in memory. Not sure on how many assets, but quite a few. 17,500+ events. C2 really starts to run into bizarre issues when a game gets this big. I mean the program itself. Like how we can only preview the game in firefox and everything else, chrome, nodewebkit etc preview modes get a red bar EVERY time. I'm not even sure how to file a proper bug report just because of how obscure the issues are that we're having. like, you have to have a game this big to experience the issues, so I can't really narrow it down to just a few events or whatever it is Ashley requires.

    4.I want to say.... around 1,200mb?

    5.Unfortunately no. I believe this would require me writing java script plugins and I just havn't had the time to learn Java to that level.

    6.The biggest technical hurdle was the multiplayer plugin. It's designed more for peer to peer gaming than it is for central server architecture. I wrote a seperate c2 game which simply runs on our server in Chicago which saves players information using nodewebkit into various individual files. Almost every message sent using the multiplayer object uses an array which contains a name of who sent it and what kind of message it was. This might be considered an "inefficient" way of handling a server like this compared to say, php, java, and whatever else may exist, however the whole server (except for the linux os obviously) is just running in c2 code. to me that's an achievement in itself.

    After reading question 6 again, not sure I really answered it in terms of getting it on steam, that was just a technical hurdle in general. I would continue to say that learning steamworks was a hurdle in itself. They leave out certain details in the tutorials that they probably just assume you would know, which from a gameplay standpoint is not very good gameplay but the community was awesome and helped me out right away. But honestly I had no real issues with getting a c2 game to work WITH steam. The only thing I need to figure out is the steam overlay, achievements etc.

    7.I mean, I would say that the real hurdles are in making the game itself. Especially a game with multiplayer. It would also seem like some events effect people randomly based on their configuration to which my response is, update your windows drivers\video drivers\run dxwebglsetup.exe!

    Additionally I would say getting a game Greenlit can also be challenging. We had a bit of a headstart with XBridge due to the successful Kickstarter we ran for ReVeN. But it still took considerably longer to get it greenlit. I guess people just really like sidescroller metroidvanias! Can't blame them, I want more than anything to work on ReVeN at this point. We just needed money. That's why we made this game which is technically much smaller in scope compared to ReVeN. After developing it for 2 brutal years, XBridge was the result of our passion for gaming and game creation.

  • Made a further discovery of the exact problem. It was nothing more than these actions:

    deleting the actions on the right fixed everything

    NO FREAKING IDEA WHY

    Considering it's always worked before with them clearing out just like this. It just started happening out of nowhere. I did install a new version of nodewebkit soooooo maybe that was the culprit? Even still, it got progressively buggier until finally just giving out entirely. removing 4 events somehow fixed it. to me it all seems unrelated. anyone have any ideas?

  • Okay so I figured it out. Appearantly you cant send the "Same" tagged message too many times or else something out there starts to deny you. In no way does this actually make sense. But unfortunately is a fact. I guess instead of using the same message name and specifying what the true message is in the array, I'll have to split everything up into seperate message tag names. OUCH

    I would love for someone to explain to me why this is a thing

  • I keep consistently getting this bug no matter what i do. The player gets kicked for sending a rudimentary message which happens to be an array. I do this all the time with vastly more complex information being sent through arrays and this array is super tiny. There is no real reason I can find why the player would keep getting kicked and this is driving me crazy especially since a lot of people payed for our game and our server is completely broken from this

    I get the same result from our linux server in chicago and locally on my own windows system

    If anyone has any Ideas I'm all ears.

    Here is the array.... yeah.... its pretty empty and simple.

  • http://store.steampowered.com/app/422030/

    ReVeN: XBridge is a social gaming experience wrapped around a 2D shooter. Made in Construct 2.

    Play and rate user created levels from players all around the world!

    Procedural generated backgrounds prevent the game backgrounds from ever growing stale!

    Build your Own Bosses! Start with choosing your nexus, then add parts, guns and modules! Coming soon, Control the AI using Navigators.

    The social hub of the game. Set up games, Chat with friends, or alter your ships weapons\armor loadout in the inventory screen

    Enemies can come from all sides, up down left right or even from below! While difficulty is completely variable,

    Players cannot upload levels they did not beat themselves.

    An animated Main Menu. This game is in 1080p baby!

    About This Game

    Build your own levels and bosses, defeat other player's levels and surpass their score on their own creations!

    XBridge is a fast-paced 2D shooter with new genre defining social multiplayer game play. Build your own levels using our intuitive level designer. It will also feature single player modes and online multiplayer as well as coop modes.

    This game will receive weekly or Bi-Weekly updates until the release of the game ReVeN.

    SINGLE PLAYER

    Story Mode- XBridge features an episodic story driven campaign that will unlock over time as the development of ReVeN progresses with the final episode releasing just before ReVeN. XBridge will introduce players to the characters and setting of the ReVeN Universe. This game mode plays out like an RPG as players must upgrade their ship's capabilities using materials they find while playing the game.

    Arcade mode- Players compete against endless waves of enemies and Titans while fighting for the top spot on the global leader boards.

    ONLINE MULTIPLAYER

    Ranked mode- An online multiplayer mode that centers around two factions that are at war for control over the space portal: the XBridge. In Conquest mode players construct their own levels to be difficult while still being possible. Levels can only be uploaded if they are beaten by their creator.

    Warp onto the front lines and defeat other player's levels to gain experience and money to unlock units to bolster your own armada's capabilities! Beyond just the creation and playing aspect of Conquest mode, it also functions as a mini-social network where players create their own pilot avatars and personalities. You can add friends or rivals to your friends list and chat with them anytime in game! Share Ideas and collaborate with each other working as a team to build up your factions armadas and win the war!

    Custom mode- Build anything you want with few limitations and even challenge your friends to your creations! The best custom armadas are voted on by the community; the more creative and fun a custom armada is, the better.

    Dead Orbit- 1-16 players can play simultaneously in a vast open world where players can fly in any direction. Explore and mine through huge asteroids and wrecked ships. With your newly acquired resources construct armor, weapons, upgrades and even new ships to be used in any game mode! Many dangers and secrets await in the Drone Graveyard: Dead Orbit

    Ranked Coop- prepare for an intense battle as you and your wing man wage war against the opposing faction's armadas.

    (Available in Local and Online play)

    Two-Player Competitive mode- Compete head to head to gain the highest score and acquire trophies to win a series of matches. (Available in Local and Online play)

    Coop Campaign- Allows for a second player to join SyRek in his mission to stop the tyrannical pirate Taber from reaching XR-Keres.

    Coop Arcade Mode- Two players must survive against an endless onslaught of waves and bosses. Can you and a friend reach the top of the global leader boards?

  • I recommend switching to FireFox as it loads 4-5 times faster and runs the game nearly identically to an exported node webkit. This is at least a decent work around until something changes

  • Prominent, I had considered this possibility as we are making quite heavy use of the Canvas plugin by r0j0hound. Quite an impressive plugin since you can use it to retrieve and store image information in the form of text files or send them across the network using the multiplayer object as we do for player profile avatars. (of course you'll need a system to break it down and rebuild it since the image information will be far to big for one message).

    To edit this information however isn't quite as straight forward as one would hope. It would require knowing in advance the different shades of say, yellow, you wanted to replace the same shades of Red with. I did create a scanner type system that could read the pixel information from the canvas object and do various operations based on that information. maybe I could try using some sort of realtime reader that can make adjustments to specific pixels while leaving others intact since our pallete doesn't change too much. I might experiment with this idea. Good call

  • Same issue here. The reason we have so many images is because there is no way to hue swap sprites without using webGL HSL effect. This is an issue since the Wii U can't do webgl effects and we need customizable colors for lots of things since our game is all about personalization. Is it possible to add hue swap as an option to canvas 2d? or is that just not possible with canvas 2d?

  • I just had this same problem. I went into Skype settings and disabled "uPnP" and it works now. Universal Plug and Play causes skype to automatically detect and setup ports in your router (something like that anyway) and it seems to conflict with Node Webkit. Anyway, hope this helps!

  • Okay I think I see where my thinking was wrong, I assumed that since the turrets were picked individually for their variables, they would be picked individually for the purpose of pinning. But as you have stated C2 will not pair up instances for object parameters in the same way it will with object variables. I will simply try to work around this inconvenience. which so far, has involved simply adding object.iid*0.1 to any attack timer since the "for each" condition will cause all lasers to fire even when they are intended to have different timings or can have the same exact time as is determined by the player.

  • If this is working correctly, why does it pick individual objects for variables but not when pinning? or why would two timers triggering at the same time but within 0.01 seconds of each other sometimes register as firing at the same time, but not always?

    It just feels kind of broken since it works for certain cases but not in every case or even a minuscule delay causes random results.

    I should also mention using a "for each" brings a host of new problems. If your objects have two different timings they will then always fire off at the same time because its running the event for each laser cannon.

    The only work-around is to delay them by 0.1 so they run their triggers seperatly so then the timers can have different set times

  • Here are some other event combinations that cause the same problem when pinning

    https://dl.dropboxusercontent.com/u/530 ... xample.PNG

    The image above shows how even when not triggered, the same result is present

    https://dl.dropboxusercontent.com/u/530 ... sworks.PNG

    In this one I tried deviating the time slightly and this will pin properly 50% of the time. However, if I deviate the two timers by 0.1 seconds it pins properly every time.

    https://dl.dropboxusercontent.com/u/530 ... iggers.PNG

    In the above example, I use a different Object trigger (the button) and a "For Each" condition which ultimately does cause the lasers to pin properly; a functional work-around.

    Hope this helps!

  • Problem Description

    ____ When an "On timer " condition is met for 2 of the same objects and and each one spawns an object, then you try to pin these spawned objects to the spawner, only the first spawner is picked and pinned to, However, the correct spawner is picked for any other variables or expressions you wish to pass on to the spawned object. ____

    Attach a Capx

    ____ https://dl.dropboxusercontent.com/u/530 ... litch.capx ____

    Description of Capx

    ____ The Cap X shows how when two cannons fire a laser, the laser gets colored correctly and even gets the proper angle, but gets pinned to the wrong cannon ____

    Steps to Reproduce Bug

    • Step 1 Click on the Button that says "Fire Laser"
    • Step 2 Observe the wacky pinning of the blue laser
    • Step 3 Repeat until you've had your fill....

    Observed Result

    ____ Blue laser is pinned to green cannon ____

    Expected Result

    ____ Blue laser should have been pinned to the picked blue cannon, as every other expression picks as expected ____

    Affected Browsers

    • Chrome: Yes
    • FireFox: Yes
    • Internet Explorer: Yes
    • Node Webkit: Yes

    Operating System and Service Pack

    ____ Windows 7 ultimate Service pack 1 ____

    Construct 2 Version ID

    ____ R 190 (64 Bit Steam) ____

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You use arrays when you want to store multiple variables and variables relating to those variables. This makes it great for things like Level editors where each enemy or object can have its name stored in X and all of the information about it stored in the Y's (it's position, angle, starting health, animation, or whatever you want). I also use arrays for dynamic lists like in multiplayer by using them to determine which player is trying to send a chat message to whom. it works with just X values and uses position 0 for the senders name, position 1 for reciever, and position 3 for the message.

    The sky is the limit for how complex their use can become, but in general, they are for large sums of data handling or dynamic lists.

  • Hi