Archive for May, 2011
Just re-setup my desk ..
Molehill Video
For anyone who, like me, struggled to get embed and iframes and objects working in a post in order to share your youtube videos, DarkAcreJack was kind enough to inform me that if you simply paste the URL to your video into a post it will automagically be converted to a working video! I have seen dozens of posts, tweets and comments asking how to do this and did all sorts of googling to no effect. So that’s your answer: just copy n paste the url of your video – simple as can be.
OUT OF HERE – Full deployement !!!!
UPDATE : I finally managed to iron out this damned packaging thing
So I give you a Mac OS .app and a Windows zip file (goodbye installers…). I’m also happy to announce that a previous packaging bug that omitted one of the models, making the game crash when you won, has disappeared. Sorry about that !
Hi there !
I got around poking through Panda3D to provide more installation option for my entry, OUT OF HERE. Here is the full array of links for quicker access :
Windows (zip)
Windows (installer)
Linux (32bits deb)
Linux (64bits deb)
Mac OSX (zipped .app)
Source code (dependency : Panda3D)
ArchLinux (32bits)
ArchLinux (64bits)
That’s it. I hope this isn’t seen too much as spam, but I made quite an effort to have an easy way for people to try out the game, and with the number of games to rate, I suppose most people won’t go back to an entry they had trouble installing. Now I can get back rating games
Good luck everyone !
Older ATI drivers and Ren’Py
WINDOWS (OLD ATI DRIVERS) IN REN’PY VERSION 6.12.15 for Let Me Save You! Your Faithful Companion
If you have a computer with an old ATI driver (very rare, but possible – I’d say only one person has reported this to me) it may have crashed on start-up. Please note this was not a coding error on my part, but a bug in the developer tool itself, Ren’Py ver 6.12.0e. I reported the bug to Ren’Py on 3rd May 2011, and 4th May 2011 they fixed and finalised their new version of Ren’Py, 6.12.15! (Many thanks to Tom at Ren’Py for being so quick!) As such, the above link is the original Windows version EXACTLY AS IS (no changes to my script/content, you can check if you want) in Ren’Py 6.12.15 which allows for older ATI drivers to run the game.
I’m not wanting to break any rules here, so please view and download from my original entry links where possible. This is only if you run Windows and have an old ATI driver/graphics system which has had trouble with not just my game, but possibly ALL Ren’Py games in 6.12.0e.
First Ludum Dare: Post-mortem
This was my first, and definitely not last Ludum Dare competition. It was great fun, I learned many new things and most importantly I finished and released a project.
The first day started out with taking my time and thinking about the theme and what could I pull off (programming wise). I decided that side scroller shouldn’t be so difficult. I opened up GIMP and started drawing some nonsense – rectangles and stuff. After that I started working on the engine, copying code and layout from previous projects (collision detection, Game-States and other basic functions). Shortly after I got my first picture on the screen and after that I started working on the level editor. It took rest of the day to finish it, and only in the evening I started creating my first level, which opened up lots of new problems like player movement (gravity, in particular).
Second day was purely devoted to creating levels and other visual stuff (basically everything that there is to see), which was pretty challenging since I didn’t have any ideas as to what I really wanted. I experimented with audio too (sfxr is awesome), but I decided that there are more important things to worry about, so it was left behind. Evening came very fast, I was really exhausted and in the last few hours I really started rushing things, which decreased the overall quality. A few bugs got left behind, so a note to be taken (Get my priorities straight).
http://www.youtube.com/watch?v=0dnhsAnhgoA
I handed in my entry at about 1 AM after spending on it approximately 30 hours and writing about 1500 lines of code. Job well done.
Overall, I’ve learned lots of new things and most importantly I know what to focus on learning next (like GIMP, drawing, game physics, layout).
Things to focus on in the future:
- Time management and priorities
- Got to learn a framework or develop some kind of engine (to avoid implementing basic stuff on-the-fly)
- Focus more on game-play rather than engine
- Drawing and using GIMP
- Be ready to compile for multiple platforms
Monophobia – post mortem
http://www.ludumdare.com/compo/ludum-dare-20/?action=rate&uid=3145
This was my second ludum dare, but my first time actually finishing something. The game was very spontaneous and unplanned all the way through, much like how my writing will end up like now, but in the end it worked as a fantastic incentive to finish something, and learn something new.
The theme ended up being one of the more confusing ones, there’s no clear indication of what it even is about, even if everyone has been there and experienced it themselves a hundred times over, but after some thinking I just ended up wanting to do a technically simple game, a rogue-like, and give the gameplay a twist if the theme. I love roguelikes, and I’ve never made one myself, and it fit with me having just about zero experience with as3 and my previous experience being c++ and from mainly being an artist.
In the end I came up with Monophobia, a rogue-like about the fear in danger of going alone, instead of combating monsters in a random dungeon you would enter these social encounters with people in a randomly generated city, and in the end of each day you would be rewarded with a reinvigorated mentality and a stronger one as well depending on how well you did.
The dangers in the game would end up being a standard ‘you lose your health you die’, which was renamed as mentality, as it represented your mentalstate. Your mentality would be consumed every time you did a daring social encounter, and the more socially tough a stranger was, the more you’d have to talk to him, in the end that friend would be more rewarding to have in the end of the day when you leveled up. Each friend that followed you would also act as a bonus to your social skills, and them agreeing with you would boost the amount of damage you did each social attack. I regretfully never had time to make it any more depth than that.
During the night you’d get haunted, which I initially planned to be your personal demons taunting you when you were alone, I never got around giving them taunting outbursts with the damage they did, it would’ve been a bit more fun and descriptive of what they were.
In the end there was more I had planned that I wanted in, like giving the player an incentive to go explore the city, stores to visit and buy things in, parks and places giving you and your daily comrades a bonus for doing fun stuff, and the coins and items you’d collect. I also wanted to implement more random encounters beyond the few I managed to get in for the end of the day, (with the zombieday being the actual fun one), as it would have given the random element of the game even more randomness. But with the timelimit I had to do what was the best for finishing the actual project in time and decide to cut things out.
What I got right
Using a web-deployed language such as AS3. Not only was it simple to use and easy to prototype things fast, it also made it easy for me to put my game up.
Simple art. Characters are just one sprite, no directions, animation consisting of it being flipped, terrain was just 16×16 tiles too, fast and easy to make.
Replacing characters in the font with art. I could easily draw out special icons in text and the draw borders around the interface without adding any new code, it just used characters in the font I wouldn’t use for anything else.
The console. It is where I pushed every single bit of information into, once again, giving me more time for everything else, but that’s a given for a roguelike, fast to implement, got lots of use out of it.
Random generation. Could have potentially lead to better replayability, but it gave me more time to focus on the places in coding that I had issues with, since I wouldn’t be making any levels.
What I got Wrong
Using a language I wasn’t familiar with. This was what got me the last time, and this time around I manged to know it well enough to finish something, but it cost me some time having to read up on things that were different from what I knew, it hurt the project, but I don’t regret it.
Not using a framework. Could’ve saved time there without a doubt, a majority of my time went into actually writing the codebase before I even got to any gameplay since I was using just barebones AS3.
Making a roguelike. They’re complex by definition, I should have planned my game around a single simple but fun to perform gameplay element, and just polish around it, and in the end I didn’t have the time to implement everything I wanted in.
Conclusion
Have had a terrible cold this weekend and still coughing my lungs out, but it was still totally worth it . Ludum dare is awesome, I’m doing it again.
Also, Roguelikes are awesome fun, and I’ll most likely give this one some more work so it gets what it missed out on.
Narrated Gamplay Vid
Few folks were having trouble finishing the game, between the clunky controls and hit boxes. Figured I’d toss up a quick narrated gameplay video. All the joys of the game and no frustration!
Timelapse and Thoughts
I meant to post this a few days ago, but better late than never, right ?
So this was my first Ludum Dare. I made a game about using Orphans as a team to Steal from people. Overall ? It was a great experience and I’ll definitely do it again. Especially as I now know exactly what to expect from myself, and from the competition.
There are a million things I would have loved to add, and I think that’s why I feel like my game is more of a prototype/proof of concept than a finished game. But there’s still a bunch of things I think went quite well. Still, I am glad that I actually sat down and did this. And as I said, it is definitely something I will do again, and again until I make something that I feel is worthy.
Anyway, Here is my timelapse, all vimeo-d for those who like things flicking past the screen really quickly for a few minutes.
Ludum Dare 20 Timelapse from a|A on Vimeo.
Re-uploaded my LD19 game.
It is now playable here. I lost my original domain, so I have to re-upload the play pages to my games. This was the first one to receive that treatment.
Pitch In Postmortem
Well, that was my first Ludum Dare. All in all, I’m pretty happy with how things turned out. It was my second game jam of any sort, the first being The Room Jam a few months back and I had set myself a few goals which, looking back on it, I was able to meet.
My concept for Pitch In came pretty early, after about 15-20 minutes of brainstorming. I knew I needed something simple. Dead simple, that, hopefully, boiled down the essence of the theme. I also wanted to avoid making a platformer or a Zelda clone, simply because I wasn’t sure I could do anything that felt new or different with those. I tossed around a few ideas regarding the general mechanic of passing items around but eventually settled on a two-button puzzle game. You could pass things left or right. That’s it. I knew that I wanted a few characters and that who you passed the item to changed what could be done with it.
The baseball guys game first, because I felt they’d be instantly recognizable and it’d be easy for players to understand what was going on. I also knew I wanted some sort of parkour character, who eventually became, well, the Canabalt guy. Originally, I wanted the character to have a hoody or street clothes, but, well, I’m not skilled enough to make it work in 12 pixels. So a character who jumps across buildings in an apocalyptic setting? I figured he could cameo.
The caber tosser was suggested by a friend when I said I needed a character who could throw things vertically. I’m not sure he reads as that, but regardless, he’s a big burly guy, which I felt explained why he could carry items while the baseball guy could not. Originally, I wanted a baby as well, who moved slowly but could be thrown by other characters, allowing you to chain passes. It never quite gelled in my mind and was cut because it’d add a lot more complexity to the code and I had no clear idea how I’d use the idea in a puzzle.
The original ‘story’ (such as it is) was that the world was ending and aliens opened a portal through which they’d collect objects, but nothing living. In this way, humanity could be preserved. This… was both way too complex to explain and kind of morbid, when I considered that not only was I throwing babies around, they’d all be doomed anyway. Eventually, I tossed it out in favor of the general, “put fuel into the furnace” idea. Which, even so, I don’t feel really comes across.
I’d never actually designed many puzzles before, only a handful here and there in old, OLD games so I was worried about how well I’d be able to accomplish that in the limited amount of time. Part of the reason I chose such a simple mechanic was that I wanted time to design and tweak puzzles. Even so, I had some serious problems. I generally went with the methodology of training the player in a mechanic, then challenging them, and adding in a few one. I’m fairly happy with how this worked out in the first few puzzles. The second one was actually the first I designed, and even though it’s just two platforms, I hoped it’d give players at least a little pause before they went, “Oh, ok.” Unfortunately, I don’t feel like I did much with the caber tossers and the parkour guys, which were meant to have puzzles based around timing throws to get them to go in the direction you wanted, never really panned out. The birds were meant to simply be obstacles, but also never really worked out as intended.
What Went Right
Quite a bit, actually.
The graphics look and feel like I intended them to. I wanted the characters to have a sort of faceless ‘Lemmings’ feel to them, to lend to the idea that it’s not about an individual, but a group working together.
I’m really glad I was able to put music in as well. It’s just 20 minutes of noodling with FL Studio, but it adds a lot to the atmosphere of the game.
I got a lot of mileage out of the Earth and falling debris effects, which ramp up as the levels continue, with the Earth descending as the ship shakes itself apart.
I feel like some of the puzzles worked out quite well. The solutions are simple, but not always obvious and, really, only the last few rely on careful timing.
I came down with a cold on the first day, and while I was still able to work, I ended up sleeping more than normal, rather than pulling the all-nighters I had intended. So the simple design really saved me, as I had gotten the base mechanics and level loading in by the end of the first night and even had some graphics done.
What Went Wrong
The last few puzzles. Oh boy. I added them late in development and they’re riddled with obvious bugs and moments where it just feels like luck if you succeed. When it took me multiple tries to complete them, I knew there was something wrong, but I felt like I couldn’t just end the game with nothing. In retrospect, I should’ve cut or radically simplified them.
I think I added a few too many ‘training’ puzzles. In particular, the Pachinko solution relies on players realizing that they need to hit the edge of a platform and knock the object in. I felt this might be frustrating and players might spend their time trying to lob the object juuuust right to get it in the goal, so I added the puzzle before it. I probably should’ve just kept it the same, however. Additionally, I was never able to come up with puzzles that used all the character’s more unique mechanics in interesting ways.
I intended to leave the reset button in, just in case, but it’s a sign of poor design that a player needs to reset because I didn’t code or design things properly. I tried to make levels take no more than 20-30 seconds to complete, so multiple tries were fairly painless, but even so, it was a crutch.
I never really considered the setting or characters, beyond their mechanics. While this was intentional — I’m not a character designer and my artistic skills are limited, I feel like a little charm goes a long way and probably should’ve given the little guys more character as well as refined their animation.
To Conclude
Really, this was a blast. I had a lot of fun and it’s intensely rewarding to see something come together over 48 hours. I approached this as a learning experience and was able to accomplish the goals I set for myself. Next time, I’ll need to attempt a more ambitious design and work on my coding and (especially) art skills in the meantime. It’s been a great experience and I hope to try it again.
Quaintbrush – Wrapping it up
Wow. This weekend was a really exhausting one. This was my first Ludum Dare competition, and I’m really glad with how it turned out. The game I designed was Quaintbrush, a puzzle-platformer where you can change the world around you using different brush colors.
I programmed everything in Game Maker 8.1. I bought GM 8.1 Pro just hours before the competition hoping to take advantage of its new features – it turned out that it was really buggy. I lost around an hour and a half of work because my game file was randomly corrupted.
I started the competition right off using Paint and drawing a stick figure animation. I’m no spriter, to be honest. To achieve the stick figure’s running, I used Super Metroid’s Samus sprite as a reference for the arm and leg positions. Even though both characters look totally different, I think the end result for my animation ended up looking decent. This was the only sprite that I actually drew pixel-for-pixel, aside from the paintbrush cursor.
For the rest of the graphics, I used Photoshop. I had a broken tablet that had been sitting on my desk for a few months – the HP tx2500z. These tablets are awesome to use, for like, a year and a half – then like half of them are wrecked beyond repair due to a crappy manufacturing job that melts the GPU. I decided to give the thing a shot, and to my surprise, the tablet actually turned on.
I was first hesitant with using it to draw backgrounds because if it crashed in the middle of the process, everything would be over. I had to sketch all twenty background in one go and race against the clock – not only in terms of the competition, but also in terms of my crappy tablet. It was really intense. In the end, I think it really paid off. The little doodles on the walls were one of the highlights of the game, according to most feedback I got.
The doodles served two purposes: first, they were a really neat way to guide the user. A lot of things were tough to explain without actually pointing out a location on the screen – so this sort of solved that nicely. The doodles also added some more character into the game and provided some humor. I think without it, the game wouldn’t have felt as complete.
In terms of level design, I designed the first ten levels with a pencil and paper in around an hour, and the last ten in around an hour and a half. I really had a lot of fun working and exploring the new concepts I developed. There was a lot of room for extra mechanics – I’m definitely sure I could’ve expanded the levels to around 40 or so if I had the extra time. The two biggest mechanics that didn’t make the cut were an erase feature and the gray brush.
The erase feature was pretty clever. It revolves around the idea that you drew something with your paint, and got one step towards completing the level. However, now that same paint you drew is actually hindering your progress. If you take a look at level 11, that was one of the first levels that was supposed to use the erase feature. The switch on the left wouldn’t appear until after you crossed the bridge with the yellow paint. Once you hit the switch on the right, a switch would fall from the sky and fall into the yellow paint. Because its timer would then be sped up, you’d need to erase the yellow off of it.
The second feature that got cut was the gray brush. This is a really, really, neat brush in my opinion, but I didn’t have enough time to expand on it. The gray brush acts as a sort of ‘Stealth Fog’: once you draw on it, nothing in its area makes a single sound. Furthermore, enemies are oblivious to your position if you hide in the fog. If you cover an enemy in the fog, they become disoriented. This would also make for some really neat sound-based puzzles. For example, a certain door could only be opened if it hears a sound – but you have to use the gray brush to cover the object to get somewhere in the first place. You would then need to erase that fog, and then activate the sound to open the door.
Although I’m generally pleased with how the game turned out, I have two disappointments. Firstly, I didn’t have enough time to compose any music. I’ve never composed before at all, so when the clock was ticking and there was only an hour or two left, I made the decision to leave out music because it wouldn’t be worth it trying to learn how to compose / experiment in those crucial last hours. Secondly, the boss was really rushed. Really. I made him spontaneously in around twenty minutes. I’m a little proud of myself for that, but I’m still not too happy with it because there’s so much I *could’ve* done with the boss. One idea I had was a four part boss battle, each one using a separate brush color. The last part used the purple brush, and that was when you would finally defeat the boss.
One of the magical experiences that I felt the game had been discovering some hidden uses of brush colors. A lot of them aren’t really explicitly stated at all. The red brush actually helps heal you faster – again, it “prolongs” things, so it would make sense for it to prolong your life. The red brush also makes turrets shoot and aim slower, and it also decreases their accuracy. The yellow brush’s effects on painted objects are the exact opposite of the red brush. Furthermore, the yellow brush sets drones off course – -this was something the gray brush was originally supposed to do, as a matter of fact. The blue brush I think had the least ‘hidden effects’ – however each of them were really awesome. On level 19, try using a blue brush instead of a purple brush on the spawning drones. It’s amazing to see them all falling up one by one.
Overall, I think this experience really changed the way I make games. I’ve learned so much this past weekend, and regardless of the competition results, this game really was my “prize”. I almost can’t believe that I made something like this. I want to thank Ludum Dare for making this happen.
I also wish each of you good luck!
Diagnosis: Postmortem + Timelapse
The Good:
- Using Game Maker instead of Flash was a very good decision on my part. Faster development time, faster framerate, and the increased versatility really helped out in the long run.
- Adopting a really fugly, easy-to-draw graphic style made it possible to develop a large variety of different enemies quickly.
- Copying Touhou’s style of a smaller screen width really increased the action. Less bullets/enemies needed to fill the screen, decreasing the lag while keeping everything interesting.
The Bad:
- Still procrastinating a ton, it’s scary. Spent enough time as it is on the GMC IRC channel. Plus I overslept on two occasions.
- Beta-testing! I left that to the last minute which revealed a shitload of glitches. Most of them got fixed but there’s one really dumb one: Easy Mode is actually the hardest, and hardest is the easiest. Man.
- Not enough time set aside for music, as usual.
Generally though, I’m pretty happy with how it all boiled down. Better than the last one by far. And the theme was better.
Time to play some of these games. Another record-breaker. Wooo.
Update, Fail, Update
Well, I woke up today a little confused after 12hrs of continous sleep. Man, I was so tired.
Anyway, I decided to tackle the ‘bugs’ and problems our original release of the game had, so I quickly fixed them and uploaded the package to my server with my usual method.
Problem? Since I worked over the original source code and the original folder I missed changing the filename of the packaged game so I kinda overwrote the original file in the server.
Once I realized that, I rushed to upload the original file again and changed the name of the updated version to upload it again (it’s confusing, I know). So, if anyone downloaded our submission during that time lapse you probably got the wrong version. Sorry for that.
So, things are good now, the original file in the server is indeed the original file and the updated version can be found here. There’s a file inside explaining what was fixed. The most important change is extending the reach of the hook so the LV3 is solvable if you happen to get it for that particular level (See my previous post).
Sorry again for the mess, hope you enjoy our game.
Timelapse: Protocol Droids get no Respect
Tuesday, May 3rd, 2011 6:08 pmLD20 was lots of fun for me as I got to learn a bit of Blender modeling/animation,have fun making a game, and reading all the status updates from everybody. Here is the timelapse video for my LD20 entry. I hosted a dinner party on Saturday evening so if you watch long enough, you’ll see some of the kids come down and sit at the desk to color. I never thought to tell them that I was doing a video. The song I used is called Love Found Me by December radio as covered by my church band. Check out the game here
Lapse of Time
If you watched the first one I tweeted, this version has a bit of commentary added.
Asteroid Explorer Video
“Legend of Parasite” timelapse
Tuesday, May 3rd, 2011 4:20 pm“Lonely Fortress” Trivia!
Not a blow-by-blow post-mortem, just a list of random trivia and dev-nightmare anecdotes…
- I wasted about 2 hours attempting to rewrite some of the standard Unity scripts from JS to C# (which I prefer, and had already written the tower generation in). At that point I gave up and had to work in both languages. I then wasted another hour or so jumping through hoops to get different language scripts to talk to each other. Don’t mix your languages, kids.
- The tower is procedurally generated, but it always uses the same hardwired seed, because I was afraid it would generate a tower that was impossible to climb – and the one I was testing proved enough of a challenge. I also wanted it much, much taller, but that would have required respawn points on the tower, and an optimization pass to help Unity cope with hundreds of mesh colliders.
- The “take this” was originally going to be a companion like Yorda in Ico…for about 3 seconds. Then it was going to be a hamster in a ball that you had to throw ahead of you so your hands were free to grab ledges (the hamster would actively avoid rolling off ledges, see). I actually implemented most of it before realising that it was more of a ball and chain for the player than a fun mechanic, so that blew a chunk of Saturday. I stuck with the ledge grab and made the companion just give useful advice instead. I will also admit to having playing Portal 2 recently.
- I had planned to have spike walls, tunnels through the interior of the tower, and maybe some scorpions that the Ifrit would warn you about and maybe defend you from, so that he was actually relevant to the gameplay. Ran out of time for those, so the Ifrit is not really all that helpful. But people seem to like his chatter anyway.
- Spent a couple of hours recording dialogue and sound effects. Luckily I happen to own a £300 Sennheiser shotgun mic which I use for filming, and gave wonderful crystal clear recordings. All the voice acting I did in one or two takes per line between 11pm and midnight on Sunday. The tower rising is two bricks sliding, pitched down with a bass boost. The wind is me blowing on the mic. The crumbling blocks are a handful of gravel being tipped off one brick onto another – pitched down, with a couple of takes mixed together (it was a very small handful of gravel, as it was pitch black when I went out in the garden to get it).
- The note I finger-painted using my daughter’s red paint, and photographed with my iPhone. The texture is – laughably – 1024×1024 because I forgot to reduce it once I worked out how big on screen it would be.
- The skeleton hand and lamp I modeled at breakneck speed in Blender with about an hour to spare, and surprised myself with the results. I might look for a 48-minute modeling challenge
- The triforce on the tower was also done at breakneck speed….and is upside-down because I forgot to check online for reference. Zelda fan fail.
- I was planning to crumble the entire tower once you picked up the triforce, but ran out of time to do anything other than acknowledge your success with a line of dialogue. Also, I suspected it might kill Unity.
- The most stressful part of the weekend was realising that the free webspace I’d signed up for would not allow Unity files to be uploaded. Had to upload a zip file to meet the deadline, and then put the web-playable version up later when I discovered DropBox would do it. I love DropBox.
So there you are, all the least dull bits of my weekend. I had a blast, and I can’t wait for the next one…
GunHack gameplay vid posted.
A postmortem is coming soon (swamped at work), but I wanted to post this game footage I uploaded last night.
Sweet Games, Everyone
I’ve been playing and rating a lot of the games. There’s sooo many, but as far as I’ve gotten into them as of now, most of them are really quite good. Admittedly, some might be questionably related to the theme (of course, this theme was certainly quite open – take any game, and slap a cutscene in, and it’s relevant! Not that I would do anything like that… Although a lot of people who were creative seem to have interpreted the theme in cool ways). Out of the games I’ve seen, I rated 90% at least a 3 on fun, and probably have rated the majority as 4 or 5. I’ve found most the games are pretty innovative as well – I haven’t seen any repeated concepts (certainly repeated genres, but each game is quite unique) throughout the contest, and I don’t think I’ve seen any generic games where you could just take an existing game, and change the textures. Surely, more time would let people add better audio & graphics, and for level-based games, more levels, and all the other things that make a game polished, but I just want to congratulate everyone who participated in the Dare or Jam on making a game that is enjoyable to play.











