Bertie Booster's Forum Posts

  • I've done this though not in C2 but here's how I accomplished it loosely based on the original game logic.

    First decide which objects you want the boulders to fall from. I selected boulders and gems. in classic BD they call these objects round.

    assign a boolean var to each rock instance eg isRound and set to false by default.

    Now you'll need to acquaint yourself with the "overlapping at offset" event.

    Say you have a 3x3 grid and your rock is on the middle square.

    123

    4R6

    789

    On start of level for each rock:

    Check if it's overlapping a round object at offset x=0, Y=(1 X tilesize)corresponding to square 8.

    If it is then set the isRound var to true. The rock can now roll

    Make a timed loop

    System every 0.2 seconds

    System for each rock

    add a second condition so it only checks rocks that you permit may fall.

    if isRound is true

    then:

    Check if it's overlapping an object on the square to your left.

    if it is then check if it's overlapping an object on the square to your right.

    If it isn't overlapping anything on the left ie the square is empty then check if it's overlapping anything in the square left one, down one if it isn't then fire the "Roll" function) if it is overlapping at either of those two points try the same thing on the right ie is X overlapping at X + tilesize, Y=Y then X + tilesize, Y + tilesize.

    Back to the square of nine Rock is on 5 you check 4 then 7 if both empty roll rock left if either occupied check 6 then 9 if both empty roll right if either occupied then no roll possible but now is a good time to update the Rock vars as something may have changed since the last time So add an Else:

    Check if it's overlapping a round object at offset x=0, Y=(1 X tilesize)corresponding to square 8. (As at beginning)

    Game has moved all moveable instances and updated all instances to see if they are potentially movable.

    Roll function can be simple movement 1 x tilesize left or right and let gravity do the rest bullet works best.

    Use platform behaviour to detect if a rock is falling or has landed and toggle the isRound var otherwise you'll have rocks dropping off objects you don't want, round only!

    As in BD the same movements can be applied to the diamonds to achieve the correct drop effect for those too.

  • (I am the only one in a company lol)

    Not another CEO on this site??

    <img src="smileys/smiley36.gif" border="0" align="middle" />

    Welcome aboard, where exactly do you think you might need to register a company name?

  • It is quite complex, you aren't far off completing it though. Do you get to choose your assignments or are they set because if you can choose then for a later one I'll happily show you an alternative much more streamlined way of achieving this result.

  • Are you combining Platform behaviours and Physics behaviours in your game, they don't work well together.

  • Hi

    I've a problem that's frankly driving me nuts.

    Imagine you have a square grid 10 cells by 10 cells the centre point co-ordinates of each cell are hard mapped via an array.

    on startup I'd like to spawn I don't know .. 20 candy bars and randomly place these around the grid.

    I can do this no problem and all is well until the random position selector duplicates a position for the created candy bar.

    Nothing I can do seems to force C2 to run the checks (X overlap and x colliding) that those co-ords are occupied by another candy bar instance so the cell becomes populated with two instances.

    Any other object at all and the check works but I cannot find a way of doing what is basically an if candybar is overlapping candybar or colliding with candybar check and it does result in some grid places getting populated several times with the inevitable strange behavious associated with solids trapped inside solids... <img src="smileys/smiley18.gif" border="0" align="middle" />

    Any suggestions how I can get around this will be well received.

    Thanks!!

  • My brief experience with C2 has led me to deduce that the biggest resource hog are often the collisions. I've found you can drastically improve performance by:

    Playing with the collision boundaries in the image editor until they are as small as you can get away with to function correctly.

    A 32px square with collisions set to bounding box causes much more stress on the fps rate than the same square with the collision boundary set to (1,1),(31,1),(1,31)(31,31).

    Try rotating a square 45 degrees if it doesn't affect the objects interaction it can reduce collisions.

    Turn off collisions on objects that don't need them.

    Make sure all objects that can collide are on the same layer.

    In layout view check the View tab/show collision polys option to see how the objects interact and overlap at rest. Look especially for overlaps and ways of minimizing them

    Don't use complex collision polys if a pinned rectangle will suffice.

    Check your code for extraneous collision checks.

    Use your debugger all the time and the built in profile tab which tells you pretty well where your resources are being used because we've assumed the code isn't leaky, it might well be and the debugger/profile tab will help you nail it.

  • Nvidia Tegra Note 7 is imo the tablet buy of the year by some stretch.

    Quad core Tegra 1.6GHz with a fifth eco core for running Android OS, 72 core Nvidia graphics this was done as a joint venture between Advent t/a PC World Currys etc and Nvidia (well actually EVGA make it). Cost around �120 or half the price of the next cheapest Tegra quad core, 16GB 1280 X 800 , 1GB Ram Android 4.3 and believe it or not a very good quality Stylus!!

    They were �120 at Christmas, gone up slightly but seem to fetch a premium on top when sold on ebay as i's streets ahead of anything near it's price range.

    First real competitor is the aforementioned Nexus 7 but that's approx 40% dearer and doesn't have the grunt tho' it does have a better screen imo.

    If I were you I'd pick up a Tegra and one of those rubbish �40 plasstic screen "toy" tablets with 512MB RAM and 1.0 GHz cpu.

    Total approx �170 let's you see the best and the worst which is important as the Tegra seems to do steady 60fps on anything that's thrown at it which is not always exactly helpful to a dev with slack code as the less powerful machines might not have the grunt.<img src="http://www.nvidia.co.uk/docs/IO/143833/advent-vega-tegra-note7-tablet-side.png" border="0" />

  • I've only had a very quick look and here's what I noticed:

    Everything is controlled by the SavExit Global variable if this var has a value of 1 then the menu will be destroyed.

    Everything selectable on the menu sets this var to 1.

    So from that point on the save/load menu is destroyed upon creation.

    Try adding a System => set SavExit to 0 action right at the end of event 3 in "SaveLoadScreen"

    It will work **.

    This resets the var value to 0 upon completion of a valid destroy routine so because the var SavExit is 0 the event at 3 is not met (SavExit=1).

    ** There are better ways of achieving your aim see comment two...

    Good luck!!

  • If you could upload a CapX I'll have a look later on for you.

  • Hi.

    A few things I can see wrong here.

    You need to save the data to webstorage AsJSON so simply add the following excluding the ""'s after "pontos" in the very last line of your code so it reads set localkey "Highscore" to pontos.AsJSON

    Which solves the other problem that you set pontos as a global but in this line of code it's enclosed in "" which the computer then reads as a string

    So if pontos had a value of 100 then typing pontos will record the value 100 but typing "pontos" will record the value pontos. <img src="smileys/smiley5.gif" border="0" align="middle" />

    If the programme is expecting a number and it gets a string you have problems.

    Then delete the 2nd instance of on start of layout/Local key highscore exists it's not neccesary.

    Then you have problems with Highscore you'll notice "" are back on two but not the first usage.

    Have you called an object the same name as a Global (pontos)?

    TBH it's a little messy if you could upload a capX it will be easier all round.

    In the meantime the suffix .AsJSON is your friend have a read up on it and watch out for Globals in ""'s. <img src="smileys/smiley4.gif" border="0" align="middle" />

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I'll hazard a guess that you have not regulated the collision object(s) for your player. There are two easy ways of doing this in C2.

    1) Create a transparent rectangular sprite the ssame size as your player assign the pin behaviour then pin the player animation to this invisible rectangle. From then o you want your collisions tocoinide with hittingthis collision detector NOT the player which will probably not be a uniform shape.

    2) In the C2 image editor set the collision boundaries to a rectangle and apply throughout all animations.

    Full story and pics here.

    scirra.com/tutorials/253/how-to-make-a-platform-game/page-4

  • You need to have a little look through the tuts just to gain an understanding of how some basic events work or you'll run into lots of problems.

    The "Else" worked in your example because if neither condition in [1] was met then it ran [3].

    Works for a one type movement but you will run into problems if you need anything other than a flappy bird up button unless you sort your input types out or do some seriously unnecesary logic.

  • You're welcome.

    Another way of achieving what you want is to stop bullet movement when the Y co-ordinate is below a set amount like in the pic.

    <img src="http://s13.postimg.org/lzvyoc5if/sunrise.jpg" border="0" />

  • Does the Crosswalk built in emulator run the game OK?

    Have you tried emailing a link to yourself and installing it directly from Intel and not through the adb tool?

  • Naji two quick tips if you don't mind.

    1) Spellcheck always spellcheck thoroughly, first thing I saw was the "quite" village I'm sure you know about it but nothing is more off putting to me anyway.

    2) Get into the habit of using Spritefonts and your games will look much, much "Gamier" <img src="smileys/smiley4.gif" border="0" align="middle" />

    And 3 Take all criticism on board, don't be disheartened learn from it.