Animmaniac's Recent Forum Activity

  • Well, being a professional graphic designer I understand very well the difference between these formats and I must agree with HotGod that would be really handy if C2 could deal with JPGs besides just PNGs. The download time for intensive graphics games could be dramatically reduced.

    Indexed PNGs may seem like a good solution but they are only more efficient than JPEGs when the image has few details and lots of flat colors. When an image has lots of gradients and details a 24-bit PNG will be a lot heavier, and an indexed PNG yields poor results due to compression caused by the limited palette.

    The benefits of JPEG are not related with video memory. Consider the amount of hosting space, download time, and the user's disk space after downloading. Think that a lot of potential audience for web games have poor internet connections, or consider the emerging mobile market where the devices have low storage space.

    PNGs and JPGS are complementary RGB raster formats. Both have their strengths and weakness, but alone they don't cover all the ground. Supporting both would be a wise decision, specially for an application that is headed at web content.

    I wish C2 could load separated JPGs for the image and the alpha channel, then would be feasible to use large images with transparency. This way the alpha could have a very high compression, and not add a lot to the size of the image like an 24-bit PNG does.

  • C2 r71; Windows 7 32 bit; FireFox 8.0; GeForce 9400 GT

    Core 2 Duo E8400 3.00 GHz; 3,00 GB RAM

    I think this may be a bug.

    I'm trying to make a "pushout" event to prevent attached parts of the player to get into solid objects.

    This is my take at it:

    http://dl.dropbox.com/u/7871870/construct/c2-bug-test-05.capx

    *Instructions: Just run to the left.

    However, it seems that the "Repeat" ignores any conditional of it's sub-events but still executes their actions. So, instead of pushing the player just the right amount out of the solid, it is moving it 20 pixels to the left.

    Can you confirm that something is going wrong?

  • One feature I would like to see in the future regarding the dotted rectangle is the ability to drag it around in the editor as a way to set the scroll starting position. It seems like an expected functionality for it.

  • I don't know if it would be feasible to add or remove behaviors at runtime, but I think the ability to activate and deactivate them should be built in C2 by default.

    Unfortunately as of now, if your object need to change behavior the only way is to make workarounds like destroying and creating different objects, or making your own behaviors through events.

  • It seems this behavior can be useful for interfaces. But just toggling visibility is not so pretty and is easily achieved through events. Maybe you could add a "fade in" and "fade out" parameter to make it more versatile.

    Now thinking maybe it would be better to just make a fade behavior instead, since having only the mouse over trigger is too limiting. Then you could trigger it the way you want. And unlike the built in fade behavior you could make it fade in and out at anytime through actions, not making it just an automatic animation that fade in, wait and fade out (that is not much useful).

  • I made a big list of small features that I missed during the first C2 competition. I have been quite busy lately that's why I'm posting it just now.

    I will try to explain them with as few words as possible to not make it too extensive, so if you have trouble understanding something just ask. I added numbers to each one to make it easier to reference. There are probably some things that are already implemented in C2, so just ignore them.

    But first I'll start with the more descriptives:

    01. During competition I noticed that I can live without proper drawing tools for prototyping, but there are two essential things missing in the image editor that are indispensable: "paste clipboard" and "translate/move image".

    The ability to paste an image instead of loading from a file means that the task of cropping and exporting each and every single frame into a new file is not necessary, so an enormous amount of time is spared. ctrl+c ctrl+v FTW.

    And since (currently) we are only dealing with whole images, it should at least be possible to move the sprite to proper frame it within the frame bounds.

    02. Another thing that I missed during production was the basic "most relevant object coordinates" like TopY, BottomY, LeftX and RightX.

    I had to create those variables to every object that was hit by the laser and proper assign the values through events. Would be very handy to have those like CC.

    And in case those are added I also would like to suggest two more coordinates that I use all the time and could be very handy too: Center.X and Center.Y. Combining them you can quickly retrieve the 9 most relevant positions of an object besides the origin.

    Now back to a more straightforward list:

    03. remember action points and collision polygons when duplicate frame or animation (it currently reset)

    04. remember collision polygon when a new image is loaded over a frame (it currently reset)

    05. ability to nudge image points by 1 pixel

    06. ability to nudge collision polygon points by 1 pixel

    07. snap to pixels option when editing collision polygons in image editor. Maybe add a snap to "Pixel-grid" (between pixels) versus "Pixel" (pixel center)

    08. option snap image points to "Pixel-grid" (between pixels) versus "Pixel" (pixel center)

    09. ability to add line breaks in string variables in the properties panel and instance variables windows (maybe ctrl+enter and/or shift+enter)

    10. "New Instance Variable" and "Edit Instance Variable" windows should allow resizing to better work with long strings

    11. in a double parameter property like "size" when only a single value is inputed the both parameters could be set to the inputed value

    12. actions to set all the parameters of an animation (missing Loop, Repeat count, Repeat to, Ping-pong)

    13. actions to control the mirror and flip through events (auto-mirror and auto-flip are only useful for some specific cases)

    14. when you save a project with another name it should consider it as the last opened project and show on the start page "Recent Projects" list

    15. Export Project - extremely useful if could remember the last exported folder for current project

    16. Export Project - missing a way to abort exporting once started

    17. physics - apply force at position (not just image point)

    18. physics - for circle collision a "Collision Radius" parameter on properties panel and "Set collision radius" action

    19. physics - ability to set gravity angle

    20. physics - gravity per object instead of global

    21. physics - add a gravity parameter on properties panel

    22. physics - option to set collisions to compute only on the current layer

    23. "any key is down" condition (currently there's only "On any key pressed")

    24. browser object - missing condition "On alert OK" for when the user click on the alert OK button

    25. ability to select multiple objects in the project tab to permanently delete a bunch at once

    26. "angle is x" is only possible through the system compare, it should be available from the object just like other conditions

    27. expression "normalize(a, b, x)", return: (x-b)/(a-b) - (map a given range to 0-1 and returns the relative position of x. Useful to use with lerp)

    28. "get object effect name" expression or a "compare effect" condition (better both)

    29. else condition

    30. toggle solid behavior in runtime

    31. set text angle

    32. options to align two objects in the layout editor

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The moving angle is calculated as the angle between the position of the object last tick, and the position of the object now. So if the object is not moving, the positions are the same. So what is the angle between two identical points? It just returns 0 in that case.

    You could work around it by storing the angle of motion in an instance variable - if you only set it in an event when the speed is not 0, then you have a variable which is the "last moving angle" which sounds like what you want.I think this behavior is counter-intuitive for an expression supposed to return the angle of motion. Returning 0 when not moving means that the object angle of motion is pointing to the right, which isn't true.

    Logically it should return "null" when the object is not moving, since there's not an angle of motion when you're not moving. However this wouldn't work for C2 system since it would broke other expressions. So I think returning the last moving angle makes more sense.

    At least for every case I can image that this expression would be useful I would need to implement the work around to get the desired behavior, so I think this should be by default.

  • R0J0hound recently released the Canvas Plugin, if you are good at math you can try to make some 3D by drawing polygons with it, don't know how fast it would be though.

  • Paths have functions, line to, and arc to do those.

    I know paths can do it, but they need extra actions to draw things. I mean something more like the quick actions inside the "Canvas" category like "Draw Box", "Draw Line" and "Draw Point". At least I think they are supposed to be quick actions since they are somewhat redundant with Path's actions.

    Rectangles and circles are probably the most used forms, so I think will be pretty handy to have a "Draw Circle" in a single action.

    And since the "Draw Line" is already there, adding a "Line Thickness" param would just make it more complete.

  • Awesome!!

    This will be very useful!

    Endless possibilities...

    Is it possible to add a "line width" parameter to the "Draw line" action?

    And maybe an automated "Draw circle" with position and radius parameters?

  • I confirm the bug, Nvidia card here:

    Windows 7 32 bit - GeForce 9400 GT

    If I add anything to the global variable description it doesn't crash, and it then shows on the event sheet at far right.

  • It's a useful plugin, but currently it miss some important functionalities.

    Currently the image is loading in an unexpected position. In the layout editor the object has a centered hotspot, but in runtime the image has a top-left hotspot staying offset by half width and half height. It would be nice if you could choose the hotspot position in the properties panel like the Tiledbackground object, at least for the most relevant positions like top-left and center.

    It would also be handy to have an "on image loaded" condition to trigger events when the image finished downloading and is displaying. And a "get image url" expression would also be very handy.

    I suggest you to add a "set width" and "set weight" action, as well as a "get image width" and "get image weight" expressions to be able to proper control how an image is displayed. It would also be extremely important to have a "set position" action, as well as a "get X position" and "get Y position" expressions. It also misses basic actions for any visual plugin like "set opacity", "set visibility", and Z ordering actions.

    Now I'm thinking that maybe it would be easier to mod a Tiledbackground plugin and add the load image from url functionality since all the other stuff are already in there.

    I'm really interested in this plugin, hope you can make it more complete.

Animmaniac's avatar

Animmaniac

Member since 18 Mar, 2010

Twitter
Animmaniac has 1 followers

Trophy Case

  • 14-Year Club

Progress

14/44
How to earn trophies