tunepunk's Forum Posts

  • Looks nice what's that software with the animations?

  • It has good performance, but you need to investigate and optimize your code a little bit. It's easy to make things work, but sometimes hard to make it efficient, depending on what you do. Sometimes people use too much effects that will make the game slow. That's not c2 that's slow, it's usually bad design choices and bad code.

  • Ashley and Tom Good job with the last couple of updates. The new clipboard setting is pure GOLD! No more annoying copy messages when trying to copy stuff and paste stuff

    I think this one could even be enabled by default on web version, (since chrome and most other browsers don't really allow copy to clipboard) but disabled on the upcoming desktop standalone version, it's that good really!

    I don't know if it was forgot or left in by purpose, but crosshair on "Ctrl+V" I don't really think is needed either? or if it's left in by purpose... maybe a 50% opacity representation of the things you're about to paste instead of the crosshair, so you more easily see that you have something to drop.

    Anyway keep it up. I will report more usability stuff if I find any.

  • If you're making it competitive i guess randomness is not very desirable. If the player does well, they might be accused of just getting a lucky roll, in the randomness. But it all depends on what type of game you end up creating.

  • > Every time I try to copy something I get the warning message, it's a bit annoying but bearable. I get why it's there, but is it possible to add a setting so you can turn it off, and only use the internal copy and paste without warnings?

    >

    I guess this would avoid those warnings, so I've added a new setting in r21 to use in-app clipboard only (i.e. "use fake clipboard").

    [quote:30ikye9g]When you use Paste... is it possible to paste directly where you clicked, or at mouse pointer... instead of having to click a second time...

    This makes sense, no need to show the crosshair when it can just use the clicked position. Changed for r21.

    As for the text format: AFAIK browsers can only copy text, not other formats. It could in fact be useful - for example I can select that text and copy-paste it directly in to C3 and see your sprite.

    Good news!

    Ahhh, that's pretty neat if it works like that.... I just tested it out.

    You don't even get warnings that that this object doesn't exist in the project. it creates a new sprite object as well if it doesn't exist.

    Same was not the case for events. There you get a warning as usual that the referenced objects doesn't exist. Maybe that would be a nice feature for a future update to have a dialogue to create the missing object and variables if not exist. Maybe even have the referenced objects also be loaded in the copy, but only paste if they don't exist?

    I can find many nice uses for this kind of functionality. One thing that comes to mind directly is when helping out other people on the forum. Instead of sharing a c3p file, (it's a bit of a hassle, saving the c3p file on an service like dropbox, sharing the link. Then they have to download the c3p file,open the project) Instead you can share a code snippet, that they can just paste in their project. Maybe very useful for solutions to smaller problems.

    It could also be very useful if you want to build up your own library of useful events/functions and code that you are likely to reuse. Instead of having several different c3p files, to copy and paste between, You can save your useful code snippets in a text file, online document, or whatever, for later reuse, and paste into your project when needed. Very neat and handy.

    Why not have a built in snippet library, that you can just pick from? Kind of like the plugin dialogue, but with events/objects that you save.

    Click one of your saved favorite snippets and it just pastes it into your project. I did some awesome touch controls in another project, that I want to reuse. Highlight those events. Right click... "Save snippet to your library" as.... "touchControls"... for easy access in other projects.

    Anyway. Nice work.

  • Ashley

    should this be happening?

    {"is-c3-clipboard-data":true,"type":"conditions","items":[{"id":"is-between-angles","objectClass":"System","parameters":{"angle":"0","first-angle":"0","second-angle":"45"}}]}[/code:10jmh4e5]
    
    This is what i get, when I copy an event in C3 and paste it here.
    
    And this is what I get when I paste a copied sprite here, as text.
    
    [code:10jmh4e5]{"is-c3-clipboard-data":true,"type":"world-instances","items":[{"type":"Sprite","properties":{"initially-visible":true,"initial-animation":"Animation 1","initial-frame":0,"enable-collisions":true,"live-preview":false},"instanceVariables":{},"behaviors":{},"world":{"x":206,"y":226,"width":4.185689907291271,"height":4.185689907291271,"originX":0.46,"originY":0.5,"color":[1,1,1,1],"angle":0}}],"object-types":[{"name":"Sprite","plugin-id":"Sprite","isGlobal":false,"instanceVariables":[],"behaviorTypes":[],"effectTypes":[],"animations":{"items":[{"frames":[{"width":25,"height":25,"originX":0.46,"originY":0.5,"originalSource":"","exportFormat":"png","exportQuality":0.8,"imageDataIndex":0,"duration":1}],"name":"Animation 1","isLooping":false,"isPingPong":false,"repeatCount":1,"repeatTo":0,"speed":5}],"subfolders":[]}}],"imageData":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAADEUlEQVRIS72WTWicVRSGn3Pnz6BYiBvFqkkrSClOQAshKf4EBXEtLVJK6U4ouCguXKltdeNKQRfuzEaFFjduhG6qohML4yIJaaFgfkgXrgItSJ1vvrlvOfebvzapLRrmwuXeGWbOc95z7j3nGiMYNgIG94VMXFp76JFa54VgpUNILxqMC/YY3BBsmdHsKP6h663mytGD2U5O/yuk3vjzNQinQE8YBMAEwUACM4gU+2iwGRU+Xz48sXA3aEfIwZWVavnm2DtRejtgZcNKSnYsYEPqhUDRCBLqRJQH7LvF1sZXzM3lPdg2yIHfVp+pwicEnkWUgLJBSVjJHVYSUAxLIoIMdQQdIMfoILuSSeeuHt63UfxueJw5E6beOHEWeF1KxsskQNp7uBzqYkwJkIYDXKZ77vvcjBzp4uLs/o+2QZ5fWH/TFD9Ixo1qV0mla9wBASVYT4rnxKer8NkulJA5TBY+Xp6Z+LGvxPNQujH2jcHTgBt2FcOrQ3z6f3y6Ep8DQKGmncJWrBv5nlvH+5D6r6svEfg0YFVQJULFCkgFVAYrJ2U2pETE5DnKwZJhQTskgLUjyoi834dM/b7+HjEecQAJlAC9tdLNi6vzcPlMoUo5GHju3vtdaeMArE0IFwZKGqvzBgcwaugukKhg/dA5qBcu9z5HKRd3AszaiJbg6jDkB4PHPeES1RQqUesaH1aWTlw3Fw7pek7Whbnhtln67Afgr0G4GmuXQA8b1DwfnhtJ1XTKitDVhkLYO189QCuFSGRmlnkuPC+CFtjfo1VSH0VORnO6FtamkT7b9XtidnpQu86fL9WfPPS1Gc/t2o03ri1uNk/eUSDrXTW7VbswO700M3l5W6mfWlh9Fzj2v6swfLs4s++L7aXev2k2K1PZY19iqv/XfqLI8lK2carXuHbsjN7XH63FD8Fe9Yb1oJ2xaFz66WYrnFufm/znnp2x3yskqzfW3jLjpGD8AXr8lsT80uzk96mnDY37vlb2NjbHxslfgfgyYtrMasUbQj5awcLlCL9sUf75+uxTt3Z6rdwG59/Rhrcb9f8AAAAASUVORK5CYII="]}[/code:10jmh4e5]
    
    I don't get anything like this when I try to copy something in C2 and paste it in a text editor outside C2.
  • Fantastic to see, that the Copy paste is working a lot better now!. Good Job ASHLEY.

    Although i have a minor request, if it's possible.

    Every time I try to copy something I get the warning message, it's a bit annoying but bearable. I get why it's there, but is it possible to add a setting so you can turn it off, and only use the internal copy and paste without warnings? That would be swell. You would get the feel like it's working as a normal application. I don't see a lot of scenarios where you would actually copy paste between different apps or instances or C3, so an option to disable the warning and only use the internal copy would be awesome! Maybe external (real clipboard) copy could be a standalone desktop version feature only.

    On a sidenote, just for ease of use. When you use Paste... is it possible to paste directly where you clicked, or at mouse pointer... instead of having to click a second time...I think that's just a personal preference that would feel a bit more natural and user friendly. Current design, you kind of get the feeling that the paste didn't work. until you click somewhere. I think that's more close to how other most software usually work. When you paste, it pastes directly, not after a second click. Maybe worth a try? Event sheet works like that so why not Layout view as well?

    Anyway great work... keep it up.

  • tunepunk Remember that anything that is client-side can be modified, so even if you do that ( comparing amount of arrows to a max value ) , the max value can still be hacked. So there is no point in that if the hackers will set their own max allowed arrows value.

    Yes that's why I'm trying to move over many the variables to be stored in photon cloud. The max arrows value is not what your client say it is. It's what photon cloud says it is. I'm trying not to store any values locally.

    Photon has pretty nice features to store variables per actor or per room. If you fire one arrow you don't get minus one to your local arrowcount, you get minus one to your photon actor property.

    Actions like these. Set actor 0 custom property "arrowcount" to Photon.PropertyOfActorNr(0,"arrowcount") -1

    So you can set your arrow count to what other players say your arrowcount is not what your client say it is

    I've not messed with it too much, I just started to move over values that way instead, but it feels a bit more safe, and a bit more hard to alter.

  • I wonder if policing variables in events would help?

    Clamping certain values i.e health and ammo; running checks on others like score such as monitoring the difference/jump in score from one second to the next, and resetting it if it's too big a jump to have happened naturally.

    I've tried some counter measures like that. For example:

    The game only allows maximum 5 arrows per player in the game. If the total game arrows are is more than what's actually allowed. (Number of players x 5) you're your actual arrow count is reset, to how much you should be allowed to have.

    Player 1 has 7 arrows.

    Player 2 has 1 arrow.

    YOU have 0 arrows.

    On the ground is 7 arrows.

    = 15.

    You won't be able to have more arrows than is allowed in the game (3x5=15), so you need to destroy one ground arrow before you can increase your arrow count.

    Works pretty well, but I probably have to spend more time on things like this to make it even more secure later. I'm probably going to move a lot of variables to be stored in the game room / photon cloud instead of locally as I'm doing now, to prevent it even further.

  • Hmmmm.... sounds pretty bad, especially if you're planning to do any type of competitive multiplayer if values can be altered like that.

    I would like to know:

    Can this be done to mobile games also?,

    Does all html5 games have this issue, or is construct games more vulnerable ?

    Can you do this to basically any game on other arcades like kongregate or newgrounds?

    I guess cheaters will always find a way to cheat, but at least you shouldn't make it easy for them to do so.

  • Yes it does matter, if you're doing something like using the same conditions over and over.

    Example:

    Event 1 - Bullet is overlapping wall, turn on particle effect

    Event 2 - Bullet is overlapping wall, play sound

    Event 3 - Bullet is overlapping wall, destroy.

    Doing something stupid as that is going to be 3 times heavier than just putting all the actions under the same condition. Above example will check overlap 3 times. Every time you use the same condition again it has to check for it again. So it's generally better to use less conditions like:

    Event 1 Bullet is overlapping wall, turn on particle effect, play sound, destroy.

    Much better than checking same conditions over and over, like above example.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Good question. I think it boils down to what you wanna do. Do you want to make it more roguelike just to satisfy a certain type of player or do you wanna make the game how you would want it to be? Anyway, make the game you wanna make or is capable to make.

    I would say... take all the good things YOU like from other games, weather it's procedural or not, random or scripted. I kind of enjoy both.... sometimes it feels good to predict enemy shooting patterns, you feel you learn and get better. On the other hand you sometimes want more randomness.

    Why not use both for different kind of enemies (robots and humans)?

    Or why not have them use scripted but with some randomness?

    I don't see why you need to commit to one or the other just because everyone else does it. Why not use the best of both worlds?

  • Managed to solve it finally. Thanks for your help guys.

    http://tunepunk.com/share/scirra/orbit_movement.capx

    Link to capx if anyone needs similar movement.

  • Just so happens I'm creating game that uses that mechanic.

    Check out my template:

    https://www.dropbox.com/s/gqqa39cq2ds7k ... .capx?dl=0

    Yes something like that exactly. I just need to make the distance variable based on distance to mouse pointer.

  • I believe he wanted a constant linear speed. Here's my take on it, using your formula.

    https://www.dropbox.com/s/59lavr8k6xsb2 ... .capx?dl=0

    Close but no cigar. But I think I have something to work with. Thanks.

    What I'm trying to do is more of a movement system.

    1 The red box should always face the Mouse pointer. This is where it is looking.

    2 pressing arrow up or down should move the box closer or further from the mouse pointer.

    3. Pressing left or right should orbit the red box around the mouse pointer, clockwise or anti-clockwise. Based on the distance to the mouse pointer (this distance is relative)

    I think I have what I need from your example to solve the last few bits. Thanks.