Super Cute Alien - A cute platformer, inspired on BattleBlock Theater, Super Meat Boy and others!



  • @claudio-ficara said in Super Cute Alien - A cute platformer, inspired on BattleBlock Theater, Super Meat Boy and others!:

    FlxG.addPostProcess( new PostProcess("assets/shaders/fxaa.frag"));

    Thanks!

    I tried it on my game but it looks better with flixel antialias.

    Do you have any tutorial on how to create postprocess effects?



  • You can tweak the shader to adjust FXAA settings. I ended up getting ride of it, not because it looks bad, because I'm using another effect which also softens edges.

    Speaking of postprocessing, I just did a shockwave effect!

    alt text

    Now... how to make those? Basically, you've got to look for simple 2D post processing (no multipass or whatever )

    Here's two sites that are my first options while searching for cool effects:

    www.shadertoy.com
    www.geeks3d.com/shader-library/

    However, 99% of those won't work out of the box. You have to replace the coords, texture and such by the uniforms that HaxeFlixel specified, which are:

    varying vec2 vUv;
    varying vec2 vTexCoord;
    uniform vec2 uResolution;
    uniform sampler2D uImage0;
    

    Doesn't end up there tho. Shaders have differences in how they are supposed to read the mouse and to get time, for example, so you have to tweak that out. For mouse (or another position) you have to to translate the coords to screen coords. Ain't hard, just:

    shockwaveShader.setUniform("centerX",obj.getScreenPosition().x/FlxG.width );
    shockwaveShader.setUniform("centerY", 1-obj.getScreenPosition().y/FlxG.height  );
    

    we have to do /FlxG.width because, also, the coords from the shaders are different (0 being left, 0.5 being center... 1 being right)

    And I think it pretty much covers that up. However, this is not a way to explain how shaders are created (there are tutorials for that), just a way to make shaders compatible with HaxeFlixel so you can get new effects... right here, right now.



  • hey, i really like your devlog, its really useful and fun to read. Also, the game is looking great, the polish you did on the graphics really shows.



  • Thanks mate!

    And... as requested, added cover mechanics!

    gif here

    They are stupidly easy to use. Quickly added because they were a left over from this project .

    These are contextual, that means by simply going next to an object you can cover under, and pressing down, you enter in cover mode. That's it. Exit cover by walking off or looking the other way.

    Cover systems in 2D are a bit unexplored. The first one as I recall was Blackthorne, this was later picked up by Not a Hero. This is a bit based on Soldat 2D, except is easier to use. And looks like there's nothing else on the subject :(

    This will be the beginning of something new, fun times ahead as we go into unexplored territory! I've been lately playing Ghost Recon Wildlands and notice enemies indicator do blink when they are in cover so probably gonna be adding that on the next iteration.

    Any suggestions are welcome!

    That's it for now, more news later!



  • Just saw the trailer it looks really good! Would you mind answering a question of mine? I have some nice graphics that I have been ready to put in my own project. No matter what I do though its blurry and not as good as it should be.
    I use the loadGraphic method in FlxSprite. Is this the wrong way to do it?



  • @bronson-sedeno said in Super Cute Alien - A cute platformer, inspired on BattleBlock Theater, Super Meat Boy and others!:

    Just saw the trailer it looks really good! Would you mind answering a question of mine? I have some nice graphics that I have been ready to put in my own project. No matter what I do though its blurry and not as good as it should be.
    I use the loadGraphic method in FlxSprite. Is this the wrong way to do it?

    Hi Bronson, thanks for your words! Regarding your project, do you have a screenshot? What is the resolution of your game and what is the Flixel resolution, do you use? For example, in my game, my resolution is 16:9 friendly, 1024x576.

    From my experience, things get blurry when you use zoom, basically, something that is 20x20, with zoom = 2, might look like 40x40 in your screen, but it will get blurry. Do you use zoom?

    Now, regarding SCA, we have been doing fantastic progress in the GFX department, thanks to the very talented Owen Eaddy

    alt text

    alt text

    Also, extended the Dialog class I mentioned before, to have support for a more classic dialog box, multiple characters, and gibberish audio!

    alt text

    Since this Dialog class is very tiny and I'm quite proud of the results, I'm gonna be sharing it soon, so anyone else can add dialogs and or speech bubbles easily! Like this:

    dialog.start("char1Hi there! This is all a filler. See? You can fit a lot of words in this box. Pretty neat, huh?#Another line, same character#char2If you choose not to decide, you still made a choice.#Do you understand?#char1What are you saying?#char2player_name is watching us. KILL THEM ALL!");
    

    THAT'S IT FOR NOW!

    EDIT: New enemy! No ghosts (?) anymore. Somewhat concept-ish, but won't change much later:

    alt text



  • Celebrating 10000 views with a gift for you all! Thanks for the support!

    A new day and a new feature that I've been wanting to do for a while.

    I did something awesome! Since I'm lazyI like to get results ASAP and I'm quite not planning to do a death animation for each one of the characters, I worked a bit on something I'm planning to share today, which is an automatic ragdoll generator

    alt text

    Basically, the way it works is really simple. Here are its features:

    • Grabs any spine skeleton and clones its parts. Physics bodies will have the image dimensions and the proper image itself.
    • Scaling of said skeleton is supported.
    • Position of the limbs will respect the original positions of each image (so it doesn't pop up).
    • Facing left|right is supported-ish.
    • Supports body parts replacements. So, if you want to use a damaged head, or a damaged torso, you can do so.

    HERE'S LIKE 90% OF THE SOURCE CODE!

    I don't have time to do a proper tutorial, but basically, you have to expose FlxSpine::getSprite() and create new string name in FlxSprite. A bit hacky, but works!

    cloneSlot("larm");
    cloneSlot("rarm");
    cloneSlot("body");
    cloneSlot("head_dead");
    		
    tieTogether("head_dead", "body");
    tieTogether("larm", "head_dead", new Vec2(0, -30), new Vec2( -110, 100));
    tieTogether("rarm", "head_dead",new Vec2(0,-40),new Vec2(90,70));
    

    Now that I think of... isn't that automatic, since requires to setup what you want to clone and where the libs are tied together. This should grab the position of the Spine bones. I attempted to do so, but it would need some tweaks because not all bones were created with this in mind.

    Well, that's it for now. Hope you enjoy this, in the case you are using skeletal animation in your characters it will be super useful.

    alt text

    Suggestions or improvements are very welcome!



  • @claudio-ficara said in Super Cute Alien - A cute platformer, inspired on BattleBlock Theater, Super Meat Boy and others!:

    Also, extended the Dialog class I mentioned before, to have support for a more classic dialog box, multiple characters, and gibberish audio!

    I am using HTML5 target. When I use the neko target, everything looks nice and sharp. I am not sure if this is a limitation of Haxe or flixel.



  • But are you using zoom, antialiasing or any of those things?

    ANYHOW, been tweaking a bit more the ragdoll system, which is up to a point where is good enough for the rest of the project. Takes around 5 mins to setup a ragdoll, but the benefits are immense.

    Added balancing radgolls! They try to stand upright while... well, while they are dying in pain...

    you should be seeing a GIF here

    Also added a gibberish audio when the characters do talk:

    https://www.youtube.com/watch?v=AoQ2N-tHC5c&feature=youtu.be

    Also, worked a bit more on the GFX: tiles, backgrounds are a bit more nicer:

    alt text

    That's it for now! Thanks for the support!

    EDIT: changed the gif url, 'cause sometimes doesn't work



  • Been working with the musician. Did I mention it? Well... here's the incredibly talented guy, Robert Fenn. Idea is to have adaptive music. Is something that I did before but I'm planning to take it a step further!

    Here's a video that was supposed to be internal, but if anybody wishes to see how the single player gameplay is doing, please check it out!

    click to see video

    In the search of an optimal image quality, something more on the artistic side and less computery, less artificial, implemented HDR + Cromatic Aberration:

    alt text

    Notice how the lighting comes through and feels a bit more natural.

    Idea is to have a final image that blends together in a better, more natural way. So the player notices less the artificial separation of sprites.

    That's it for now. Next step is enhancing interaction with props, and even more effects. Cheers!

    EDIT: Well, to avoid multiples post, wanted to include something else I just did, which are ... more gameplay options!

    alt text

    The way I see it, games should have a wide range of options to pick from, so you pick what's most fun for you. This is why brute force was added.

    If player doesn't feel like completing a puzzle, he will have the option of just blowing the frigging door. The hell with it. For this though, player would need to craft a bomb by collecting... screws? Those allow the player to create physical stuff, such as the little car or bombs (for now).

    The explosion basically creates a copy of any given FlxSprite, converts it to a FlxNapeSprite, and then blows it away by using the fracture from the Cutup demo.

    And... hey, if cool people share source... I can do that too! Check the Explodable class I did. Is a good example of collision callbacks, since they support multiple sounds (hard/soft) based on impact force! A super handy way to copy a sprite would be to use graphic.key just like this:

    var explodable_door = new Explodable(myDoor.getMidpoint().x, myDoor.getMidpoint().y,myDoor.graphic.key);
    

    Also, this explodable thingy supports barrels. Heh.

    alt text

    And that's it for now. Hopefull my next post would be about music!



  • Well... more improvements, perhaps a few, but were hard to pull off...

    I implemented a dynamic lighting system. It uses the basic implementation of Orlando Pisano ORL, from the old forums:

    alt text

    However, it was really slow and super basic. So I extended it a bit so the performance is good enough. They look much more natural, the ones from the original source looked a bit dead... Also, multiple lights are supported, they can be switched on/off and there's light styles (for a camp fire, ie), they can be toggled, scaled up, etc. All of this can be easily set from Tiled.

    Here's some comparisions:

    alt text

    And a few more:

    alt text

    alt text

    This had to be done because now... there will be a new mechanic, and has something to do with power sources. Idea is to completely shutdown bases. Lights going off would be the necessary visual feedback that you did good. This will be like... puzzles within puzzles.

    The other thingy that got done is the dynamic music. Supports day/night and if a puzzle is nearby, another fancy track will come in. But is better if I show a video about this, which I will do later.

    That's it for now!

    PS: Sounds fair that I share my improvements. This only covers the improvements made upon the basic class from ORL. Not that I don't wanna share, is just the other stuff is closely related with my own game source code. ANYHOW:

    LightManager.hx
    Light.hx

    Gosh, I'm so tired. Enjoy!



  • These Lights look incredible thank you so much for source. When the new haxeflixel version comes out you should really try giving your assets some normal maps your game would look even more incredible with lights then.



  • I <3 @PXshadowHF

    News!

    • We entered the freeGalaktus contest, by some sort of an accident. So, well, we all been pulling our hairs out to get a decent video and a build.
      You can check our freeGalaktus profile here and vote here. If we win, we would gain 2 months of exposure... or something?

    • Here's the video for the entry, with lots of new features:
      click to see video

    • We gonna another betatesting round soon, so please check your emails. You can sign up here Google form to access Beta if you'd like to help us polish this little game.

    • We found out about CodeXL, a free great tool to profile your .exe and find bottlenecks. The good thing about it, is that you don't need to tweak your code at all. Just compile in debug mode, attach to your process and bingo!
      alt text

    • We preparing yet another build for a betatesting and soft launch over at itch.io. This will have more fancy features, such as Loot (random items, random rarity, masks for multiplayer as well):
      GIF, featuring 'Less Bandwith Raep'
      (yes, inspired in Borderlands) - Next feature will be some sort of Dying Light's 'freaks of nature' Basically "larger, stronger, and more deadly versions of their smaller equivalents"

    And that's it for now.

    PS: We made a Twitter, because we have to twit things, apparently. So, here's the thingy @SUPERCuteAlien (please make sure to be sit and be amazed at the amounts of followers we have.)



  • Well well well...

    Month and a half went by. I was super busy winning a national contest but managed to soft launch SUPER Cute Alien (yay!)

    alt text

    alt text

    AWESOME LINK TO BUY IT OR TRY THE DEMO

    And here´s five keys to the awesome HaxeFlixel community. Full access to the game and future updates, for free!:

    https://itch.io/get-W2UryAz6NnW5
    https://itch.io/get-SXLaRuXY6vKY
    https://itch.io/get-xMXBEVbLgqnR
    https://itch.io/get-qZ7LrKL6Fva7
    https://itch.io/get-PMr6BAm7yN57

    Hurry up to claim them before someone else does!

    You can reach us on:

    There are a lot of features and bug fixes in. Waaay too many to mention. Just try and see for yourself.

    Any word or comment or whatever is encouraged and super welcome!



  • HEY is it not too late to ask about if you're going to release that dialogue box code? XD

    By any chance?



  • Sorry for delay, on vacations here!

    HEY is it not too late to ask about if you're going to release that dialogue box code? XD

    By any chance?

    Sure mate, here you go: Dialog.hx

    Usage:

    dialog = new Dialog(true);
    add(dialog);

    And when you want to pop up the dialog use, for example:

    dialog.start("char1Hi there! This is all a filler. See? You can fit a lot of words in this box. Pretty neat, huh?#Another line, same character#char2If you choose not to decide, you still made a choice.#Do you understand?#char1What are you saying?#char2player_name is watching us. KILL THEM ALL!");

    Things to know:

    • Lines are separated by "#"
    • by using "char1" or "char2" you change the avatar to set who's speaking. At the moment supports the robot and main character.
    • There's two options for the dialog. Big or... not big. The big one is the one at the bottom. When isn't big, is a small speech balloon that follows the character.
    • For assets, grab them from the demo, but please replace them before publishing your game.
    • If the dialog line contains "player_name" it would be replaced by the Windows user name.
    • There are some unfinished features. The mouths of the characters should be animated according to emotions (if a ":)" is present, character should smile, etc) and dialogs support triggers, to chain other dialogs or activate some event in your game.

    That's it, I forgot a thing or two, probably. Enjoy!

    For game updates, feel free to check our page at itch.io and for the change log, check here. I post just that, I should be going back here to do updates but was very busy on the game!



  • Well, well, well, as we are reaching out round 20k in views (woah) I guess a post about SCA is long due!

    alt text

    It's been a few weeks of polishing, tweaking, designing stuff, deciding on the story. Luckily for the team, everything went super smooth, and has been, since day one. Reception of SCA was really good, this is why we kept on pushing and going with the flow.

    Story wise, I won't spoil much. The overall the story is simple, but we are aiming for complex characters. Probably all those great games, tv shows and literature follow this rule, with a very few exceptions (Inception?). You can read more about this here.

    As far as enemies goes, we took our time to have a more interesting aproach. This comes from a systemic design, where things are interconnected to each other.

    alt text

    The AI was tweaked to accomodate a few combat situations, everything happens unscripted, so we super proud of that.

    ... and this is also why we enabled the rain:

    alt text

    As far as being interconnected, we also completed the ability to switch characters:

    alt text

    This will be incredible useful for scenes, where, for example, he and she goes on a field, to catch butterflies (and then hell breaks loose).

    Also, we started setting up world 2. For now, looks ugly, but hey, is a concept:

    alt text

    Again, this uses a method to easily find corresponding images. A bit of coding but is a time saver!

    I'm a big fan of automation, like I mentioned in previous posts. I think the perfect harmony between humans and PCs is the creativity of the first and the power of the second. I really love controlled randomness. This is why we are switching up the hand made trees, for... computer made trees, using human art. Yay.

    alt text

    The system is on its infancy, but will be improved later, to have the trees use different art bits (different leaves, base, etc). Of course, they support animation, to dinamically react to wind, explosions, etc. This is only possible by using skeletal animation. Gosh, I love Spine.

    alt text

    Good thing is that let us have a very packed and dense forest, and by the mentioned randomness, player won't even notice patterns. And findind patterns, when it comes to art, isn't a good thing (I'm exclusively talking about the repeated things).

    And not much related, but we also improved the speed of the character. Walking speed is normal, but if you walk straight for a couple of seconds, you holster your weapon and automatically run:

    alt text

    This is similar to Super mario bros, on WiiU, and the holster idea comes from other games as well, such as Tomb Raider. This new speed will be useful to keep momentum and complete challenges. Yeah, we are taking into account hardcore players.

    We also want to give a warm welcome to @PXshadowHF who is going to help us to implement online and help us designing game mechanics related to multiplayer, because he plays SCA, and plays very well. <3

    Well, and I guess this is it. Next post hopefully will be about the scenes we are implementing. Hopefully gifs of these scenes. Yes.
    Thanks, bye!

    PS: Also... also, I'd like to give a shout out to the guys from the HaxeFlixel Discord channel - they are crazy smart, good people and reply in seconds. I love them <3

    PS2: We, the developers, played the game, together. Here's a video of it!

    click to see video



  • Hi everyone! Its been a few slow dev days because some situation but everything is now normal-ish.

    We spent a couple of days polishing the game further, tweaking many details and adding new characters:

    alt text

    As we said earlier, we are now working on the scene aspects. That meant that a couple days of work went into creating tech for sequences.

    On a normal day, it would be like:

    1. Char1 walks into a room
    2. Starts a dialog with to Char2
    3. A sound plays
    4. Char1 walks to a door, touches a trigger, makes Char2 follow him.
    5. Char2 starts a sequence of events, when dialog is finished

    It kinda sounds like... what normally happens in games, right? Nowadays fancy engines handle timed events and all that for you, but we didn't have any of that.

    Luckily, I spent ages working on a free Half-Life mod you might or might not heard of and know the ins and outs of how, Valve, for example handles that kind of stuff.

    So, inspired on it, I managed to pull off a very similar system, that is very simple to use, intuitive and everything happens in the editor. Here's how it looks:

    alt text

    I think other people might benefit from this, and I would be happy to share like I did with other stuff, but sadly the code is a bit interconnected and might not work out of the box.

    Speaking of tools, I also created something that I'd be happy to share. Actually there was interest on Haxeflixel's discord, this is why it looks more polished:

    alt text

    Anyways, its a ragdoll creator that lets you setup a FlxSpine skeleton, using FlxNape physics. You just put your character in a folder, select it and then you have to click which part is connected to what. And that's it. Like this:

    alt text

    Is basic, but does its job automagically. Spent a couple of days getting it perfect, but is saving us tons of time :D


    Now, time for a little story.

    As previously stated, our idea was to crank up a bit what would be the gore-ish aspects of SCA. So, I did something as a test, shared it over HF's discord and people liked it. Then, posted it to SUPER Cute Alien's Twitter. And it exploded...

    alt text

    See, I not familiar with viral stuff, it never happened to me, really. So its really weird to see how something that we humble did, is still getting likes daily, commented over and stuff. It was a surprise really, but also gives us insight of what people would like to see.

    From the comments, the juxtaposition of cute~gore and the characters is what people is digging. We are super happy to know we are on the right path!

    And speaking of characters, we still going over old characters and polishing them up:

    alt text

    Well, that's it for now. On the upcoming days, we are planning to do a giveaway, so stay tuned. But for this tho, we would have to update the game first, also planning to create a new trailer video... because we are planning to do a Kickstarter.

    Kickstarter? Idea is to get funding, basically, to make the game better. With more muscle we could do what the game needs and by featuring the stretch goals we would also see what people wants.
    Our idea is to see how much people would allows to expand SUPER Cute Alien's universe and it also would allow me to spent time to polish and release the tools we created during this time, so we give something else back to Haxeflixel's community!

    This took longer than expected, heh. Until next time!





Looks like your connection to HaxeFlixel was lost, please wait while we try to reconnect.