tomsstudio's Forum Posts

  • rexrainbow

    You little beauty, Just what i was looking for!

    Thankyou So much!

  • Have anyone made a MMO game made by Construct2? If so that will be totally awesome! Since MMO games are a communiy game & players can interact , fight each other, etc... If so please link it!

    There are so many popular MMO Games, but if there is no MMO games, hope some developers do one. and Ashley maybe adding a MMO template in c2 would be a nice idea I think. Well Let's discuss this.

    An MMO?

    Doubtful... But to Ashley 's credit, the multiplayer feature, given a few tweaks + Chrome, is extremely powerful.

    I went quarters with a few friends who were renting a couple of servers for minecraft. So i could run some tests before they started using it.

    The servers had an xeon quad core 2.2 ghz, 128gb ram, no dedicated graphics, 1gbps up/down link.

    1 server ran all the clients, the other ran all the hosts. I had over 75 tabs open on one server each running 250 objects bouncing around with physics + multiplayer syncing.

    The 'client' server pulled 300 tabs open with 4 tabs connecting to each 'host' and receiving the syncs from the host.

    At this point the network was running at max(both servers on same rack), cpu was around ~30%, ram was negligible.

    I Had the servers running for about half an hour before a few tabs on the host crashed(i think due to network congestion), but what amazed me, is that it didn't affect the other tabs that were running.

    If you host a server built with C2 that utilizes multiple tabs within Chrome, or Nodewebkit, you will find the game will scale terrifically as each tab uses a separate thread(assuming your running a intel processor with hyper threading).

    I have also found in separate tests each tab can access around 1.5gb of ram before crashing.

    Hope this help,

    Best Wishes,

    Tom

  • While somewhat hacky,

    The way i use layers may be suit your game.

    The game i'm making has a base grid of 64x64 px. It's isometric so i have to have a efficient z ordering system.

    This only works if all your objects have a base the can be divided by itself. For example units use a base of 1x1, walls 2x2, big buildings 3x3 etc etc.

    I translate the layout angle to itself -45, thus giving the feeling of 'isometric'.

    So if the base grid is 1x1(*32px), and say the width and the height of the world is 50x50. Then i have 99 layers in game.

    For static objects, on.created move to layer int(object.x/32 + object.y/32).

    For moving objects, such as player or monsters, for each object, move to layer int(object.x/32,object.y/32)

    If your game is using a normal angle, then you can simple add 1 layer per y height / base tile.

    So now on create move to layer int(object.y/32) ` same with every tick.

    In game this works really well.

    However the downside to this is when debugging. The debugger will be checking every layer, so its runs at a crawl.

    I hope i explained it well. I can post a screenshot of how it works if you need.

    Best of luck,

    Tom

    For static objects

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There is a bug in the spot the difference game. You can click the same area multiple times to get unlimited points.

  • It sounds like your problem is you hard coded a single room name in your game and all game instances end up in that room? So what your asking for is a method for detecting when X number of players have joined and place them in their own room so they don't interfere with other player games? You could create an dictionary of lets say 100 room names. when a player connects they always try connecting to the first one.. if it comes back full move on to then next. You specify how many peers per room you want.

    I think you misunderstand the functionality of 'multiple mulitplayer objects'.

    Imagine a game with 1000 players playing at the same time. Obviously we cant have them all on the same layout or 'area' so instead we split the areas up at host them on separate tabs for example. But since each area is its own separate host, how can the players from one area communicate with another? You could use a websocket server for chat i suppose. OR you enable construct 2 to let people have multiple 'multiplayer' objects.

    This allows Player Bob to connect to area 1 as a peer with multiplayer.connect. Then bob also joins the chat host at multiplayer2.connect.

    This allows cross 'realm' or 'guild' chat. This also increases the functionality of the multiplayer feature, you could for example have a 'host' hold all the data about what items the player is holding, his/her xp, current quests, etc etc.

    You then have your 'main' server not only be a host to connected players, but also connect as a peer to the 'info/stats' server.

    , someone has pm'd me and they are working on it.

  • I'm offering $500 AUD ~ 470 USD

    Again PM or reply if your interested.

  • I need someone to write a plugin that allows the injection of more than 1 multiplayer object.

    This would allow connection to multiple hosts, solving my issue of multiple instances and dungeons, and global 'chat'.

    Please reply or pm with $ rates. I can pay via PayPal.

    Regards,

    Tom

  • Just some low res environment art for my RPG i'm making

  • Its a bit tricky.

    But i put each tile set on a separate layer. I lock every layer that i'm not working on and the right tileset should change if you use the arrow select button from the tilemap bar.

    Hope this helps,

    Best of luck,

    Tom

  • Hello, i have 2 questions about the new multiplayer object:

    1 - multiplayer games works on desktop? (if i export my game with nodewebkit will run without problems?)

    2 - can i make global enemys? and make an AI to enemy follow the player more closer? in the example of the topdown multiplayer...

    thanks!

    Multiplayer games will work on nodewebkit though a bit buggy, Ashley said once nodewebkits updates itself to Chrome34 then it should work properly.

    If you control the AI enemys with the host, then it should sync properly with any peers.

    I recommend you read the Multiplayer tutorials.

    Best of luck,

    Tom

  • You could use animation frames to easily switch from gray to green or red.

    on.collision pick nth.grays instance int(random(0,grays.count-1)) // When player collides with enemy, pick a random instance of the gray buildings

    grays.changeframe to choose(1,2) // assuming frames 1 and 2 are green and red.

    // Now we need to check if any gray buildings are left, this could be every tick, or when one the buildings have changed

    pick by comparison grays.animationframe = 0 // picks all the gray buildings

    sub event > system.comparetwovalues grays.pickedcount =< 0 // the subevent inherits the picked buildings so now we see if any gray buildings are left, if not end the game

  • We need more information to answer properly.

    Is this for a single player game? Multiplayer?

    Are you wanting a payment gateway? Or just a database for retrieving items?

    If you want your players to be able to make IAP for a single player game, the easiest way (not available on all platforms) is the clay.io plugin.

    If the game is for multiplayer, then you're looking at a whole different kettle of fish.

  • Problem Description

    I'm not sure if this is a bug or intended.

    But it seems in multiplayer browser's cant talk to nodewebkit. It will come up with 2 peers connected on both screens, but they seem unable to sync to each other or send messages.

    I have tried hosting on Chrome and Firefox, with a nodewebkit as a peer, to no avail. And the other way round.

    I have tried hosting and peering on the same computer, over multiple computers on the same network, and on a virtual private server.

    Attach a Capx

    Multiplayer example real time game.

    Description of Capx

    ____ Concise description of what this CapX does ____

    Steps to Reproduce Bug

    • Open real time mutiplayer example
    • Export to node webkit
    • Run a preview

    Observed Result

    ____ What happens? ____

    Unable to sync objects or send messages

    Expected Result

    ____ What do you expect to happen? ____

    I expected nodewebkit would work normally.

    Affected Browsers

    • Chrome: (YES)
    • FireFox: (YES)
    • Internet Explorer: NA

    Operating System and Service Pack

    ____ Your operating system and service pack ____

    I tried on Windows 8, Windows 8.1, and Windows server 2008 R2

    Construct 2 Version ID

    ____ Exact version ID of Construct 2 you're using ____

    167.2

    (This happened in 166 as well)

  • I'm not using an array though, I'm using a text box.

    The text box object is used to show the peers what others are saying.

    You still need a way to whisper someone.

    Since peers cannot talk to each other directly, you have to send a message to the host telling it who to relay to, what the message is, and any tags.

    In my previous example, i used an array, after some thought, it might be easier to use the dictionary object for small messages.

    Ill make an example for you and upload it after lunch