User Tag List

Results 1 to 9 of 9

Thread: FPS Example, Video, comments and progress.

  1. #1
    Clicker Fusion 2.5 DeveloperiOS Export Module
    butterfingers's Avatar
    Join Date
    Apr 2012
    Location
    London
    Posts
    135
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    FPS Example, Video, comments and progress.

    Video link to current progress:
    https://www.youtube.com/embed/iDzJiCl7ffY?rel=0

    Ok, so I picked up Firefly yesterday, ran the tutorials, downloaded and checked out the examples.

    Decided the best test of the engine would be to try and make a really simple FPS. Crappy graphics and models, but get to grips with the new systems in FF

    The goal was to load a simple level, add player movement and camera control (2 axis) and add enemies with animations and some basic AI.

    I was initially going to go for a DOOM style enemy system, with the enemies rendered as camera facing billboards, but since Firefly has no support for animated billboards*, I plumped for using an animated mesh for the enemies instead.
    *I realise I could write my own system that flipbooks between multiple materials to create animated billboards, but this isn't an extensible solution that could be used to make a whole game. You'll end up with 100s of materials, the library is clunky to update etc. It's a hacky solution, not a good one.

    Anyway, I eventually managed to get an animated mesh into the game - for reference, I'm using .X format, exported from Milkshape3D using the DirectX exporter with default settings on the exporter. This was the only way I could get a decent import.
    No support for FBX (?!), MD2 and MD3 are really old (Quake2&3 era formats) and while I could import animated MS3D files, the animations were corrupted, so .X it is.

    Here's where I started hitting some weird quirks of the Firefly setup (which I welcome some help/feedback/clarification on if anyone knows, I'm new to this and probably doing it wrong).
    Early on I hit an issue where I couldn't use the LoadMaterial command within a fastloop or ForEach loop. This meant that batch loading and setting up meshes as part of a Level-loading loop was not possible. I could load and position the meshes in the fastloop, but the assignment of the materials had to be done externally from this. I made a separate post about this here:
    https://community.clickteam.com/threads/102880-Loading-Materials-through-a-For-Each-Loop-Help!
    Any help there appreciated

    Anyway, when I came to setting up the enemies I started hitting a similar problem.
    Seems that if you're defining animations as a range (i.e. play frames 5-12), you can't set this inside of a fast or foreach loop. This throws a bit of an issue if you want to control multiple (identical) enemy meshes in a fastloop (which is, as far as I was concerned the MMF standard way of dealing with multiple instances of the same enemy). You can move and position in the AnimatedMeshes in a fast loop like you would for Actives in a normal MMF game, but I had to come up with weird ways to set the animation. It seemed to me that if I have 3 instances of the same animated mesh, I can only set the animations on 1 of them per frameupdate?

    So like, is the update of the Firefly engine separate from MMF? Is that why things in Fastloops don't always work?

    I'm always open to working with something new, and admitting that initially any new thing in game dev is frustrating and difficult, but with the pitfalls I've been hitting so far, I'm not sure about continuing.
    If anyone's interested in taking a look at the project so far and giving some input, I'm happy to share. I'd really like to take this further and try to make something that pushes FF a little, but if there's no interest from anyone else, then I'm not gonna bother!

  2. #2
    Clicker

    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    psychoanima's Avatar
    Join Date
    Jul 2015
    Posts
    51
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well done, I am still stuck with chockobreak 3d tutorial - 2d to 3d repositioning is just pissing me off, can't believe that they didn't make a proper way of positioning the 3D assets inside firefly.

    From your video I can notice that you can't aim up and down with your player, and also there are some glitches when you move and rotate the camera at the same time. Don't know if it's cuz of screen capturing or something else.

  3. #3
    Clicker Fusion 2.5 DeveloperiOS Export Module
    butterfingers's Avatar
    Join Date
    Apr 2012
    Location
    London
    Posts
    135
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by psychoanima View Post
    Well done, I am still stuck with chockobreak 3d tutorial - 2d to 3d repositioning is just pissing me off, can't believe that they didn't make a proper way of positioning the 3D assets inside firefly.

    From your video I can notice that you can't aim up and down with your player, and also there are some glitches when you move and rotate the camera at the same time. Don't know if it's cuz of screen capturing or something else.
    Thanks for the reply

    Not aiming up and down is by choice - I'm going to for a DOOM1/Wolf style game initially, so no vertical aim and no changing floors.. Personally, I don't think theres enough functionality in FF (raycasting, navmesh etc) to make decent 3Axis AI and combat, so 2Axis seems to be the way to go for now.

    The jitter is the screen cap more than the movement in game. I'm making it on a MSSurface, so it stutters when recording and playing. Plus, since I can't scale the viewport I have to set the render area to 1920x1080 just for it to be a decent size on my 3000x2000 screen!

    I feel your pain with the positioning.
    I abandoned the idea of using the inverted thing (was driving me nuts). If you want to translate a 2d position (in the MMF frame), to a 3D position, like, to position a 3D object at a 2DActive in your scene,
    xpos of 3D object = Xpos of 2D Active
    ypos of 3D object = Whatever you want, it's vertical space!
    zpos of 3D object = Frame Height - Ypos of 2D active.

  4. #4
    Clicker

    Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Jun 2006
    Location
    Killeen, TEXAS
    Posts
    1,037
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by psychoanima View Post
    Well done, I am still stuck with chockobreak 3d tutorial - 2d to 3d repositioning is just pissing me off, can't believe that they didn't make a proper way of positioning the 3D assets inside firefly.

    From your video I can notice that you can't aim up and down with your player, and also there are some glitches when you move and rotate the camera at the same time. Don't know if it's cuz of screen capturing or something else.
    for a start - YOU CAN!

  5. #5
    Clicker Fusion 2.5 DeveloperiOS Export Module
    butterfingers's Avatar
    Join Date
    Apr 2012
    Location
    London
    Posts
    135
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    You can what, dude?

  6. #6
    Clicker Fusion 2.5 DeveloperiOS Export Module
    butterfingers's Avatar
    Join Date
    Apr 2012
    Location
    London
    Posts
    135
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    On a separate note, another little discovery.
    I think you need to export animations with a keyframe in EVERY frame.
    I've been struggling to get something to loop properly for the afternoon, and once I changed the mesh to have a keyframe in every frame, my loop issues clearer up.

  7. #7
    Clicker

    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    psychoanima's Avatar
    Join Date
    Jul 2015
    Posts
    51
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think that's up to animation software to do it. Have you tried to export .x from another animation package, blender or fragmotion for example?

  8. #8
    Clicker Fusion 2.5 DeveloperAndroid Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Jan 2016
    Posts
    366
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    @butterfingers - loads of issues you seem to be having maybe better to pop into the discord and have a chat about them -> https://discord.gg/57fKjqr

  9. #9
    Clicker Fusion 2.5 DeveloperSWF Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Jun 2006
    Posts
    393
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    *I realise I could write my own system that flipbooks between multiple materials to create animated billboards, but this isn't an extensible solution that could be used to make a whole game. You'll end up with 100s of materials, the library is clunky to update etc. It's a hacky solution, not a good one.
    I came up with a solution to this, try to atlas all of your enemies onto one texture. You end up with 8 directions * number of frames * animation sets, for all of your characters.
    Obviously this would be better if like Doom you could just load them all in from a single atlas. I'm not entirely sure but I think you could move UVs around using shaders, since Tri's water demo actually showcases the movement of textures without having to change to a new texture, but it was a little bit convoluted to figure out how the shader was actually working. But yeah atlasing all your characters is a good idea, especially because I found doing the flipbook method ended up eating all the ram eventually. Having multiple characters per texture was more economical and meant I was able to keep the overall cache to under 1GB, avoid going to the max (1.7GB) because Fusion tends to crash once you reach the 32Bit memory limits.

    Sticking to 2Axis is wise, Whilst its entirely possible to do 3Axis, and I've tried and got it working but Fusion 2.5 has issues with float values. If you feed it too many it slows the engine to a crawl. If you can use a hitscan as much as possible, it'll be better. Projectiles don't work well because of the reliance of Floats. Recommend avoiding floats entirely if you can get away with it. Obviously you'll need it for the movement.

    If you want to change over to animated meshes its preferable. You can always use Mixamo to animate your characters, the results work great in Firefly. .x can be exported using Blender, just take an Obj/Fbx and import it into Blender. (to enable .x format you have to enable an addon- search for DirectX in the addons list).

    Good luck with your game. Its looking great so far.

Similar Threads

  1. Comments in the MMF 2.5 interface
    By neurone77 in forum Fusion 2.5
    Replies: 4
    Last Post: 16th January 2015, 01:40 PM
  2. Layering objects over video... any progress?
    By Maximum in forum Multimedia Fusion 2 - Technical Support
    Replies: 3
    Last Post: 18th November 2009, 02:38 AM
  3. Linked Comments
    By Blood_Wist in forum Multimedia Fusion 2 - Technical Support
    Replies: 1
    Last Post: 16th September 2009, 03:59 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •