KeeghanM's Forum Posts

  • Thanks R0J0hound for your (always) helpful input! I managed to spend a bit of time and re-structure my underlying mechanics to only require 1 extra dimension which I'm just using a collection with 2 arrays in it. But I think as a side project I might fiddle with creating some Event based functions for both the n-dimensional array and the dynamic type/value lookup as well. Simply as an experiment

  • Yeah that's what I've done in the past. Simply had multiple arrays and on the Z-axis of one stored the UID of the next one.

    But that isn't dynamic which is what I need. I don't know how deep it will go so was hoping for a way to just continually chain on more and more as and when needed. Might look at JSON Objects but then that'll be a lot of parsing as I try to find the end to add more.

    Might just write an unlocked array plugin which allows you to just add more depth to arrays as you need.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Is there anyway to create an array object with more than 3 Dimensions? In the past I've simply linked multiple arrays together by IDs when I need more but with my current project that isn't possible due to the scale.

    I was considering writing a custom plugin for "unlocked" arrays where you can have as many dimensions as you like, but that seems like a pain in the $$ so I wanted to know if a) someone already has done that or b) theres a simpler "native" way that I'm missing?

  • there is a RexRainbow plugin to do this, download it here:

    https://c2rexplugins.weebly.com/rex_zsorter.html

    Or, you could just implement it in actions yourself. I have a tutorial on it here:

    https://www.scirra.com/tutorials/9554/i ... r-ordering

  • Wow. Thought I'd tested that. Turns out I had ONE thing not set as global in the container (a sprite for collision detection) and once I changed that. Boom. Done.

    Cheers dop2000

  • Hey!

    I'm trying to have all the NPC's stats stored in their own dictionary, well MULTIPLE dictionaries for different types of stats. So I have a container with the character, and several dictionarys.

    I need these stats to persist through out multiple layouts, so I added persist to the NPC sprite and was hoping because it was in a container that would flow through to the dictionaries.

    Sadly, it does not. The dictionaries get deleted when I move between layouts.

    I know I could just use variables on the sprite... but I have hundreds of values in each dictionary. Plus I want to be able to save and load them using JSON/LocalStorage so dictionaries are perfect.

    The other option I can see is save and load from JSON each time... but that seems... to put it nicely... janky.

    Here's a capX demonstrating this. Run it in debug and you'll see the sprites variable stays with persist, but not the library. https://drive.google.com/open?id=1eLmyy ... lfAIQNLGv5

  • Yeah, the way I see it working is with an object you define as your "Fluid". This is where you define the properties such as vorticity, diffusion, etc.

    Then you have a behaviour you add to other objects, which when they are over the "Fluid" and move they add a new "Splat". You can then define on each object the colour, size and other things.

  • Gonna follow this for educational purposes! I tried this myself once.... wen't horribly wrong. So I'm excited to see how you did it!

  • How exactly do you envision this working? Will it be a behaviour applied to a sprite? Is it it's own object? Or is it purely a graphical effect?

    Do you want it to effect other objects? Any objects that are touching? Or tagged?

    I'd be interested in taking on the challenge, but need more information on exactly how you see this working.

  • Oh ok, in the video linked they behave more like my ones.

    And you said you only wanted them to move to within about 10 pixels of their starting location...

  • Just need a sprite and a few variables. No tweening etc

    Heres the code so you can see:

    You can download a capx here https://drive.google.com/open?id=18kYr8 ... WeO8kUeope

    I would just like to provide a counter argument to dop2000 and

    I am running C2 on windows 10 laptop. 4GB Ram. 1.8GHz Dual Core CPU. On board graphics only. Literally an old dodgy pile of poo.

    My project has over 10,000 events over 10 eventsheets . And layouts are upwards of 10,000 x 10,000 in size with 1000's of individiual objects in them.

    0 Slowness. None. Zip. Nada.

    Only thing thats slow is saving, because I'm not saving a compressed project and my HDD simply throttles at saving time. Other than that the project is as zippy as ever. And yes, I did run this project on Win7 and Win8 even. Always the latest version.

  • Regarding the idea of separating players automatically according to their level, it's true that it would prevent the higher ones to kill newbies but it would be too restrictive. Now imagine a level 100 player that invites his friend to join the game, they couldn't play together because of this block! The same goes with fellow players that only differ by one level.

    Very good point, I guess that my vision ddn't have people lasting very long. Each "Ascent" of the tower so to speak would be max an hour. You're going to die after that. It's a continual resetting world and your characters are the same.

    Though, now I think maybe you need something that sticks around to make it engaging to come back. Maybe permanent upgrades that stay between characters/deaths?

    Also not all players like to play with the risk to be killed by other ones, some of them want to play pacefully. Therefore you could split the "rooms" in two types: "friendly rooms" do not allow players to kill each other, "danger rooms" allow that. You could also put better resources in "danger rooms" to counterbalance the risk. This would allow players to choose which play style they want every time that they change room.

    Definitely agree, either make it a server thing, or have rooms spawn with a 50% chance of being PVP and mark it somehow. Maybe a red cross on the doors to enter those rooms... definitely would need to be addressed.

    The room resetting mechanism has also some drawbacks: players do not know when a room will be resetted since they don't know how many players are in a room and also any player that enters would reset the timer, that may cause the rooms to never reset when there are many players and they would end up in quitting for boredom. Therefore i suggest to set a "deadline" to any creating room that lasts approximately ten times the timer and when the dealine passed no player can enter the room and once that all players in the room are gone it becomes empty.

    I like the deadline idea. Physically stop players entering a room, or maybe... regenerate it anyway. Players inside wont notice, they still get the old room. But anyone NEW coming in gets the new room. Definitely a technically difficult problem to solve!

    Third, I imagine that players would enjoy a way to revisit a room. To make it possible, each randomly generated room actually generates from a random seed (have you played to "the binding of Isaac"? ), this seed is visible in the room info as well in the player game log. The player can input a seed in a free room in the lobby and regenerates the same exact room as before.

    Would you allow them to still get loot etc from it? Or is it purely for showing off "Hey look at this cool room I found"?

  • I'm guessing these are 2D renders of the 3D pack you have? Do you have any plans to release an Isometric Projection version?

  • Right, heres an idea I want to discuss! A Roguelike MMORPG.

    Let me preface this chat with:

      ?? This is not a Construct limited chat, it is a high level game design chat ?? I have no intention of developing this game as it is waaaaaay beyond the scope I can achieve. So I'm not farming you for ideas. ?? This could be purely futile, and entirely impossible. If so, tell me! Thats kind of the point... am I crazy for thinking this could work?

    So with that out of the way, heres my idea.

    A classic roguelike set in a multiplayer world. Where everyone can interact and progress together in the world. You can either work together to fight the monsters, or fight each other.

    It would still have the traditional elements of a roguelike such as Dungeon Crawling, Random Generation, Permadeath, tile based gameplay. It would not inlcude turn based gameplay for obvious reasons.

    I have thought through some of the technical problems, and some of the story/setting ideas.

    Technical Thoughts

      Problem: If every player is free to move around, and free to attack other players, how do you prevent high levels camping the spawns and just constantly killing new players. Or even just wandering around... and killing new players. Solution: Picture the world as a tower (I'll be referencing this a lot. So, get used to it!). The tower has floors to it, these are technically infinite due to the endless random generation aspect, but... floors. You map these floors to the player levels. When you spawn as a level 1, you are on floor one. To level up, you must physically travel to Floor 2.. thus becoming a level 2 character. Once you have gone up, you can't come back down. So while you could still have an experienced player hunting new players... they will all be the same INGAME level, balancing it out atleast 80-90% Problem: Roguelikes are randomly generated, how do you handle multiple players (hopefully 1000's) who want to A) Interact with other players but B) have their own random rooms. Solution: Back to the tower, on each floor is a "Room". This room can be arbitrarily sized. From an actual room through to a city, right now it doesn't matter. The idea is that the "World" is a grid of "rooms" and each room is only generated when a player visits it for the first time. So lets say Player 1 spawns in Room 1. It generates. Player 2 spawns in Room 1, and gets the exact same room, and can interact with Player 1. Player 1 goes East, gets a new random room. Player 2 goes West, and gets a new Random room. They can both go back to Room 1, or to the room the other players went to... It is a MMORPG remember. Problem: This raises the problem of late comers getting only pre-generated rooms. Lets say 1000 players have played the game. Now Mr 1001 comes along, and they never get a new room. Worse still, Mr 999 dies and respawns (it is permadeath) in Room 1... and it's the same Room 1 they had before. Solution: Room Resets. There are two types of Room Resets I can picture. The first is to do with visiting an already generated room. The second is for re-generating rooms. Type 1, a room can either reset it's contents (loot, monsters, puzzle items etc etc) constantly so theres always a steady stream of enemies pouring through the walls for example and loot is always there for each new player (one player can only take it once though).. or once there are no players in the room it resets. The other type is to do with re-generating rooms, which is tricky. You want to keep rooms around for a while so players have a familiar path if they backtrack. But re-generate them eventually to keep the game fresh. My idea is to reset a timer everytime a player enters the room, and start the timer when there are 0 players inside. if the timer reaches some time (example, 60 minutes) then the room can re-generate.

    Setting Thoughts

      Multiplayer games always have multiple Servers you can pick from. I picture these servers being called "Adventurer Guilds", each time your character dies you get the opportunity to pick a new "Guild". Now, most people will pick the same because it is a server and people pick that for lag reasons etc, but this does allow players to get more variety. And also spreads the players out, increasing the chance of room re-sets. You could also have "Private Guilds" these would be groups of players who want to play together. They can setup their own server and run that in private mode. Continuing on with the "Tower" idea, that would be the setting. You would be an adventurer who is exploring a powerful wizards tower. This explains the changing, and seemingly infinite size.

    Right. Thats my thoughts so far on some of the problems and how I would work around them.

    I'd love to hear your thoughts on the concept as a whole, and whether there is anything I missed. Or any glaring mistakes that would make this simply impossible?

    As well, what would you like to see in a game like this? What would you do for the design and setting? Etc etc etc!