Announcing Operation Lambda: a remake of the classic game
by Bret Victor
. Make your way through a distressed spaceship, rescuing hostages and deflecting lasers in 100 levels!
The remake implements the original (IIgs only) game entirely in Ruby, so anyone can play! It also adds a level editor, swappable tile-sets, and other niceties. It's over 5000 lines of code, and Ohloh informs me it's only 3% comments. Clearly, I am a terrible coder ;). But! I made a game.Where do I get it?
Operation Lambda is hosted on in my BitBucket repository
. It is available as a Windows exe
and an OS X app
If there is demand, I'll try to get around to making a git mirror on Github. I picked BitBucket because GitHub wouldn't let me host the downloadable 'binaries'.What do I need?
If you download the pre-packaged application, you don't need anything other than what's in the zip/dmg. If you're running it from source, you'll need Ruby, Gosu and TexPlay.Other notes
The original Operation Lambda, and all it's graphics, sounds and level data, are copyright 1996, Bret Victor, and are used with permission. All the code and additional design in this remake are copyright 2009 Adam Gardner.
Operation Lambda is released under the terms of the Artistic License 2.0.
(edit: added screenshots, fixed markup, made it the post shorter and less email-centric (aka fewer linebreaks).)
Screenshots are: Level 1, Level 25, Level 84, the Main Menu, the Level Select screen, and the Level Editor.
had a quick shot. very cool
Well done! Keep working on your game and Happy Birthday,how old are you today?
I would add gamepad support and make the sprites more detailed,other than that its looking good
I had a quick go made it to level 3
The game should have full gameplay support, since input is completely customizable and I'm not restricting it to only accepting button_ids that correspond to keyboard buttons. That said, I haven't tested it; did you try it and find it didn't work?
Edit: I'm 27, since you ask :-p
Actually, you are the first person whose birthday is shown on the forums list, complete with the age. Or can only admins see this? :)
I can see it. I sent him a hap birth PM.
I still have to check this out some more tomorrow, but before I forget to mention it: If you hit the down arrow in the tileset selection, the only tileset is suddenly shown twice :)
Also, you need to attach a screenshot so you can win the frontpage rotation and be famous :D
Ask and ye shall recieve: there are now screenshots.
wow, i haven't played it yet but it looks very impressive, 100 levels!! also i think yours is probably the only _complete_ game i've seen so far for gosu. ill try and check it out tonight. nice work!
Wow, the game gets a lot easier once you finally read the ingame-help and realize you can rotate mirrors ;) Nice work! Did you think of replacing the Gosu::Font for even more oldschoolness?
My main problem with the game is the controls. They feel a bit too slow, but at the same time it's still easy to accidentally step into lasers. I haven't played the original though :)
Yeah, reading the in-game help is really important.
The controls are a bit of a problem. I endeavored to make them react pretty much the same way they did in the original game, at least as I experienced it in emulation. But it's a little awkward, and I probably should re-think them. Not to mention, the speed at which you move may need to be tweaked; I haven't looked at it in a while.
One thing that's important to realize is that if you press a direction other than the one you are facing, it takes one full 'move cycle' to turn to face the new direction, before you start moving forward. This is important, because if you couldn't rotate in place, some areas of the game would be impossible; however, it can add to the already existing impression that the controls are slow to respond.
It's also possible that the controls *really* are slow to respond, and I need to tweak 'em.
I actually did think about replacing Gosu::Font with another class that drew bitmap fonts, so I could use the original blocky fonts, complete with original gradients. But I haven't got around to it yet since it seemed that there would be a *whole* lot of edge cases to address, making it fairly complex to implement, and the implementation I can think of off the top of my head would be a *big* performance lose, in a game which already has performance problems. If you have any suggestions, though, I'd be more than happy to hear them!
No sudden ideas, alas :(
BTW, grats on winning the front page. My random generator seems to be quite the early adopter ;)
played this game for an hour last night :) good fun..though i started to think i was a bit mentally retarded until i learned about rotating the mirrors :/ the game also reminds me a bit of D.R.O.D, another retro-style game that i got hooked on about a year ago:)
as an aside, what exactly are you using TexPlay
for in this game....i had a quick look at the source and it appears you're 'baking' the tile textures directly into a blank background image? why? :)
I am indeed baking tiles into a blank background, when I generate the level-preview images. The reason I'm doing it so that I can draw six level previews on the screen at one time without redundantly looping through 6*14*20 = 1,680 tiles per frame. Also, baking them into a single texture makes it a *lot* easier to move whole level-preview-images around the screen without inserting multiple, independently-variable offsets into 1,680 calls to Image#draw (again, every frame).
Edit: Also, I'm beginning to think I should make the game automatically display the help screens the first time you play. Almost *everyone* has missed them. Which just goes to show that no one reads the readme, either ;)
I read it. Give me my points now. :]
10 points for Maverick!
Also, just to let people know, I uploaded 1.0 alpha 2 today, which should fix the crash-when-you-die-sometimes bug, and the rendering issue Julian pointed out above.
Ah so it was a bug! I thought I was doing something stupid. I'll try it out later.
Level 35 is broken. The red and purple lasers aren't properly reacting with the blue portal.
> Level 35 is broken. The red and purple lasers aren't properly reacting with the blue portal.
Oy gevault. Yeah, I see the problem. How it managed to slip by, I don't know, but I'll try and post a fix later today or tomorrow.
EDIT: Created Issue #3
to handle this issue.
Another issue: pushing mirrors over spots where destructible tiles used to be causes the mirror to disappear. This makes level 55 quite impossible.
Okay, both issues are fixed in source, available in the repository
. I won't have new binaries built until at least tomorrow, though.
why wouldn't github let you host the downloadable binaries?
You know, I actually now think that this was a misunderstanding. I went through, did some random searches on github, and none of the projects I turned up had a downloads section, even an empty one. I looked briefly at Github's docs and did not find anything mentioning non-source downloads whatsoever. So I came to the conclusion that github didn't offer this functionality. Later, I came across a github project that *did* have downloads other than the repository. So either this feature was very recently added, or, more likely, the downloads tab is hidden if there are no packages to download, and further it is poorly documented (or I did a poor job searching the documentation).
Regardless, however, I am quite happy with Mercurial and BitBucket for the time being. If someone wants me to throw the source onto github too, though, I can do that. I can even using the hg-git plugin for mercurial to push to github without installing git :-p
Edit: fixed stoopid
Ok, took long enough, but I've made new packaged binaries for 1.0 alpha 3, now available for download.
just want to say i gave this game to a friend recently and he's been playing it almost every day for a week :)
Do you still have the six screenshots floating around? :)
Ask and you shall receive!
Powered by mwForum 2.29.0 © 1999-2013 Markus Wichitill