Mikal's Forum Posts

  • One quick thing to check: c2runtime vs c3runtime.

    The example projects may be c2runtime. Your new project may be c3runtime. Some of the 3rd party addons may only support c2runtime.

    You can change your new project to c2runtime to see if this is true (in the C3 editor.)

    If true and you need new c3 runtime features, you can ask devs or the C3 community to port the c2runtime addon.

    construct.net/en/make-games/manuals/construct-3/tips-and-guides/the-c3-runtime

  • Not really Isometric, actually Military Projection. Inspired by PsychicToaster's work for their game, which will be great (watch for it.)

    Demo Project

    • Military Projection
    • Easystar tilemap pathfinding (w/ dynamic tilemap/path 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.

    IsoEasyStarGBAV3.c3p

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

  • Looks good, I want to see the drones in action. Do they circle the tank or do they have more intelligent behavior?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I also just used this tilemap behavior and it worked well (there's a C3 version at the end of the thread.)

    construct.net/en/forum/extending-construct-2/addons-29/behavior-easystar-js-96215

    It has some additional features for pathfinding (directional conditions) and is also fast. However, it does not have actions for movement, which you must do separately (e.g. using a MoveTo plugin.)

  • 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?