Posts Tagged ‘shmup’

12 hours progress

Posted by
Saturday, December 10th, 2016 9:22 am


“Grimdark” shmup inspired by Nikolai Gogol’s “Viy”.

The background of our shmup

Posted by
Saturday, August 27th, 2016 7:15 pm

Here is progress after one day in our entry. It will be a shmup and this is the scrolling background.

Shmup background

ShmupShifter Final Version Released

Posted by
Monday, May 2nd, 2016 5:33 pm

ShmupShifter Final Version Released



The final version of my Ludum Dare game, ShmupShifter, is now released on! If you want to play a real difficulty arcade shmup, this is the game for you! ShmupShifter features 3 stages with 3 unique boss fights, and, with infinitely looping gameplay, the difficulty scales with your skill!



New Features:

  • Easy Mode
  • Level Select
  • Balancing
  • Fixed Bugs
  • background (!)
  • Enhanced Particles
  • Flashy Explosions
  • Screen Shake
  • Better Audio Balance
  • New Sound Effects
  • A Beatable Second Loop
  • And more things I forgot about!




From the description:

ShmupShifter is a 3 stage manic shooter developed in 48 hours for the Ludum Dare 35 compo, based on the theme “Shapeshift.”

Fight 6 enemy types and three boss fights as you make you way through space. Use your powers of transformation to gain an upper hand, firing on enemies from all sides.

Featuring real shoot-em-up difficulty, ShmupShifter will surely satisfy your shmup appetite.


Try ShmupShifter today!


A Challenge:

Beat ShmupShifter and be awarded with the TerraCottaFrog’s ld35 True Shmupper Trophy!


Getting schwi…eeer…shifty – Postmortem

Posted by
Tuesday, April 19th, 2016 7:31 pm


Play it and rate it here! :)

This was a peculiar weekend and, as always, very fun and rewarding. After spending most of Friday on a train which arrived with an hour and a half delay due to most unfortunate reasons, I overslept and had a late start on Saturday. Then, even if I had a clear idea of what I wanted, I ran into some early problems because I’d forgotten about some really basic stuff related to the way Flixel handles positions. Luckily I managed to overcome all that and the end result this time has been more than satisfactory.

The idea came relatively easily. My first inspiration was Altered Beast, but that would have probably been overkill in terms of asset creation, so I discarded that and went for another classical genre with very clear references. Back on LD30 I had wanted to make a shoot-em-up where the “ship” actions in one world would affect interconnected ones, but unfortunately I run into some technical problems and couldn’t participate in the end. Ever since I’ve been wanting to resurrect that project or implement something similar, and the opportunity presented itself this time.


(From left to right, Ikaruga, Waves and Geometry Wars)

My references were immediate, too: the main one would be Ikaruga and its colour switching mechanic as key, but I also checked other two shmups I’ve always liked: Geometry wars and Waves. The connection to the theme is obvious (switch shapes for fun, profit and devastation), and decided to go full abstract/geometric instead of my original approach, where you would be some kind of a microscopic drone with Transformer-like abilities and your task would be to defeat viruses and bacteria. It’s a good way to achieve some pleasant visuals without having to spend a lot drawing.

What went well:

  • Controls. Having gameplay just feel right were a must, and this time I think I more or less made it :) I would have liked to add some acceleration to motion and so on, but making that feel right could have been tricky and time consuming, so I aimed for the basics first (orientating the sprites and aiming in particular).
  • Scope: By resorting to a well known genre with simple yet effective mechanics I managed to keep the game scope under control. Of course there are lots of things that didn’t make it, but the current result feels complete.
  • Development speed: As a consequence of the previous bullet point, having a restricted and clear scope and feature set I managed to keep a constant and fast development pace. That’s a huge bonus for motivation.
  • Visuals and effects: At the moment the game is getting some nice comments (thanks!) about the graphic style. They can still be improved, but it is true that they can make a huge impact on the perception of the game.

Now, the ugly:

  • Slightly chaotic process: I wanted to make up for the late start, so I just started coding as soon as I pinned down the basics of the game and completely forgot about planning for several hours on Saturday evening, when I finally decided to create my usual Trello board to keep the tasks and my progress controlled. This wasn’t bad per se, but I also made a risky gamble with version control, and I completely neglected it until it was actually time to submit. Then I created and pushed the sources to Github. I was very lucky, as I didn’t run into any problems or had to roll any feature back, but the next time I should at least be more careful with that just in case.
  • Not directly related to the competition or the game, but…THAT ARTICLE (you probably know what I’m talking about, I’m not going to give it any more publicity). I read it while on the supper break and got incredibly angry.

