Posts Tagged ‘flashpunk’
I told you I’d make a warmup. And now I feel… warm. It’s like piss running down my hairy legs.
I didn’t know anything about ActionScript or FlashPunk when I started this, but it only took a couple hours of actual work to make. Experience helped, but I had to unlearn things too. I mostly struggled with the tree generation (because I did it dumb the first time) and all that nasty reference stuff, combined with FlashPunk abstracting away information that I’m used to being ubiquitous. Still, I get the impression it’s a powerful framework once you learn its way of thinking, and it feels great to have maed gaem with it.
But much like warm piss, transient feelings of success go cold fast. An ambitious developer always aims higher, all the way to integer overflow.
The real test is exactly two days away. Not sure if picking up Ogmo would be worth it at this point. I think I’ll just go take a look at others’ FlashPunk games and see how I’ve been doing everything all wrong.
I am declaring my intent to participate in Ludum Dare XXV. Last time out was one of my more successful entries, even if I only got what I would consider a passing score. This time I plan on taking it further. Here are my tools:
- pencil, paper, eraser, ruler, iPad
My usual set of guidelines:
- KISS – Keep It Simple, Stupid! Making something too complex is just a recipe for a headache at 1pm on Sunday afternoon.
- Finish most of the work by Saturday night so I can spend Sunday polishing.
- Don’t run into dumb problems that eat up eight hours.
- Doodle/Pixel art style. I usually sketch something and then do some post-scanning modifications. I’m not a great artist, so sometimes I’ll just draw half of the object and mirror it to keep it symmetric. I now have an iPad, so I will probably experiment by drawing on it with a stylus.
Finally, the post mortem!
This was my third Ludum Dare and I think it was the best one!
Let’s start at the night of the theme announcement, I was really excited for this Ludum Dare (as always) and I decided that I should go sleep early (23:00). I went to sleep and for some reasons I woke up at 3:50 AM just ten minutes before the theme announcement. I saw that the theme was finally evolution (All of this while I’m in bed ), I tried to get back to sleep but I wasn’t able to, so I already started to plan my game!
My idea was to make a game where you are a life form which evolve by adding new cells to it. Each cell will cost a different amount of DNA which you collect by killing other life forms and will have a different ability like power, defense, speed etc.
When I woke up I started my live stream and created a new project in FlashDevelop. The first thing that I did was to write my idea down.
Later, I started the programming and added the basic life form entity and cells.
Than, I programmed the life form editor/store.
Later on, I added some parallax scrolling background and some DNA.
And I completed the GUI.
Finally I added some nice random generated life forms.
This was my best Ludum Dare ever! It was the first time which I used the whole 48 hours till the end, The game came out perfectly as I wanted it to be and the live stream was super fun! (Thanks for everyone who watched it )
The gameplay is really fun, I really like the graphics and the music and the most important part, I had a lot of fun!
I really worked until the last minutes and it was dangerous, some instructions are missing and sometimes enemies spawn right on you and instant kills you.
And once again, I made a game in 48 hours for Ludum Dare!
My Ludum Dare Jam entry is Those Stupid Aliens. It’s a top-down space shooter.
The player is firing from a capital ship at the bottom of the screen. It has just gone through a battle, defeating the enemy battleship, stranding hundreds of aliens. As a result of the battle, it only has enough shields to withstand five hits. Your technicians are routing power and fixing subsystems, but they are tired. When you defeat a wave of enemies, it builds up the morale of the crew and they repair one point worth of shield. And that brings us to Those Stupid Aliens, and your job, as one of the last remaining gunners.
Using the mouse to guide the targeting reticule, and the left mouse button to fire, your goal is to shoot the alien ships that appear. They will show up in groups and express different characteristics based on the makeup of their internal properties. As the game goes on, the successful aliens will have their internal properties inserted into the gene pool, and the next waves will be created from this information. Eventually, you should see ‘smarter’ aliens which are more difficult to defeat.
What Went Right
I used Flash/Flex/AS3 with FlashPunk and the FlashDevelop IDE. I’ve been using them for over a year with a few different unfinished, but ‘demo-able’ projects so I was confident in my ability to use it for Ludum Dare and be able to complete something in 48 hours. I will definitely use FlashPunk in December’s competition and likely beyond.
My last successful entry was in LD48_15. The biggest thing I took away from that was the scope. I was essentially trying to implement a clone of a game I loved to play as a kid. Therefore, I already knew the features that needed to be implemented and tempered my desire to feature creep. For this competition, I tried to make sure that I limited what I intended to implement to make sure the project didn’t get out from under me. I came up with an idea that didn’t require level design or a sheet full of tiles. That certainly saved a lot of time and work. I kept the original , knowing that I wouldn’t have time to implement them all anyway.
I knew I didn’t want the player to have to use the keyboard much–or at all, if possible. Therefore I just implemented mouse movement and single click firing. No other buttons on the screen. If I had to, I was ready to implement a “Shift-Click” for a secondary action, but I never really let one enter the scope. The idea behind keeping the controls simple was that if I made something worthy, I could easily port it to a mobile touch device.
Sound and Graphics
On Sunday morning, updated my placeholder capital ship (which I’m still not really happy with), added sound effects and the explosion particle generator. Once I did this, it’s like the ‘game’ part of the game jumped out at me, even though the gameplay didn’t change. It really gained an old arcade feel and I think was a psychological milestone.
What Went Wrong
I spend too much time doing other things this weekend. Mostly it was stuff with my family, but an hour here and there adds up. When the 48 hours were up, I was not done, and had to fall back on the Jam. Though I must say that this project moved along much better than any previous LD attempt in the past three years.
For the bullet, I took the target location (the mouse click) and projected out the location that it crosses the top of the screen. Each frame it would move towards that location. For the alien movement, I tried to do something similar using the direction of travel (a normalized point relative to the original location) and the current location to create the target on the edge of the screen. That target would be recalculated whenever the alien changed direction based on it’s internal properties. It worked ok, but later I realized I only needed keep adjusting the target point to something beyond the max speed every turn. A simple multiplication instead of trying to figure out the math behind the projection and deal with different quadrants.
One thing I didn’t get a chance to implement, or even figure out a decent signal for it, was feedback on the evolution of the aliens. I wanted to give some sort of indication that the evolution was happening or that there were successful aliens in the current wave. I never really came up with a good idea, so I never implemented it. I think some sort of feedback would have been great as it would help give the player a sense of change, rather than just witnessing wave after wave and having to notice changes all on their own.
I made the music using the online instrument Circuli. It’s a neat thing to play with, but I don’t think what I used fits the game all that well. I purchased the iPhone app, so I’ll probably mess around with it again, but I probably won’t be using it in the post-compo version.
I have a background engine hum during play mode instead of music. I don’t know how annoying it might seem for other people. I debated switching it to music, but the intro music didn’t fit and I didn’t have time to create anything. Since it’s constant, I don’t think it would work out with music at the same time. If the ship moved, then it could potentially only make sound at that point, but it doesn’t, so I think I have to decide which way to move forward with it.
Method of Evolution
I think the idea behind the aliens becoming smarter is good. It’s a survival of the fittest process, with every trait possibly live from the beginning. Every time you play, a new initial gene pool is created from randomized DNA. This makes it impossible to set a difficulty. You may get an initial gene pool that consists of aliens that are slow moving, large, and don’t fire very often. Or you may get small, fast moving sprinklers. I sort of faked some progressive difficulty it raising the number of aliens in the wave. I’m not against that idea, but I wanted it to be gradual.
One of the first things I’d like to do is change the alien graphics. I think I want to use bitmaps, but I also kinda like the vector look. (I’m actually cheating, the vector graphics are really bitmap placeholders.) At first, my intention was to use the look and the colors as purely cosmetic traits, but I to like the idea that they represent something internal. It would be a way to solve part of the problem of feedback that I mentioned earlier.
I also need to redo the evolution component. I never implemented mutations, which would serve to introduce traits that did not exist in the initial gene pool, and reintroduce phased out traits that might have better success in a different combination. I’d like to come up with a way that makes it possible to use the traits to have a couple difficulty modes without relying on wave size. The way I do it now is closer to a true evolution using survival of the fittest (which fits the theme) rather than a carefully planned difficulty progression (which some entries passed off as evolution). Somewhere in the middle is the solution.
Right now the enemies hover near edges, which makes sense since they are introduced there and often don’t have traits that move them away. I need to get them out of the edges without making them predictable at the start of the wave or do something that obviously goes against their internal traits.
I think I’m fairly happy with this project. I ended up with a game that feels like a game. Many times I’ve ended up at the halfway point and I don’t know what I’m doing or how I’m going to make it fun. I managed this time to come up with what I feel is interesting and has promise to be expanded to keep attention longer than a few minutes.
I definitely did better than I thought I would with the theme. I had originally been a big proponent of Evolution a few years ago, but cooled on it when I realized that it would take a long time to get a good algorithm set up. I’ve been thinking of this kind of stuff for over a decade. I used to sit in biology and other classes and diagram out some sandbox DNA projects that I never did implement. I’m surprised at what I have done in the weekend time frame, so I might go back and visit those old notes sometime, now that I’ve had a little taste of it here.
For the past few years I’ve been pretty disappointed in my LD participation over the past couple years. I mostly didn’t finish and gave up. Sometimes it was because I didn’t feel I had come up with a good enough idea on the theme, or ran into problems and didn’t have the heart to finish, or had too many other activities that I couldn’t avoid. After my experience with LD24, I’m really looking forward to December.
Congrats everyone on making a seriously fun selection of games – I’m hoping some of them will run okay under Wine so I can get to more of them, otherwise one of my windows-yielding friends may discover me in their office at 4am giggling at the screen.
Had a crack at syncing my local repository to github. A few scary moments, but it seems to be there and working – though in my local repo I tend to store everything, so I had to delete a lot of pointless binary files before uploading – which may or may not have trashed some of the more recent changes – but everything looks to be fine. You can grab it HERE
Not much in the way of comments or organisation as I was only partially conscious for the last few hours of hot-seat coding. But I’ll go in there over the next couple of days and clean it up when I’m giving my gaming fingers a rest from the remaining 1300-ish games I’ve yet to try!
Okay, I didn’t really journal while I was making it, so this is all retrospective.
My game’s called Slimy Things Did Crawl, which is Coleridge, but the line got associated in my head with evolution thanks to Douglas Adams.
I made this in FlashPunk, which I’ve used to make two games before, 2.5 if you count the room I made for the Room Jam in Winnipeg.
The theme was Evolution, so I thought of how to incorporate that into the game mechanic somehow. There are plenty of games where you improve your character over time, leveling up or gaining new abilities, but I wanted the mechanics to more closely match the mechanics of evolution. Evolution doesn’t change individuals, it changes populations, so I knew you’d control more than a single character. And you’d somehow select the survivors, and your new populations would descend from those survivors.
What I came up with was a pretty basic platform game, except for the controls. You have a dozen creatures that you control simultaneously, and for each one the letters A to Z are randomly assigned behaviour. So you find the keys that get at least one of the creatures to do what you want, and then train those keys to do it better.
Initially, I thought I’d add the ability to map the arrow keys to letters once you’ve decided which you want to use. But the game resisted that approach. I found that when playing the game, instead of training: move left, move right, jump; I had to train: run left, run right, jump left, jump right, jump up, crawl left, crawl right, and whatever else as it became necessary.
I called the little things you control Slimes, after the title, sort of. Their graphics are filled with random pixels of a random colour, which is inherited from the survivors and randomly mutated. The visuals have no direct impact on their movement, but it helps reinforce their ancestry.
Playing it I was kind of reminded of playing QWOP in that I was never 100% certain what would happen when I pushed a button, so I’d keep mashing things, and maybe they’d all go where I want and maybe they’d all jump off a cliff.
I unfortunately didn’t get any play-testers to comment on it until after the 48 hours were over. I should have done more to emphasize that you don’t want to get ALL the slimes to the flag, because you’ll evolve faster if you leave most of them behind. That strategy kind of goes against what we’ve all learned from playing games like Lemmings or Pikmin or World of Goo. In most games, the more of them you save, the better you’re doing. So I should have driven the point home in the game to counteract that expectation, because if you don’t get that point, you won’t make it to the fun part of the game.
I did the levels as bitmaps that it loops through pixel by pixel to make the map, which is a method I’ve been meaning to try for a while (because of frustrations I have with using OGMO) but never got around to it until now. So that’s an element I’ll probably expand upon in a future game. The colours on the level selection screen are kind of ugly, because I just straight up show the unconverted maps, which I made very high-contrast so I could easily remember which colours to use. If I had more time I would have converted the level maps to something approximating the colours of the levels themselves.
Well, it was a fun thing to try, and thanks to the theme, I tried out a gameplay mechanic I wouldn’t have tried otherwise.
I submitted my game. The scope was too large to make in the time limit, so I had to leave out a lot. It still turned out pretty good, I guess.
Visit the game page here.
Just submitted my game with about an hour to spare. Managed to stick some simple analytics grabbing people’s scores and posting them to a DB so I can see just how unbalanced and easy my game is
It was pretty cool for my first ever LD, definitely will do another one some time. My only gripe was that I had ideas for several of the themes but not Evolution and couldn’t think of anything for hours (but that’s my fault anyway hehe).
p.s. I also completed the kitten challenge
So, in the end I managed to implement a lot of features in day one!
I added some cool backgrounds, the editor is complete, the stats are almost done, the cells are also almost done.
I wish that I’ll have enough time to complete the game as I want it to be, It’s going to be amazing!
I took Chevy Ray‘s code that he released as part of his keynote for LD23 and put it up on github. It is written for his FlashPunk engine. I used it to make my LD23 entry Seeds of Destruction and it worked out really well for me.
PS Chevy if you happen to see this, I’ll happily transfer the repository to you.
I was super excited ld24 but it turns out that I’m going on holiday to Greece the day it starts! xD I will however be bringing a crappy net book thing with me, so I may be able to get something done .
If I do create a game I shall be using flash with flashpunk or java, paint.NET and maybe graphics gale.
Good luck to everyone!
AS3, FlashPunk, FlashDevelop, SFXR, Gimp, and GarageBand for iPad (no loops) are my weapons of choice
I won’t have a the full 48hrs due to other commitments and and I’m fairly new to Game Dev so my game will probably be something simple and smal
This is my first “Ludum Dare” that I take part, and I’m very anxious! I have prepared my personal stuff, good food, juices and my brain!
Emmm… I will program in AS3 with the Flashpunk library… And well, thats is!
Kittens will dominate the world!!!
Actually, I wasn’t going to participate this time due to a lack of time. But relaxed rules made me to change my mind. I designed mechanics for the game from scratch and then added water (which became lava this time) and particles system from my previous miniLD game.
I use 4 contrast colors in the game – orange-blue and black-white.
So I’m coding in AS3 using FlashPunk and Dame. Music taken from some vintage keygen. I’m going to spend the rest two days on leveldesign and polishing. I will also try to add a couple of gameplay elements if I will have time for that.
So here’s quick mechanics demo with tonns of bugs of course.
Job done, this is the result of our mixed twisted minds:
The story of the most awesome goldfish ever! Play our game
This week end was extremely nice, we’re proud of our baby, as it’s our first Ludum.
Can’t wait to test a lot of cool games !
Tomorrow, we’re going to have such a hungover…
As a bonus: Some crazy used and unused music samples from the game