PixelRebirth's Forum Posts

  • Yes, I need the unique numbers in the array, like numbers from 1-10 in different order each time an event triggers it, like a left mouse button click, to make it simple.

    Here's an example cap:

    http://dl.dropbox.com/u/2306601/array_hash_unique.cap

    The X and Y size of the array control the number range. Initially it's set to 10*8, which will result in 80 array cells holding numbers from 1-80 randomly. If you want a 1-10 range, set the Array size to 5*2 for example. I also included a visual way to show the array when you run it, so you can see that it works. Clicking left randomizes it again.

  • 1. get a unique random number from like 1-10

    Random(10)+1 will return a number from 1 to 10.

    2. create an array unique radom sort

    Do you mean a random value for each cell of the array that's unique too? Maybe it's me, but I can't quite tell what you mean.

    You can loop through each element of the array and set the current cell to random(x). If you don't want to add numbers to the array that already exist in the array (since you said "unique"), things get a little more complicated.

    I sometimes use a method where I take advantage of the "Check if key exists" condition of the Hash table object in that context, but it would be tedious to explain. Maybe better suited for an example.

    Still maybe you could clarify first what you actually wanted. And welcome to the forums btw!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hmmm... A level editor. I had second thoughts on that idea before since I'm clueless on how to make one but I guess that would be best, eh? It might prove useful to me in the long run too.

    It doesn't really matter at this point if you know how to do it, the learning experience will be so much worth it!

    I need to check out the forums if there are any caps that has level editors.

    I noticed that pulowski recently uploaded an example for an array level editor.

    http://www.scirra.com/forum/viewtopic.php?f=8&t=8162&start=0

    That would be basically the simplest way to go about it, although it might not be feasible depending on what kind of game you're creating. If I'm not totally mistaken lucid also provided an example for his S plugin, but that would be rather offputting to start with. Go from simple to complex.

  • If you have a lot of levels I would suggest to just use one single layout and load the levels from file. Of course that would mean that you will have to make a level editor first of all. Which could become a difficult task in itself, depending on how complex your game is going to be.

    A good way to store more complex levels (more complex than some single screen game which would be suited for an array) would be to use INI files or rather try the S plugin. I'm actually using a combination of both in one of my current projects.

  • One of the reasons for me to avoid the Wait object is that it breaks picking. All instances of the enemy will be selected because of the wait action you have in event 109.

  • Problem is, player 1's "bumping" events are above player 2's, so player 1 always knocks player 2 farther back. If I put player 2's "bumping" events above player 1's, then he will knock player 1 farther back.

    Sounds indeed like it could be fixed by using families and/or proper branching. If you're still having issues I'd suggest to post a cap.

  • I would think about using image points. In case of circles you could check the distance to the respective image points (having them places centered on the circles). The closest distance that's still in the radius of the circle would be picked. But you'd have to use PVs then too to set the radii.

    Or you could define rectangle shapes with PVs too, you'd need at least two values per area. One representing top left, the other bottom right position (X/Y and gettoken maybe).

    Actually what I'm talking about is more or less like image maps in HTML work, so you could adapt that if you're familiar with it.

    It's prolly better for any shape to just place contained invisible dummy sprites on the object. Again with image points.

  • Hello, how would I move a sprite to a set position, say (230, 350) for example, at a set speed?

    The easiest way to achieve this would be the "Move at angle" action of the sprite object. You can set the speed (pixel distance) and the angle to travel by. Use the angle expression like this:

    angle(sprite.x,sprite.y,230,350)

    and don't forget timedelta for your speed.

  • So here's a solution that kind of does what you want, I would consider it less than elegant though:

    http://dl.dropbox.com/u/2306601/abomination.cap

    You can drag around the small light boxes with the mouse.

    If you were to have just one single light source, I'd say to use the heightmap plus effect. But that's most likely not the case, is it?!

  • As for the whole falling off the bottom thing, not being able to move forward when you're off the top of the screen is a real pain in the ass. You can get stuck and not be able to advance in the level because the next platform is too far to drop onto. In my opinion, you should do one of two things:

    1. Don't allow falling off the bottom. Just make it instant death, and instant restart of the level. Since falling means you'll probably have to restart anyway, automatically doing it for the player will cut down on frustration.

    2. Every time you fall off the bottom, you lose a star (or maybe all of your stars?). Counter-balance this by allowing the player to move wherever they want to when falling back into the level. Since the goal is to get as many stars as possible, it's a fair trade off because people wouldn't be able to "cheat" to get past a tough part, but they can still at least finish the level. <-- better option imo

    I was wondering if I should just change it so you could move the respawn arrow anywhere. But of course that would make falling down more of a feature, without any penalty (apart from the time you're losing).

    I think your idea of losing a star sounds about fair. I will most likely include it in the next build.

    You need slightly more time to react to the mines. They go off way to friggin fast imo. Or you could start them off slow in lower levels and make them quicker in higher ones. And give them some kind of visual clue as to how much time they have, like a number that counts down or a meter that ticks off notches or something.

    Not so sure about this. I like how the mines work right now. You come too close, see the light turn red and boom. Do you suggest making just the time longer they take to detonate or changing the range within mines detect the player too?

    It's quite difficult, but still ok. How to finish the Small level?

    I love the explosions.

    It's not supposed to be easy.

    Check out one of the videos in the first post, it shows how to beat level SMALL. Thanks for playing!

    Also, if the player gets rank 3 or 2, have an option on the results screen to "Retry" "Next Level" or "Exit" (to menu). If they get rank 1, obviously it should only say "Next Level" and "Exit.

    Yes, good points right there. Was slapping the results screen on last minute before I uploaded the first public release, so something should happen there like you said.

    If they blow up from time running out they shouldn't get any ranking results at all, but a fail screen asking to "Retry" or "Exit."

    Right now Rank 1 is for reaching the exit and collecting all stars. Rank 2 if you don't get all stars, but still reach the exit. And you come in third if you don't reach the exit at all, which means the wall of explosions got you good. Maybe the RESULTS text in the background should say something according to your ranking... like FAIL if you come in third. And WINNER if you finish with all stars.

    And if it were my game, I'd lock levels until you've beaten them once so you can't skip ahead.

    Yes, but right now there is no sense of continuity. Levels don't belong together, that'll be the campaign mode. Single play is just for playing any level someone made. But it should have the campaign levels unlocked for single play once you beat them I guess.

    Thanks for putting so much thought into your comment deadeye! Detailed feedback like that is what's needed to get ahead in development.

  • So far I have figured out X is drop a time bomb, and C is jump. I have no idea what the rules of the game are. None at all. Sometimes the bomb detonates a small area, sometimes the entire chain of blocks explodes.

    I think it would have been better to leave the release until after Christmas so you could put some documentation in there.

    Controls are in the description on Game Jolt. I wanted to make a manual/readme html, but being busy with christmas stuff and a general tendency of laziness kept me from doing so for now. It's fun to figure out stuff on your own anyway, no?

    Also, can you do anything to restart a level after you have lost aside from exit to the menu?

    Press HOME to restart a level. Controls are in the description on Game Jolt.

    will try it again when there are some controls and rules posted.

    Okay, let me describe the basic elements. There are three kinds of blocks:

    Brick - will be destroyed by dynamite/explosions

    Crate - contains dynamite itself, starts a chain reaction

    Metal - indestructable for the player's dyna, but will perish when the time runs out and the wall of explosions rolls in

    Other elements of the game:

    Mines - basically a pack of dyna with a movement detector. Come too close and it'll blow up.

    Stars - as mentioned you have to collect them. Stars stay still as long as theyre sitting on the ground, but they will start bouncing around otherwise.

    Exit door - reach it to end the level

    Especially bothersome as you have mouse controls in the menu but not in the game

    That's not the case. You can control the menu with arrow keys and X just fine. When you have the mouse over menu elements, it will override the keyboard controls though. The only part where you need the mouse, is naturally the level editor.

    The game looks very nice mind you. Graphics are clean and cute.

    Thx. And thx for trying the game and giving detailed feedback!

    Interesting concept.

    Sticky dynamite > Lazers anyday.

    Indeed.

  • This is a platformer I took on as a side-project earlier this december. Originally just an attempt to create an engine in Construct similar to Platformerman, this has grown into its own little thing.

    <img src="http://dl.dropbox.com/u/2306601/skylimitforum1.png">

    The game plays simple enough: you destroy blocks with sticky dynamite, collect stars and need to reach the exit before a huge wall of explosions will wipe out the whole level.

    Right now you can just play single levels, a story mode is planned. But there's also the level editor included, so you can try to make your own nailbiting levels.

    It's a bit of a rushed release, for some reason I wanted to have a public beta out before christmas. You can download the current version on gamejolt:

    DOWNLOAD SKY/LIMIT BETA (0.34)

    Two brief videos from the game (rather poor quality sry):

    For more info and explanation of the various gameplay elements check out the included readme file.

    And also Merry Christmas everyone!

  • Your question has actually nothing to do with spritefont, but with expressions you can use to manipulate strings, values and floats.

    First I wanted to mention the FormatDecimal expression to you, but then I realized you wanted to manipulate the number of characters before and after the dot, maybe even with letters and not only numbers like in your example.

    So you'll need Gettoken, it's a system expression. Take a look here:

    SYSTEM EXPRESSIONS

    About the most important stuff to know about Construct.

    So lets say you have a string "dadadudu.muhaha" and want to limit it to 4 characters before the dot and 2 characters after:

    left(Gettoken("dadadudu.muhaha",1,"."),4)&"."&left(Gettoken("dadadudu.muhaha",2,"."),2)

    Gettoken can take your string apart by using a delimiter character. In this example it's obviously ".". So when you write Gettoken("dadadudu.muhaha",1,"."), it will return the first token, which would be "dadadudu". Now this is enclosed in a left expression, which returns the defined number of characters from the left. Left("dadadudu",4) gives you "dada".

    So by getting the two tokens, limiting them to the wanted amount of characters and putting a dot in between, you get the string you want. In case you need to understand more about these expressions just use the link above. Like I said, it's essential to know about the system expressions!

  • Thanks, that was the command I was looking for, just couldn't find it. Is there somewhere I can look up a list of commands such as this? I'm sure I'll need to reference something similar.

    Well, the most important thing to know when using Construct is this imo:

    SYSTEM EXPRESSIONS

    and this too: http://sourceforge.net/apps/mediawiki/construct/index.php?title=Expressions

    To cite from the 2nd link:

    [quote:44kfuzdf]Most plugins have expressions of their own, which you can use to get information about that object. You can double click an object in the object panel to see a list of all of them. A simple example is Sprite.X, which retrieves the Sprite object's X co-ordinate.

    Object expressions have an object name and the expression name separated by a dot, as in Sprite.X.

  • When you run it you'll notice he's "jerking" when he's supposed to be stood still. This is the sprite flipping through some animation images instead of just the IDLE image. Strangly sometimes he does stand still but not often. I just don't get it.

    Your hotspot needs to be consistent. Put it in the bottom middle for each frame of every animation for example.

    And don't use empty animation frames anywhere, since there are no pixels it cant collide with anything.

    Also why didn't you remove the white background from the character?