…and what went wrong:

  • Music and unbalanced volume, and glitchy mute option. The thing I regret the most on this edition is, no doubt, the music. I wanted to make some fast-paced tune with a psychedelic vibe, but I got stuck and, when I realised that there was only one or two hours left before the deadline, I chose to leave music as I had it and moved to UI coding. I need to practice a lot more on composing the game music. Besides, the effects volume was irregular, and muting them was glitchy.
  • Difficulty progression (or lack thereof): The game can feel very hard to some people, but for those who do master it, it gets monotonous. The truth is there was no difficulty balance at all. I managed to hack a “hard mode” in the last ten minutes before the deadline for those who managed to play for more than three minutes, but that’s still not enough. Another option would have been to have more things to do, but of course that would have been more time consuming. At the moment this is probably my main goal for the post-compo version.
  • Remembering Flixel: I hadn’t touched Haxe+Flixel since the last LD, and I regretted that this week. First I had decided to upgrade the pipeline to the last version. This wasn’t particularly problematic during the Ludum itself, but I had some old projects I wanted to check for references and they broke. Additionally, I always forget how anchors, pivots and positioning work on Flixel until I’ve spent a while re-checking it.
  • Performance, esp. HTML5: I wanted to release the main build as HTML5, but it wasn’t consistently performant. At the moment you can experience hiccups on any platformer when you shoot many ships or use the blaster, but playing on Firefox or Edge was veeery slow most of the time compared to Chrome, for instance. Interestingly enough, on another project I’m currently working on on Unity, the WebGL build runs into memory issues on Chrome but not on Firefox or Edge.

Next steps:

I’ve already made some changes to a Post-Compo version (you can also find it on the submission page), but I want to add many other features that couldn’t make it into the main submission. This is a list with some of the most important ones.

  • Different control schemes and gamepad support – DONE
  • Difficulty and player progression – STARTED, still a lot left to do.
  • Decent music, and fix that darned mute.
  • More content: Bullet patterns, enemy types and behaviours, pick ups,…
  • Better movement.
  • Better visual feedback: Put the previous/next hints right on the ship, clearer indications of when you increase your score multiplier or when the blaster becomes available.
  • Better graphics: This fits more as polish, but I would like to change the graphics for almost all elements of the game, make the lines of the ships clearer, replace some UI texts with icons or bars and perhaps add some nice and trippy background effects (like in the video below, but waaay more subtle). And many more particles! ;P
  • Better performance. Of course, to support all that and not burn people’s computers I need to optimize a lot, starting as soon as possible, as I already had some problems in certain moments of gameplay.
  • Tracking scores/times locally on a save file or, even better, keep an online leaderboard system somewhere.


Posted by
Sunday, April 17th, 2016 11:39 pm

Play it and rate it here

I spent around 30h working on the game and in hindsight I think that I could have really used a few of those other hours to improve the audio and, more importantly, finish/redo the music track.
Except for that, (and even then I still think it’s better to have something audible…as long as you can also mute it), I’m quite happy with the end result: Enemies aren’t so terrible as in past entries (there’s still room for improvement) and I’ve improved a bit at adding visual feedback.

If I give a few more hours tomorrow for a post-compo I might add gamepad support, debug that stupid mute glitch (I’m not sure if it’s due to Haxeflixel itself or if, more likely, it’s on this side of the computer), and create a decent music track. Of course, my TODO list on Trello has several interesting gameplay ideas and improvements that could be worth to check in order to expand the game, but I may leave that for a postmortem.

Well done and good luck to everyone! I’ve already seen some very interesting entries 😀

Downfall in Polarity – My Ludum Dare 34 entry!

Posted by
Monday, December 14th, 2015 11:00 am

Finally! my game its ready!



Downfall in Polarity is a hardcore roguelike shmup-like

You are Booliver volt, a scientist in a digital world who jumps in a digital pit to reach your motherland’s core which is being attacked by a horrible virus!
You must change the polarity of your character to avoid obstacles, and collect power ups to help in your journey through 3 levels and a boss level!

left mouse: click or hold to move your character
right mouse:click to change the polarity (red polarity passes through red obstacles, and blue goes through blue obstacles).

