Mikal's Forum Posts

  • Great plugin Magistross! Thanks also to Eren for porting to C3.

    C3 Tech Demo:

    • Military Projecition
    • Easystar tilemap pathfinding (w/ dynamic tilemap load on floor change.)
    • NPC AI using pathfinding also.
    • Using a small sample of Psychic Toaster's nice tileset for their game.
    • Parse tilemap after change/updated (via Tilemap Load)for special stairs tile and set directional conditions.
    • Found that tilemap/model was not updated w/ walkable status until the first pathfind was done.
    • Added 'dummy' pathfind after changing tilemap. Is there another way to refresh the model after tilemap load?
    • Special tiles used for landing area of the bottom of stairs and top of stairs, so stairs cannot be entered of left from the side.
    • Special tiles used for stairway itself, so Player can only move along the stairway once on it.

    Example C3 project:

    construct.net/en/forum/construct-3/your-construct-creations-9/example-project-ultima-online-145347

  • Tech Demo:

    • Military Projection
    • Easystar tilemap pathfinding (w/ dynamic tilemap load on floor change.)
    • NPC AI using pathfinding also.
    • Z sort done with Y compare point and setting Z elevation to small fractional value.
    • Static objects only sort once at start for layout.
    • Dynamic objects (Player/NPC) sort every tick.
    • Using a small sample of Psychic Toaster's nice tile set for their game.

    construct.net/en/forum/extending-construct-2/addons-29/behavior-easystar-js-96215 by Magistross and ported to C3 by Eren

  • Here's an example from my game (I use Playfab to do network login, I also use a JSON object to store PlayerData.)

  • When I say 'create' I really meant doing this function, this creates the item if it does not already exist.

    -> LocalStorage: Set item "PlayerData" to PlayerData.ToCompactString
    

    Also read over this a few times (as you see more examples, read over it again.)

    construct.net/en/make-games/manuals/construct-3/plugin-reference/local-storage

  • when you check if item exists and it doesn't exist, does it at that moment create it?

    No, it does not create it. This is why you need the item missing condition.

    For example, in my games, I usually check if the item "PlayerData" exists at the start of the game.

    If the item exists, I know the player has played the game before, I can then load the PlayerData from local storage into a JSON object and use it (my PlayerData is a JSON object which stores data like levels unlocked and user preferences.)

    If the item does not exist, I understand that the player has not played before, so I create a default PlayerData profile and load it into my JSON object (e.g. only level 1 unlocked, all other user preferences as default.) After the PlayerData object is loaded. I then save the JSON object (as a compact string) to localstorage with a key of "PlayerData".

  • Great tips, thank you! I particularly like the global object concept.

  • Very productive! An impressive amount of games released. I'm going to go try out Super Tiny...

  • Good to have the voice feedback, and the style looks clean. I was on the desktop and almost broke my mouse left button :)

  • Nice work, a true classic.

    How was it integrating the JS into C3, any special tips or tricks along the way?

  • Good luck with the release, I like the online aspect, what did you use for your online / network technology?

  • Very nice detailed graphics and I like the effects on all the bullets, good luck with the game. Does the terrain have any effect, beyond being solid objects?

  • Try Construct 3

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

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

    Thanks for the information and ideas of mixing dictionary and JSON. As you say for speed of dev purposes, I tend to push to JSON instead of globals, dicts and arrays. It's good to see where it's used in terms of perf impact. I will have to make some pref test projects to compare the speed of access (like full path access to an array buried a few keys deep vs just accessing an array object.) Does setting the current path for JSON plugin help speed this up some, or is that just a shorthand that helps speed up dev?

  • Not sure how this dev is doing it, but here are some ways to get a C3 game ported to Switch (based on a contract with the porting studio, e.g. paid service.)

    mp2.dk/chowdren

    seaven-studio.com

  • Lots of fun, it can be quite a battle when you folks with similar skill. Great concept and haven't hit any real network lag issues, etc.