brent_hamel's Recent Forum Activity

  • So, total noob question here... I need to be able to load a new image for my Tilemap object on the fly.

    My current approach ( which is not working is ):

    - Request URL

    - tag "loadNewTileset"

    - url "myNewTileset.png" ( which is already in my project under "Files" )

    - On "loadNewTileset" completed ( this never happens )

    - Tilemap - load image from "AJAX.lastData"

    I need the file as a URL because that seems to be the only way the Tilemap can load a new image... So unless I'm missing something, I'm totally stumped... the On Completed trigger never fires... This is intended to be an offline desktop/console game, so the game will never connect to an external server of any kind, meaning that no project files will ever be stored anywhere but on the user's device locally. Thoughts?

  • Apologies if this is posted in the wrong place... I'm just wondering if anyone else is experiencing extreme browser lag when using Construct3, but only when the editor popup window is open? So like, creating instance variables, or adding any events that have input fields... To be fair I tend to be a multi-tab browser user, and I often have youtube stuff playing in the background while I work. Doesn't seem to matter how many tabs I close, when the popup is open, there's a significant delay in typed letters appearing in the input field, or it forces youtube videos into pausing and trying to load... or even starts creating hiccups in mp3s playing through winamp... I've only JUST started experiencing this, but I can run full bore Photoshop, Adobe Premiere, Blender, etc often multiple running at once, with no issue... so I just thought I'd check to see if anyone else is getting this or if its just me.

    EDIT: this may or may not be related, but I also cannot save in any way except for "download a copy" this was never previously an issue, but has been happening for about a week now (the browser lag has been about a week as well) its a local file I use, but must download new copies and replace the local file every time I save... slightly frustrating, again, might be my machine, may not, I'm not sure

  • Another option that just occurred to me MIGHT be to switch the character from Platform to Physics (have them both on the character and just toggle a boolean which switches between them) but you'll need to get the physics settings right, which will take experimenting.

    I have no idea if this would work or if it does, if it would be in the way you want, but it MAY be an option.

  • The way I like to handle slopes using the tilemap, is to detect the specific tileID that my character is standing on. I check directly using XY coords converted to TileXY coords. Once you know the tile the character is standing on, you can program specific things to happen.

    If using the Platform Behaviour, you could then change values like:

    - acceleration/deceleration based on the playerDirection VS slopeDirection and slopeAngle

    - this can simulate fast decent downhill or slow climb uphill, kind of similar to ice physics

    - you can have different settings for if the player is trying to stand still VS trying to move

    - adding/subtracting with vectorXY (to "push" the player downhill)

    - the player may be trying to run uphill, but adding vectorValues will push them downhill at an amount related to the player's input

    - change GravityAngle

    - this can be tricky, as you've got to have collision boxes set up so they don't "catch" on each other

    - however if set up properly, this can reduce the need to fuss with vectorXY or accel/decel

    - or it could be as simple as you program a specific forcedControl when the player holds DOWN and the character is standing on the slope, like how the slide in Mega Man 3 works. It literally pushes you left or right, and stops when the slideTimer runs out AND Mega Man isn't in a single tile high passage, otherwise it keeps the slide going until he can stand up again.

    Not sure if any of this makes sense of not, if not then I can try to be more specific. Or if this brings up more questions, please feel free to ask.

  • Is your slope collision being done with a sprite object or the tilemap?

    If it's a sprite, is the collision poly sloped so that the sprite sits at angle 0? Or is it a box collision poly and you're rotating the sprite itself?

    Depending on how you're doing your slope, it will affect how to go about programming it.

  • This looks awesome! I can't wait to try it out, thanks so much for the input!

    I think in terms of efficiency it might be a plan to do sprite pooling... so create however many sprites you need/system can handle ( do some testing for lower end systems ) at runtime, and then use your idea of a cone of visibility ( also known as the camera's frustum ) and then when a sprite is out of view, move it to the furthest new point in the frustum that needs a sprite

    That way you've always got the same number of sprites operating at once and thus are able to plan for cpu usage in other areas :) either way I'm stoked to try this out!!

  • Oh, ok, I've always thought mode7 was a scanline trick with a large texture that simulated a 100% flat image plane with false perspective, so it could look like a large flat ground plane...

    EDIT: after researching, I can see that mode7 does use some matrix math and so is on the right track, but is the 100% opposite visual result I'm after lol

  • No, not Mode7 lol. Specifically not mode7 lol.

    I'll try to give a clearer picture... ( I should prolly just mock up a screenshot lol )

    - I want to take a heightmap and send it to a 2D array

    - then each array element gives me 3D world coords XYZ ( based on the elements XY in the array, and Z being the values stored at the XY )

    - I want to send those coords into the webgl matrix calculations so that I now have my screen space coords for all of my array XYZ values that fall within the "camera" frustum ( clip space )

    - Finally, I want to represent those array elements/points onscreen using scaled sprites ( which would act as billboard sprites by always facing camera )

    Not sure if that helps paint a clearer picture or not... but its literally just the accelerated matrix math that I want. I have a couple leads I'll be trying and will follow up here with any successes/failures/noteworthy discoveries.

    I've always disliked the look of polygons ( though I AM definitely growing a fondness for low-poly! Mega Man Legends 1 and 2 are gorgeous!!) and Mode7 has always been too flat for me... its really only useful if you add billboard sprites to it to give it some verticality, but even then, is still unbearably flat... So this is my attempt to imagine games of the early polygon era, as if polygons were never invented and Sega's Super Scaler arcade tech was the direction things went, so more sprites, larger sprites, more animation frames for rotations, etc.

    This game will, ideally, be entirely handmade pixel art, using 3D Point math to modify sprite scale/z-soting/depth effects to create a pseudo3D world, no 3D physics, just display rendering

  • I can't say that there's much appealing to me about Unity or Godot... I've attempted both in the past and found them incredibly frustrating and cumbersome... and really have never been able to achieve the results I've wanted...

    Something like...

    youtu.be/QoGaj2HnVUI

    ... is probably closer to what my goal is, though different still beyond this of course!

    Given that WebGl is inherently 3D capable in terms of math, my original question is still... do I have access to that with C3 ( see example fiddles in the original post ), otherwise it seems like C3 took a 3D ready system ( in terms of its math capabilities at least ) and limited it to 2D... so all I'm looking for is a way to get access back to that aspect of WebGl...

    There are far too many reasons for wanting to use C3 for this than there are for me to stop, re-attempt to learn an entirely new piece of software ( to me ), and then start the project all over again, without any of the engine elements that are already in place.

    Is it not possible to use the JS capabilities or create a WebGl shader to attempt any of this? It's literally just about feeding values into a matrix and then doing some math on that matrix. As mentioned I have a working demo for it, but its janky and slow with the event system, and not quite usable for the game itself. So if I had a way to speed up the math, ( and not have to store Matrices as crazy long strings that I have to parse with "tokenAt()" ) then I feel like it would be where I need it to be.

    tl,dr: I don't want any Polygons, Voxel Models, Wolfenstein/Doom clone engines, whatsoever... the goal is to stay as far away from 3D visuals as possible, with the exception of Billboard Sprites to represent a noisemap/level layouts using matrix math

  • Thank you for the respose!

    I have explored proper 3D engines already, and while they make this aspect of the game-engine a little easier to achieve, they do NOT get me the desired look without a lot of workarounds...

    The Goals are:

    - Clean and crisp pixel art at low 16:9 resolution ( 480x240 )

    - 3D matrix point calculations for the a 3rd Person, behind the player style camera

    - Billboard sprites that exist at each point to help generate the game world

    - Shaders for special fx, vfx, and stylised depth simulation

    ( The real goal is to explore the way games might have looked if polygons had never taken over... lol )

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hey all,

    So... I've been using C3 for a little while now, and am starting to hit a lot of walls with my goals...

    At this point, my goal is a Pseudo3D engine using billboard sprite and matrix multiplication to simulate 3D space... ( yes I realize C3 is not intended for 3D, but I'm looking for advanced Pseudo3D, which my game is dependent on )

    While researching matrix mathematics for 3D point calculations, I realized that WebGl is inherently 3D capable and actually has a lot of functionality for matrix applications.

    ( see: developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Matrix_math_for_the_web )

    ( and: developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_model_view_projection )

    So my question is... how accessible/inaccessible is this kind of application within C3? Like can I try writing a shader that will work something like the fiddle's presented in these examples? Is the built-n JS open enough to allow for this sort of thing? I've got a working demo using sprites, events, and string parsing for the matrix math... but its slow, clunky, and while it works as a demo, its not great for the actual game...

    I'm really hoping that what I'm looking for is possible in C3 in an efficient and usable way, as otherwise I'll have to jump ship for something more suitable to my needs... which I'd rather not do, as I love using C3 and anything else will be much slower due to learning curve...

    So please advise... am I trying to jam a square peg into a round hole here? Or is the round hole flexible enough for me to get it in there anyway?

    Feeling pretty defeated and deflated atm tbh...

    Thank you for any advice/responses

  • Use Worker is already off and the console reports:

    "DevTools failed to parse SourceMap: chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/include.postload.js.map"

    My knowledge of anything HTML5 related so pretty non-existent I'm afraid...

brent_hamel's avatar

brent_hamel

Member since 31 Dec, 2009

None one is following brent_hamel yet!

Trophy Case

  • 14-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

18/44
How to earn trophies