please give it a try! and good luck to everyone =D

Halfway there and possibly halfway done!

Posted by (twitter: @IamJacic)
Saturday, December 12th, 2015 10:39 pm

Well, the compo is half over. The time certainly flew by.

This LD, I’m trying to incorporate both of the themes. In this co-op (or single-player) single-screen shmup, you control one of two buttons (of the kind that is pressed), and fight against viruses and other malware inside a computer. As you defeat enemies, you will grow. This mechanic isn’t finished yet. I’m going for a simple arcadey feel and visual style. Here’s a look at the art:

early6I just added a nice font too:

early7I still need to: add sound/music, add a title screen and perhaps a game over screen, balance the game, add a nice background, maybe add more enemies, and of course, finish implementing the growth mechanic. I think I can do it!

Baby’s First Post-Mortem: Score Attack!

Posted by
Sunday, May 3rd, 2015 5:03 pm

Score Attack! Post-Mortem

Main Screen

Hello all, I go by Boateye on the internet, but you can call me boateye, since we’re instant best friends!

This was my very first Ludum Dare, but second Game Jam (I did the most recent miniLD #58). And I learned quite a bit. As such, I’ll hold up game dev tradition and make my first ever Post-Mortem!

What went well:

  • Making my own pixel art for the game was surprisingly fun!
  • I was able to effectively reuse some of the sounds that I made for my Mini LD#58 entry,  Combat Pong, which saved me a bunch of time.
  • The game was actually fun to playtest! This is a first for the games I have made.
  • This slightly ore abstract theme was much better and easier to implement than my original idea
  • The shooting and flying feels really good.  One of the main details that I ike to focus on is “Game Feel”, and I think that this is my best effort so far.
  • The central mechanic of using different amounts of your own score to kill enemies was fun for people like me who want to get maximum value from every action in a game. Trump, and Lous Scott-Vaargas would be proud :)
  • The upgrades were fun to implement.
  • The enemies spawning and moving in the background of the title, ending and upgrade screen were an accident, but it ended up looking nicer than what I had planned. I love moments like these during game development!
  • is a really great website for hosting games online. I encourage anyone who has not tried them yet to host their next project on there.
  • Feedback is very positive!


What went less than well

  • There was a bug where the enemies weren’t awarding the right amount of points to the player
  • The Smart bomb wasn’t working at the time of release. It was now adding the accurate amount of score based on enemies killed. That is now mostly fixed.
  • I wasn’t able to implement mini-health bars for the regular enemies that require multiple hits to help the player find the most effecient way of killing enemies.
  • I was not able to implement good tutorial levels to teach the player the main schtick of the game, outside of the game’s text description which no one reads :p
  • Art is unremarkable, but functional.
  • There aren’t as many levels as I would like. The game is very short.


Overall, I feel that Score Attack was a success for my first proper LD game. More things went well than wrong, and even the things that went wrong were easily fixable post-jam. I’m really proud of Score attack, and I encourage you to check it out if you like Shmups!


Play and rate Score Attack!

Rocket Rabbit: The Post Mortem

Posted by
Wednesday, April 22nd, 2015 2:57 pm

Going into Ludum Dare, I knew I wanted to make a shmup. I needed to come up with an unconventional weapon, though. I decided on carrots, and what better protagonist to have than a rabbit that shoots carrots? Initially with the theme I thought I’d make a light-hearted game with bright colors and a ridiculous setting a la Parodius, but…

Rocket Rabbit

I worked on the game a bit and got bullets and enemies in. After that, I composed a lighthearted track for the first stage then started working on boss music. The boss music came out super tense and action-y. It conflicted with the stage 1 track, and I liked it a lot more. This was Saturday evening mind you; I didn’t really have time to produce any more music, so I said screw it, the game is going to be more serious. I scrapped the first track and started building the game around the boss music.

Then came the assets to replace my placeholder art. I turned on the boss music and just did this stream of consciousness sort of thing, drawing whatever came to mind. “This is tense; let’s add some blades,” and everything went downhill from there. Suddenly everything was made of metal and it was going to be hardcore.



The Blade, a whirling, fast enemy that charges straight at the player while firing barrages of bullets. I really hated this guy during playtesting.


