Long time no see

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • Hey everybody,

    I just wanted to announce that I haven't (entirely) disappeared from the scene.
    I rarely ever post anymore because it's easy to neglect something if you're preoccupied with other things, such as uni and coding work, which is actually related to MMF since I'm helping out Alonso with his game Heart Forth, Alicia. Depending on my time and mood, I might release some updates for my extensions and even a new one related to joypads.

    I've read posts stating that some of my extensions are slow or buggy in CF2.5, which figures since I haven't worked with it that much, and especially did not develop any extensions for it. To be honest, I can't even use it right now because my license is "expired", I think I had a beta build back then that doesn't work anymore, so I'm stick with MMF2. I should probably do something about that :pacman:

    Anyway, I often get PMs asking for a link to my extensions, and since I finally got a webspace I'll host them there from now on.
    Please login to see this link.
    If anybody asks for one of my extensions, please send them there. Thanks.

    Looki

    Please login to see this link.

  • Yay! Looki's back! :D

    On the note of requests, well, once you can get the Tilemap object working in 2.5 if it doesn't work in it yet (I haven't tested, and yes, I know that could take a while in the event it isn't working already since the beta version license you had expired (and yes, the beta license does indeed expire)), then it would be super-awesome if you could make an Android port, or at least see if you can find someone else who's willing to do it. Why Android before iOS (since an iOS port would also be nice)? Well, there seem to be lots of complaints about the Android runtime having worse performance than iOS, so, simply put, I think it could use the boost a bit more than iOS, though that isn't to say an iOS port wouldn't be good. That, and, for me in particular, I don't have any iOS devices, or a Mac, or a iOS development license, or the iOS runtime, and since this is my personal request, well, that means I have no reason to request an iOS port. Also, an HTML5 port of the same object would be great, though that would definitely have to wait for it to be working in CF2.5, whereas the Android port would still work in MMF2.

    Also, a port of the Surface object to any other runtimes would be nice (especially Android in my opinion, of course, but that might just be me). No, I don't mean a fully-featured port, which I could understand perhaps having some issues (especially in Android and maybe iOS as well), I mean a port with the most basic features. I'm pretty much just asking for the ability to draw circles and lines with a solid color, and to draw a rectangle, and maybe the ability to display an image behind those (using the feature that lets you load images from inside the surface object or however that feature worked), without having to rely on a zillion active objects. Preferably with the alpha channel features implemented to some extent as well, but that's not quite as important. For my needs as of now, it wouldn't even need to support collisions. At all. In case you are wondering just what I want to use it for, I'm basically looking for enough functionality to use it for a minimap that doesn't take up as much extra memory as a bunch of active objects does, or at least only takes up as much.

    Too long, didn't read:
    Yay! Looki's back! :D
    Requests:
    1. Android port of Tilemap object.
    2. HTML5 port of Tilemap object, which needs to wait for you to get it working in CF2.5 if it doesn't already work in it.
    3. Port of the surface object with very basic features, any runtime/runtimes, preferably Android.

    My Please login to see this link. (which I actually use), my Please login to see this link. (which I mostly don't use), and my Please login to see this link. (which I don't use anymore pretty much at all really). If there are awards for "'highest number of long forum posts", then I'd have probably won at least 1 by now. XD

  • Hey!

    I actually just ran a simple test application in F2.5 and it works fine (I think the performance is slightly better, too). As far as I know, collisions are broken in 2.5, though. Somebody reported that.
    I could definitely see why you would want an Android port, since resources are scarce there and tile-based levels could definitely help performance. However, I have to say I have never developed for Android so it would be quite an undertaking for me to write such an extension, especially under the current circumstances. I would much rather focus on what I already know best, although I don't want to rule it out entirely. There's always hope :) Maybe in the future I'll change my mind about this. I remember a lot of people wanting to chip in for a port, so there is probably demand for it.

    My response to the Surface object is actually similar to the one above. You say that all you need is basic functionality, but unfortunately that doesn't help the massive overhead of me having to get into Java, the Android development platform, the Fusion Android extension SDK, etc. :( Also, that one is actually a bit hard to port because it relies heavily on bitmap data manipulation which is generally not used that much in traditional game programming, except rendering data on the screen, but even that has long since been replaced by hardware-accelerated methods. It's the same for mobile platforms; I would probably develop an OpenGL implementation of the Surface object on a platform such as Android to make it work for realtime applications. I mean.. I don't even know, that's all just speculation. XD
    A HTML5 port would be cool and I know JavaScript to know that it would be somewhat feasible. However I haven't used that runtime at all yet, and I don't know how much demand there is for that.

    In a nutshell, porting extensions to other runtimes often times is not much fun and it makes updating the extension more difficult. To be honest, I'd much rather focus on what I already have and improve upon it, at least when it comes to free work that I do in my spare time.

    Please login to see this link.

  • Okay, got it. While I have no personal experience with porting objects from one runtime to another, I understand the issues completely, as I know how hard it is to go from one language to another (for me it's trying to go from what I know of Javascript (I'm still learning it) and Python (also still learning it) to C++ (though admittedly I haven't really tried very long or much at all recently), not easy XD).

    Maybe there's the potential solution of seeing if another developer who does have experience with Java is interested in making a port for you? I know it may be a bit of a long shot, but it's happened before with some other objects, I think. Come to think of it, I think you were the one who did that for the original Box2D object and the Flash runtime, right? So it has definitely happened before, even if it hasn't happened with Android in particular before...

    My Please login to see this link. (which I actually use), my Please login to see this link. (which I mostly don't use), and my Please login to see this link. (which I don't use anymore pretty much at all really). If there are awards for "'highest number of long forum posts", then I'd have probably won at least 1 by now. XD

  • To clear this up before the thread goes off-topic: The problem with porting extensions isn't knowledge/lack of knowledge in a particular language; rather, it's that the entire extension has to be reprogrammed. There's no way around that. What's great about the different runtimes today (maybe not iOS? I don't have it so I don't know if it works the same way) is that they're entirely open-source and it's easy to port the extensions yourself without having to contact the original extension creators. Find the name of the extension you're using, copy the .zip file of an existing Android (or the source file of an HTML extension), paste it and rename to the edit-time extension name, and then edit the source code. Fusion will now compile your program using your Android or HTML port of the extension. If it encounters errors, it'll tell you, but you can see already that porting extensions isn't hard since you don't need any of the original code (it most likely wouldn't be useful anyway).

    What kind of joypad object? I like Joystick 2 a lot and it works great for the most part. The things that aren't perfect in it I've already fixed in the event editor. I'm curious to see what you've been working on! :)

  • To clear this up before the thread goes off-topic: The problem with porting extensions isn't knowledge/lack of knowledge in a particular language; rather, it's that the entire extension has to be reprogrammed. There's no way around that. What's great about the different runtimes today (maybe not iOS? I don't have it so I don't know if it works the same way) is that they're entirely open-source and it's easy to port the extensions yourself without having to contact the original extension creators. Find the name of the extension you're using, copy the .zip file of an existing Android (or the source file of an HTML extension), paste it and rename to the edit-time extension name, and then edit the source code. Fusion will now compile your program using your Android or HTML port of the extension. If it encounters errors, it'll tell you, but you can see already that porting extensions isn't hard since you don't need any of the original code (it most likely wouldn't be useful anyway).

    What kind of joypad object? I like Joystick 2 a lot and it works great for the most part. The things that aren't perfect in it I've already fixed in the event editor. I'm curious to see what you've been working on! :)


    Thanks for clarifying that, Snail, it's one thing I forgot to mention when writing that post, since I had forgotten about that as I was writing said post, though I already was aware of that particular problem with porting objects. :)

    Sorry that I forgot to mention that, BTW.

    My Please login to see this link. (which I actually use), my Please login to see this link. (which I mostly don't use), and my Please login to see this link. (which I don't use anymore pretty much at all really). If there are awards for "'highest number of long forum posts", then I'd have probably won at least 1 by now. XD

  • happygreenfrog, I'd be happy if another developer would want to port them. Most of the sources of my extensions that I still work on are Please login to see this link. anyway! Keep up studying those languages and maybe you can give the porting a try ;)

    Snail, the extension is one that I wrote specifically for Heart Forth, Alicia. It's called Joy 2 Key and basically allows you to integrate "joy-to-key" utilities into your game: It has an interface to assign which gamepad buttons should correspond to which keyboard keys (or a gamepad axis to a pair of keyboard keys), and allows you to easily create button configuration menus. Of course, you'll also be able to retrieve the raw gamepad input values if don't need the joy-to-key stuff. What I still need to implement is a database of gamepad profiles, so that the object knows which button IDs correspond to which physical button in the layout, so the layout is detected automatically and for 99% of all gamepads that a user might have, we can automatically figure out a button mapping (right now, it already does this for XInput-supporting controllers, e.g. Xbox 360, PS4, new Logitech ones, but there's still a considerable amount of controllers that don't).
    Joystick 2 is pretty cool, but since HFA has a Frame for each room in the game, it would be too much work to add gamepad handling code this late into development. Therefore, I developed this extension, which allows you to use the keyboard conditions for your code instead.
    Also, Hempuli, who tried Joystick 2 in his game ESA, found out that it causes occasional crash bugs (it did on my machine as well). He resorted to using the Analog Joystick object instead. Ever since then, the bugs are gone.
    Another simple extension I'm working on will allow you to modify Backdrop objects at runtime. Currently, all Alonso needed was changing their position and HWA effect parameters, but I might extend it in the future.

    Good to see you too, Jeff ;)

    Please login to see this link.

  • Great to see you again Looki.

    Just to make a quick point, I don't feel it's the responsibility of the extension developer to continue support as Clickteam release new builds and runtimes. Extension developers are usually volunteer workers, and their investment in time is never recouped on a monetary level. People offer to pay for good extensions but the user base for Fusion is still quite small, it's currently not viable to sell extensions and make a decent living.

    Dynamic level loading has a lot of potential, and I'd like to see it as a core feature of MMF3, but it also has a lot of drawbacks. Physics objects wouldn't benefit from dynamic level loading as they'd literally fall off the map as it's being erased outside of the frame. Tilemap + physics isn't easy, there's a lot of tickering to be done to make it functional and reliable.

    Please login to see this link.

  • Hey Ryan. I think you are absolutely correct, I don't feel guilty about neglecting my extensions, but I do actually want to improve them because I know that some people can greatly benefit from them. As you might know, I've made quite a lot of extensions throughout all these years, and I even sometimes get PMs about updating them in one way or another, but I never go through with it (things like the Pitch Detection object which was really just a brief experiment of mine.. :D ). Surface & Tile Map are pretty cool, and it makes me happy to see them being used in actual games. They were fun to make, and I can still get a kick out of updating them. It's cool to create new capabilities with extensions and I'm happy to provide these as long as it's not just tedious work on my part.
    I'm pretty sure Tile Map supports collisions with tiles outside the screen, though - I don't have to render them on the screen so that I can collide with them, that's completely separate code. But yeah, I don't even know how you'd integrate physics with Tile Map. It could probably be done one way or another, but things like that aren't really what I focused on when making the extension. I tried to make it somewhat accessible, but not adhere to Fusion's "drop it in and it works" philosophy, because I did want it to be pretty flexible and powerful.

    Please login to see this link.

  • Howdy, Looki! Welcome back and thanks for the killer extensions and shaders over the years. Other than updates where necessary, any plans for new toys for us to play with? I'd love to extend my shader collection but I have no idea what I'd need. One thought that comes to mind is there are now a couple programs that create normal maps for sprites, like Please login to see this link. and Please login to see this link.. I know Fusion doesn't even have a proper lighting system to begin with (and asking for one would be asking a lot) but maybe there's a way to get a normal map shader working with masked object lighting?

  • hey dsilvers, you can check out my Please login to see this link.. Uses a modified version of Anders' original Please login to see this link..

    From an older thread about this Please login to see this link.. You can also put some shadow code over the top like I've shown Please login to see this link..

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!