Super Cute Alien - A cute platformer, inspired on BattleBlock Theater, Super Meat Boy and others!
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 :)