SUPER Cute Alien - 1-4 players platformer about friendship, love and what it means to be human.
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
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.
I don't have time to do a proper tutorial, but basically, you have to expose
FlxSpine::getSprite()and create new string
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.
Suggestions or improvements are very welcome!
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...
Also added a gibberish audio when the characters do talk:
Also, worked a bit more on the GFX: tiles, backgrounds are a bit more nicer:
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!
In the search of an optimal image quality, something more on the artistic side and less computery, less artificial, implemented HDR + Cromatic Aberration:
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!
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.keyjust like this:
var explodable_door = new Explodable(myDoor.getMidpoint().x, myDoor.getMidpoint().y,myDoor.graphic.key);
Also, this explodable thingy supports barrels. Heh.
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:
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:
And a few more:
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:
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
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?
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!
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):
(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!)
And here´s five keys to the awesome HaxeFlixel community. Full access to the game and future updates, for free!:
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
dialog = new Dialog(true);
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!
Well, well, well, as we are reaching out round 20k in views (woah) I guess a post about SCA is long due!
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.
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:
As far as being interconnected, we also completed the ability to switch characters:
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:
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.
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.
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:
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.
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!
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:
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:
- Char1 walks into a room
- Starts a dialog with to Char2
- A sound plays
- Char1 walks to a door, touches a trigger, makes Char2 follow him.
- 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:
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:
Anyways, its a ragdoll creator that lets you setup a
FlxNapephysics. 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:
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...
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:
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!
As we promised, here's a few keys!
A very long due dev log
It's been a while since I posted here. I had a major setback, because, well... my mother did pass away last month.
It's a warm welcome to be back and see how people got interested on the project over the past two months. At the moment of this writting, this very dev logs sits at 25k views! And we are happy to see how our Twitter is expanding rapidly (we got liked by #haxe and #openfl -- SENPAI NOTICES US!).
We also got invited to a special event on itch.io (where the game is hosted at) but more on that later.
This would be, probably, the best time consuming dev log entry ever, so bear with me and please stick around because this time I'm really gonna take my time. This will cover from old stuff to new stuff, in that order :)
To upgrade or not
HaxeFlixel + OpenFL combo
Last month, a new HaxeFlixel version came up. It was major important release because it now supports latest OpenFL, came with a series of improvements as well.
However, in my case, there was a major issue about shaders. We can live without them, but there were specific moments where we had graphical glitches that were located at the very root of OpenFL. Also, there are currently issues with blend modes. New per sprite shaders should make everything look the same, but it's really time consuming for me to go back and replace the images and trying to code a equivalent-looking shader.
So I guess I'm gonna wait to jump on the latest version.
The version of Tiled that we use to do maps was seriously outdated. We updated so we can use the latest features, specially those introduced this year. The most important features would be the infinite maps, and in our case, not sure if already available or not, but the mirroring of tiles. That will allow us to make our multiplayer arenas really really quickly!
We've been working on the basic online components. Well, I saw 'we' but it's actually @PXshadowHF 's work. We managed to connect with each other and see the other player running and shooting :D - super excited to know how that turns out!
New game mode
We added a new Last Man Standing game mode. Basically, I edited out the round based Versus, to disable respawn and do a
players.countLiving()each 3 seconds or so.
This new game mode will allow us for a upcoming Battle Royale mode. A mode everyone is soooo hyped about. Lets face it tho, is really fun to play, so if we can give it a go, why not?
However, we wouldn't be copying PUBG, we should go back to the roots and see what's really is all about.
Easy to pick, hard to master
One of the most welcoming things to newcomers is easy controls. You grab the joystick and you are playing. You press a button and you have the same chances of killing the other players, as they do.
One of my main goals, from day zero, is that SCA should be easy to pick but hard to master.
That is, there should be inside the game, a much more advanced way to use the same controls to perform different things, but those things shouldn't affect the very first goal.
This is good from many different perspectives. First of all, increases the player base and covers a much bigger audience that might have fun. The newbie can stupidly kill and inspire rage on the pro but the pro can do fancy moves to kill newbies.
That bring us to the topic of what we call, the genkidama:
A move that didn't make much sense on the round based versus, but really shines by accident, on the Last man standing mode. Basically, you hold a button and you start to create a big energy ball. You can't shoot or move while you do this. You can release the button and cancel it. But if you go on, the ball end ups exploding and killing all players in the map. This, of course, ends the level for everyone.
It's inspired, somewhat, on the nuke button from Lemmings. This brings us to the next topic, in a moment. A really good old game. When I was a kid I was in awe when I discovered that button. By extension, I was in love with the people that actually put that button in. Why? Why they did it? But actually... why not?
From different playtestings, we noticed a couple of things:
- The move can be used to lure in other players. You can show the intention of creating said bomb. While you do that, you are highly vulnerable. Other players wouldn't want a level switch OR would want to seize your vulnerability, so they go after you. You cancel the bomb and you are now ready to face your nearby attackers.
- Puts the newcomers and pros at the same level, at that very moment. This is hard to explain, because it involves a couple of things. The general idea is that newcomers can have fun by just killing everyone. It's like "if I don't win, you won't either".
- Balance things out. Players like to have matches against other players of similar skill level. If a newbie faces a pro, is highly likely to bomb the level. That won't likely happen between two newbies or between two pros. And why the balance? If a pro faces a newbie, the winner of the round would likely be said pro. That's not fair, so the newbie has the chance to bomb everything, and everyone starts again.
Inspirations... and the main story mode
I've been asked before where I get my inspiration. Well, basically, from everything that I love, I put everything together in a way I think it fits. This can't be possible, of course, without external thumbs up. Also is highly neccesary to see if you are in the right path, by playtesting what you do and getting feedback from other people, aka: your players.
If helps, where's a list of creations that somewhat, shaped SUPER Cute Alien:
- Max Payne
- Super Mario Bros (of course!)
- Battle Block Theater
- Duck Game
- Soldat 2D
- Dragon Ball series
- Mortal Kombat series
- Happy tree friends / Itchy and Scratchy
We always thought that the best games/movies features simple stories but complex characters. This is what our game is all about, story wise. We could mention a couple of creations that serves us as inspiration:
Where everything comes together: THE CHAINSAW
That's how it looked. However, it needed some love. Otherwise, it just behaves as another "sword".
The new enhanced version has a few extra steps to make it awesome:
- A player is killed, a ragdoll is created
distance jointis created. This basically is used to move a physics body around a reference point. Setting the
Ymanually of your physics objects is a no no. For this, it uses a special
boneon the chainsaw skeleton:
- The location is updated each frame, so the torso of the ragdoll moves around this point
- As long as the player holds the button, random gibs will spawn. Random sounds will be played too.
- The chainsaw is replaced by a bloody version.
- When player releases the shoot button, this
distance jointis removed, so the body falls naturally.
- Velocity of the guy using the chainsaw is translated to the ragdoll. This is to make the ragdoll follow the momentum of the attacker. If he's moving left and releases the button, ragdoll will move to said direction.
Also, this spark effect is also featured:
Using same reference point on the chainsaw, a tiny invisible sprite is created to detect collision. It creates sparks when it touches the map.
After some tweaking, here's how it finally looks:
Yes, you can "grab" your enemy with the chainsaw, as long as you want. The movement of the killed character happens naturally: it follows the very same movement of the chainsaw fire animation, which is great.
And now, on the advanced part. The chainsaw actually features some extra bits that pros will really like, the jump chainsaw attack:
This idea was from @Aydius, and love it, since is related with a game that I love, Mortal Kombat!
If you attack a player with armor, basically, anything won't happen:
UNLESS you do an advanced move. Jump, press down, and shoot!
This will make the player go down really fast and do overhead damage. This kind of damage breaks armor and lets you kill the other player:
It's really heart warming to go back and do what you love, specially after such a long ordeal. Is lovely to see the awesome support from everyone, so thanks everyone for your words, ideas and for tracking our progress. I guess we did a thing or two since we started :D
This took longer than expected! Hope you like this very long post that almost broke Markdown.
What comes next would be a new set of polishing and new content for the upcoming itch.io summer sale!
Cheers and thanks for making it til the end :)
Hi, lovely people. Just bouncing around to let our readers know that we are pulling off a "Pay what you want" week! That's right, you set the price. Even zero!
So far its been a success, just one day in, a lot of new players in which means a new very long bug list to do.
But hey, that was more or less the idea right?
Grab it from here: https://setentia-studios.itch.io/super-cute-alien
I'm gonna be back with something that might be a big step forward or a huge mistake. Fun times!
PS: Oh, and we played again. It was a fun to play, fun to watch session where we were tied with 4 points each. The last man standing mode is really fun!
Animation update (warning: GIF heavy!)
One of my passions is animation. Did animations, watch animations. Is all about making things come to life. Hey, a difference between a boring rectangle and a character is movement.
The animation issues were broad. Our main concern was those that didn't exactly informed clearly what the players are doing. Here's an example:
(humpin' da box)
That's supposed to be a roll into cover. But player is doing nothing wrong, he's just rolling. So, we decided that there should be priorities, when it comes into movement. This is now it works now:
Basically, rolling is now enhanced and takes priority over taking cover. Player presses down, rolls, character ignores first box but enters into cover mode after the second box, because is still holding down.
Then we have shooting. We enhanced this previously, mainly to properly make the laser go through one-way platforms, but still needed tweaking. Like this case:
Player is aiming up, but since is next to a wall, the laser starting point is the tip of the gun, and if is inside a tile for a frame, then the following calculations goes wrong, thus not displaying the laser as it should.
Also, by almost same issue, if player did aim up, it caused the flipping of the character go nuts:
It changed left/right almost every frame. It was worse than it looks there.
All these issues are now properly fixed:
We also have the wall sliding, wall jump. The action is now more clear to the player:
Also, notices how it goes back to watch the nearest threat, as soon as it stops aiming its gun.
We also went back and tweaked some animations that weren't good enough:
... was replaced for this, for example:
There's some important things coming up, but I thought I would address this matter since sometimes animation is taken for granted, but can't stress enough how clear the actions should be and how appealing, since movement is everyhing!
All of this also help us on our mission to have a game that would be fun to watch. There are games fun to play, but boring to watch. Hope this isn't the case!
Just bouncing around to let our readers know that the awesome guys from SpudCats channel are running a giveaway!
How to enter: https://t.co/03kbPuUR60
Includes some features I didn't even mentioned, like disabled states, which is a game changer. Gonna post a dev log about it later!
We had a lot of videos of SCA, so I thought it would be easier to just put them all together and experiment in a new format, I give you... our first video log!
Hope this new format its easier to consume. Video aside, it was very fun to try out the 'downed state' . It also works for single player, but the idea is to have the robot companion to resucitate the player, and we will be removing checkpoints. Will be harder to die, but if you do, you lose the progress of the level. This will be done later, on a Redefining death #2
Yes, I said I was going to post about Redefining death #2, but wanted to chip in something that I consider important, and what I think it was the result of.
As lots of you know, we have our page over itch.io.. We did run a couple of giveaways before. While many were sucessful and made, for example, get followers over our Twitter I still believed we couldn't break in another sites. There's many reasons for this.
There's a talk, titled Know Your Market: Making Indie Games That Sell where the author mentions that making a good game is not enough, and cites that indie games around 15 USD are the ones that sell. So, if you wanted to do well, is not enough to make a good game, and have in mind this price tag. This is very formulaic, couldn't disagree more.
It reminds me of the Abraham Wald and the Missing Bullet Holes story. Basically, planes were shot, and they wanted to put armor on the most damaged areas of the planes that came back. Sounds absolutely logic, right? However, this Abraham dude actually realized that the planes that didn't return where those that got hit on vital parts. Actually, the logic behind this is that the ones that did return where able to sustain damage on these areas.
So, to put this idea together, the games that don't sell well at lower prices, is because they can't actually ask that much.
Games around 15 USD are actually good enough, to be sell at that price point, and because are good is because they sell.
I'm not saying our game is awesome, it is doing okay, but I deeply believe it all comes down to how good the game is and what you do must be pouring with love. Players will notice that. And it comes to them. They will talk about your game, if is good enough. Has to be good.
I mentioned the give aways and how couldn't crack at some sites. Social sites are people. So, I did some experimenting. The giveaways, while good and everybody appreciates free games, they force a competition, for 15 keys. Not everyone has time for that.
While we did discounts before, while many people does have the money, they might not have the means to actually pay. So, what could happen if the game is 100% for 72 hours, now that we really polished, now that we really put some heavy effort?
(hurry, it's free!)
Okay, this might be sweet for cynicals, like: "of course people are going to talk about it, its free." Well, this didn't happen before. Yes, it was free before and people did not talk about it, because we weren't good enough.
Raising the bar
NOW that we got some new eyes it's time for phase two.
We got confused for a while, as a kids game, that was casual. That was a year ago, mind you. Over the past months we did everything we could to get away from that, because might look casual, but is not. There are serious topics on the story. And again, that needed changes, because you can't speak about death with a silly kids font. So, that's what's coming next!
This whole post isn't technical, while related to our game, might be even off topic, but since this is a dev log, I wanted to record my point of view of this whole game makin' thing. I'm a human, I am connected. I must be, you must be. I need players as much as they need games and couldn't be happier to finally see the ball rollin'
I'll probably gonna be posting here less, since we are going to be super focused on the story content. I'll finish this topic with some sketches of our amazing artist!
Put some love, do it with passion, follow your bliss. Players will notice. The rest will come along. Cheers!