cjbruce's Forum Posts

  • Great data points. Thank you for sharing!

    My largest project is currently at 4500 events. No issues so far.

  • R0J0hound,

    I've been a fan for years, but haven't seen this thread until now. This, and pretty much every other insightful comment you make, should be stickied for posterity.

    Thank you, thank you, for this wonderful treasure trove!

  • You could do this with the platformer behavior + a little bit of custom work:

    1. Create an instance variable for the player called prevx.

    2. Create an invisible sprite for the top of the box.

    3. Set the top sprite to solid so that the player can land on it.

    4. Every tick set boxtop.x + box.x

    5. Box -> is overlapping player -> set box x = self.x + player.x - player.prevx

    6. Every tick set player.prevx = player.x

  • So you are looking for some way to do peer-to-peer networking?

  • Here's my Q3D project from last week. It is part of my ongoing attempts to make a better simulator for my high school's robotics competition -- think "BattleBots", held in a high school with slightly smaller robots and $2000 budgets. Students were having trouble figuring out how to drive, so I designed this simulator to work with game controllers.

    It supports 3 control schemes:

    1. "tank" controls - left stick controls the left wheel / right stick controls the right wheel

    2. "2-stick" controls - left stick forward/backward, right stick left/right

    3. "single stick" controls - same as "2-stick", but with forward/backward/left/right all on the left stick

    https://dl.dropboxusercontent.com/u/55106174/robots/index.html

    If you have 2 controllers, give it a try and let me know how it works!

  • >

    > > Thanks for the answer! Got it!

    > >

    > > The only possibility for testing I have is to try running IOS build.

    > >

    > > 1. First attempt: Xcode built the project successfully but when I tried to emulate App it shows only black screen

    > >

    >

    > If you are working on a mac, can you put a MAMP server on localhost?

    >

    > I do most of testing on iPhone and iPad, and I haven't built an Xcode project in a long time.

    >

    What's too difficult for me I think!

    I would like to use built in C3 options to remotely previewing my games.

    Fair enough. I'm actually still using my dropbox public folder. I just export the game and run it directly from there. I would be curious to see if you can get the iOS build working though.

  • Thanks for the answer! Got it!

    The only possibility for testing I have is to try running IOS build.

    1. First attempt: Xcode built the project successfully but when I tried to emulate App it shows only black screen

    If you are working on a mac, can you put a MAMP server on localhost?

    I do most of testing on iPhone and iPad, and I haven't built an Xcode project in a long time.

  • Hello good people,

    After years of making video games for myself and a few friends after having purchased a license I now have a possibility to do a job for a company : creative an interactive display with a few games for kids. The display will be in a museum and should be a permanent display.

    How does it work with licensing? Does the museum have to purchase a yearly license to be able to display the Construct game? Can they just go online to the website where I will host their game without any extra cost than hiring me for this job?

    Feedback appreciated!

    JMF

    First of all, congratulations on getting the museum job! That is a huge feather in your cap, and when it is done you can proudly say to people "Go to the _____ museum and check out my work!"

    1. Any time you do work like this, you need a contract -- especially if you are getting paid for it.

    2. The museum most likely will not want to purchase a C2 or C3 license. They don't really care what combination of tools you use (Adobe Photoshop vs Gimp, C2 vs C3 vs open source libraries, GoDaddy vs a private server) because they most likely will rely on you to do any necessary changes. They probably don't even know what Construct is, and are just happy to know that they have an expert who can make cool interactive stuff.

    3. Decide whether you are doing "Work For Hire" or granting a (exclusive or non-exclusive, limited duration or perpetual) license for them to display your software. You should be paid the most for a "work for hire" contract, as they assume all copyrights to the completed work.

    I make all of my development money off of contracts like this, and have done work for museums as well as publicly-funded and privately-funded organizations. Every contract is different, and you will need to think through all of this in each case.

    Edit: Most museums use some sort of installed system for displaying their interactives. You will probably want to deliver them the entire app packaged up in a .zip file for installation. This protects them from having to rely on your servers, and it makes it cleaner for you because you are giving them a clear deliverable, rather than saying that you will forever host the app for them. I recommend making sure in the contract that you also have the right to display the app on your own website, and that you have their permission to use their name/logo/trademark in your own marketing materials.

  • This is a picking issue. Try adding a "For Each Drone", then checking the cargo as subevents. It should clear up the problem.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Another approach is to place the variable in a URL query string:

    https://www.mywebsite.com/index.html?ms

    In the event sheet, one can recover the value "ms" as follows:

    On start of layout -> Browser -> Alert tokenat(Browser.ExecJS("window.location.href"),1,"?")

  • Very cool idea! I love the idea of easily setting up both isometric and hex tiles. They are both more interesting to me than x-y orthogonal tiles.

  • > Easy.

    > random(315, 360+45)

    >

    > Anything that takes an angle will be fine with that. Or if you want to keep it in range you can do:

    > random(315,360+45)%360

    >

    Forum won't let me PM you. I have a question about a reply you made on here back in 2014, found here viewtopic.php?f=147&t=97994&p=1128268#p1128268. Do you still have that CPX for gravity simulation? I'm making a game using 2-body orbital mechanics and would love to take a peek, but the dropbox link is down.

    For the simulation, are you interested in a deterministic model, or a numerical approach?

    I.e. -- Do you want everything to be parametrically-determined parabolas, or do you need acceleration to be computed dynamically based on forces?

    Deterministic approach:

    https://www.simbucket.com/simulation/orbital-motion/

    Forces approach:

    https://www.simbucket.com/simulation/satellite-motion/

  • >

    > 5. Import the texture that you created in Maya/Blender/3DSmax/wherever.

    >

    > Q3D requires that you have at least one diffuse map called "DiffuseMap", so that it automatically detects that a diffuse map exists. Once you have one called "DiffuseMap", you can add other diffuse maps and call them whatever you like.

    >

    > 6. Close the animation editor. Click on your object, and make sure you have the following settings:

    >

    >

    Many thanks (The only thing I know, that I need three.js addon for Blender or Maya, but wherever I don't understand how to make it work)

    You actually don't need the three.js add-on if you are working exclusively with .obj files. The three.js add-on allows you to a few more things than the basic .obj import allows:

    1. The three.js add-on allows you to create a model in Blender, UV-unwrap it in Blender, assign materials in Blender, draw textures in Blender, then import everything all at once as a single .json file into Q3D. If you are working with .obj files, you can do all of this, except when you go to export, you will also need to save the texture maps as images, and later import them as I have described above.

    2. The three.js add-on allows you to create a skeletal animation in Blender and save it to a .json file. Q3D can import your skeletal animation and use it in the game. The .obj format does not support any sort of animation -- it is only for static meshes.

    What is your experience level with 3D modeling software like Blender/Maya/3DSmax? Do you know how to create a low-poly model, UV-unwrap it, then texture it? If so, then just save the resulting texture as a .png and import it into C2 as a "DiffuseMap" as I described above. If not, then you will need to either learn how to do texturing yourself, or get someone to do these steps for you in the 3D modeling software.

    I hope this helps!

  • Hi. I'm projecting a builder game of sorts, and I'm having doubts on the core pathfinding function. Lemme explain:

    I have an environment defined by an array with two Z levels. The first one is for tiles (1 or 0), the other one is for entities (by ID).

    The environment is defined by either 4x4 rooms, 2x4 corridors, or 3x3 corners. All connections are on a grid.

    I want an entity to first scan for points where it wants to go and then plot possible paths to said destinations. Once it has done that, decide for the shortest path (eg, "I'm at 3,5, there's a point at 10,6 and another one at 6,10, which one is the shortest accounting for the shape of the playing field?).

    The pathfinding function included in construct2 is not really cutting it for me, because it moves the sprite along a grid. What I want is to run it for every possible destination, and return a length in tiles *before* moving it, as the game will be rendering every .3 seconds and I need the entities to move one tile every time the game renders. I would also need to be able to stop it and re-run it if the path became obstructed while the entity is on the move.

    Really filthy casual developer here, so any pointers would be appreciated.

    Thanks.

    It sounds like you need "pathfinding", but do not want the stock "path following" behavior. I am in the same boat.

    I first looked at implementing A* purely in events. There are lots of good tutorials on this, just google "a star pathfinding". I was about ready to start coding it into events when I ran across Magistross excellent "easystar" plugin designed for tilemaps.

    All you have to do is put in a tilemap and it will quickly determine paths in realtime. You can even optimize it for compute time vs accuracy. In my case, I was looking to find not necessarily the absolute shortest path, but one that minimizes CPU load because I have lots of 3D physics going on already in the game.

    I am working in Q3D, so I have to implement my own movement system. Easystar is perfect for this.

    Here is a demo:

    https://www.scirra.com/forum/behavior-easystar-js-pathfinding-for-tilemap_t129056?&hilit=easystar

  • How do I either do either of the following:

    A. Pass a variable from the parent page to the ChemThink instance so that ChemThink knows which tutorial to load?

    -or-

    B. Give the ChemThink instance the ability to inspect its parent page so that ChemThink knows which tutorial to load?

    Solved!

    In order to do "B" above, I can get the desired result with the execJS function, as follows:

    1. Create a global variable in the parent page called "tutorialname"

    <script>
          var tutorialname = "";[/code:1w5u1w0h]
    
    2. In Construct, On Start of Layout -> Browser -> Alert Browser.ExecJS("parent.tutorialname")
    
    The bottom line is that I can set a Construct variable = Browser.ExecJS("parent.variablename").  I just need to have the ability to add a variable the parent page's source code.