I’m a programmer, not an artist. It takes a long time for me to make one asset. This was my first time manually rotating a fairly complicated sprite. This guy took at least an hour to finish, which is a ridiculously massive timesink in the grand scheme of things. Looking back, some of the shading is messed up, mainly around the center disc.



That rabbit is wearing goggles and a scarf. You know he means business.


I had an awful time just getting the player sprite to look passable, as you can see in the timelapse around ~4:00. Getting the illusion of depth was hard and lots of dithering conflicted with the style of the rest of the game. Eventually I opted to just layer sheets of hard-edged metal on top of each other and it seemed to work OK.


The Bad


The thing that hits me *every* LD is that I haven’t allocated my time as best as I could. 48 hours is a REALLY strict time limit. You really need to know which corners you can cut and which ones you can’t. Polish is extremely important, and you need to leave time for it!

The number one complaint I got is that there is no visible feedback for hitting enemies with >1 HP. This would have been a nice addition, but I was so caught up implementing core functionality that I didn’t even have time think of it.

Among other things I thought of that I wish I could have implemented:

  • A longer stage 1
  • A second stage (!! getting ambitious there)
  • HP bar for bosses. I actually thought of this towards the end, but there was an hour left and I needed to leave time to implement a quick menu screen and game over screen and to package up the game. I didn’t know there was a submission hour, so maybe I could have done this.
  • More detailed border during gameplay. Given how long it takes me to do things art-related, this was out of the question.
  • Disappearing carrots from the player’s ship


The Good


  • Art skill leveled up! It was my first time doing somewhat detailed animations for LD. It was also the first time that I worked with higher resolution art (typically I stick to 8×8, 16×16, or 32×32).
  • Music skill leveled up! It was my first time producing music for LD.
  • Got a shmup under my belt, a genre which I’ve appreciated for a long time but never seriously attempted to make.

I’m actually really happy with how my entry turned out this time given the time restraints. Some of the code is a bit spaghettified because I needed to add things NOW instead of properly, but it’s nothing that can’t be fixed up. The main thing to remember is that the end user doesn’t care what your code looks like!

Amazingly enough, there were no massive bugs in the Ludum Dare version and everyone I’ve talked to has been able to play the game just fine. There’s only one thing I’ve noticed that is totally off, but you wouldn’t ever know unless you looked carefully: during gameplay, the starfield background is supposed to be purplish, not black. I thought I had made it purple but I never really checked… It was a really subtle problem with the code too:'fill', 0, 0, unpack(self.bounds))
 -- which essentially evaluates to'fill', 0, 0, 0, 0, 600, 700)
 -- the last two arguments are discarded since this function expects mode, x, y, w, h
 -- should have been'fill', unpack(self.bounds))


Addendum: Funny Programmer Stuff


So alongside my Ludum Dare games I’ve been working on this library meant to complement love2d aptly name hug. There was one thing I was missing from it in my previous LDs that I dreaded reimplementing: animation. I knew I’d need animation for a shmup. During the week prior to LD, I drafted an animation API and put it in a separate branch on github. There are a few key concepts for the API, but the important two are frames and animations (a sequence of frames). A frame has a rectangle that specifies what part of an image it uses, a duration, and a list of attachment points. Imagine being able to say “here’s the point for the left hand on this knight guy, put a sword in his hand.” With attachments, this would be easy. You just get the attachment named “left-hand” and render the sword there.

As it turns out I didn’t need attachments for Rocket Rabbit (although, if I had more time I probably would have designed enemies that shot from points other than their center – attachments would work great there). What I DID need was a way to store arbitrary data per frame: specifically, the radius of a bullet, enemy, or player. “I don’t have time to add this to hug right now, it will take too much planning” I said, so in my moment of brilliance I ended up storing collision radius in the X component of an attachment named “radius.” Yuck. Problem solved, though.




I’d appreciate it if you’d try out my game and throw me a comment. Anything that helps me improve the quality of my games!

Entry page

Posted by
Sunday, August 24th, 2014 5:10 pm


Ended up moving the project over to Unity 3D 4.6 beta, but managed to fix my code pretty quickly. The most important thing right now- this junk ship shoots, and bullets kill things.

Saludos desde espaňa

Posted by
Saturday, August 23rd, 2014 8:24 am

Hola a todos


Solo 2 horas para un shmup con libgdx que espero terminar a tiempo!animo a todos y Hard Word hasta mañana! !!




Aaaaaand I’m done.

Posted by
Sunday, August 26th, 2012 8:40 am

It’s 11:30 pm here, so it’ll be too late to do any more work on this thing by the time I wake up (that, and I have a day job).

The final version of the game can be played at:—re-generation

Disclaimer: The above cartoon does not actually appear in the game. Also, I’m kind of a bad person for posting it. 😀

Dinner and progress.

Posted by
Sunday, August 26th, 2012 6:20 am

Just got back from dinner.

I’m not sure it’s really in the LD spirit to do photos of restaurant dinners, but this was with my grandparents so hopefully that’s enough of an excuse 😀 Pictured above is a bamboo clam (AKA razor clam) steamed with garlic soy sauce and glass noodles. There was more food, but I didn’t have the time to shoot the other stuff.

That, and I have a near-final prototype!—re-generation (requires Flash, tested and working on the most recent stable version of Google Chrome)

It’s probably a good sign that I got distracted into playing a whole round when I should have been finishing this post.

I just need to put in the audio and do some minor tweaks to the visuals, and I should be done. The audio files are already done (thanks to the iOS port of sfxr, I did them on the way to dinner) and ready for use.

I might add difficulty levels if I have time.

Balancing done!

Posted by
Saturday, August 25th, 2012 11:49 pm

I think the gene-expression system is more or less where I want it now.

I added some code to favour enemies with more dangerous bullet patterns. Also, the enemies now spawn with tails, rather than having to evolve them, thus changing their default movement pattern.

Everything from here on out is gravy: explosions, a better title screen, sound effects, and so on. I might also add in the “mutant” feature which I’ve been wanting to put in for awhile.

But first, I need to improve the intermission screen. I’m hoping to put in something which will show which aliens the player killed and which survived.

Done for the day, too!

Posted by
Saturday, August 25th, 2012 8:42 am

Whew, I managed to finish all the things I wanted to do today!

Even the genetic system.

Hurrah for biodiversity!

Only thing is, dynamics-wise I’m not quite feeling it right now. Around stage 10 or 11 it gets frantic and enjoyable, but the more tactical aspects of (mis)guiding the aliens’ evolution aren’t really coming through.

For tomorrow, I’ll be mulling over some possible gameplay changes:

(1) Adjust the mutation rate. Currently each new alien will always be based on a genome from the survivors of the previous generation, with one of its 34 genes “flipped” (mutated). I might want to introduce the possibility of a double mutation, or no mutation (to counterbalance).

(2) Adjust the spawn pattern. The aliens currently have a tendency to spawn in vertical columns. This makes them sitting ducks for the player’s straight-firing vulcan. To make matters worse, the last alien in the column often gets to escape regardless of the merits or demerits of its genome, simply because its siblings happened to go first and act as bullet absorbers.

(3) Implement recombinant DNA. I really don’t want to do this because it’s a pain in the behind, but it might help. In particular, if the most successful alien in each generation became the “king” or “queen” and bred with all the other aliens, it might yield interesting results. Currently all survivors have an equal chance to pass their DNA on, resulting in a very diverse but somewhat characterless environment.

(4) Possibly in combination with (3), give advantages to specific aliens in passing their DNA on. I’m thinking along these lines:

– Aliens who manage to shoot the player down get a chance to pass their DNA on, regardless of whether they end up dying. (This will be horribly tough to track. Currently the bullets don’t have their shooter’s name on them.)

– When an alien survives, its chance to reproduce is directly tied to the number of bullets it managed to shoot (okay, that sounds REALLY wrong) during the level.

Well, time to go sleep (it’s 11:30 here). Will continue tomorrow.

Status report 2

Posted by
Saturday, August 25th, 2012 7:06 am

Finally, gameplay! I finished the gene-expression system.

I tweaked the code to randomize the basic genome for the above screenshot, so you can see what it looks like with an enemy that isn’t the default, un-evolved grunt.

Currently it seems to me that there are a lot of evolutionary dead-ends which kind of make the enemies a bit gimped, like if they get all the defensive genes and none of the offensive ones. But that’s kind of a gameplay feature, seeing as the player is well served to try and cull the more dangerous enemies, thus forcing them down an undesirable path and prolonging the game.

That, and if one of those nigh-indestructible enemies suddenly develops a dangerous mutation like “attack cooldown decreased by 30%” or “attack type changed to shotgun” (both real), the player is in a bit of a pickle…

Next up: do the wave/level system.

[cache: storing page]