Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Cellphones Handhelds PC Games (Games) Portables (Games) Programming Software Games Apple

Porting Lemmings In 36 Hours 154

An anonymous reader writes "Aaron Ardiri challenged himself to port his classic PalmOS version of Lemmings to the iPhone, Palm Pre, Mac, and Windows. The porting was done using his own dev environment, which creates native C versions of the game. He liveblogged the whole thing, and finished after only 36 hours with an iPhone version and a Palm Pre version awaiting submission, and free versions for Windows and Mac available on his site."
This discussion has been archived. No new comments can be posted.

Porting Lemmings In 36 Hours

Comments Filter:
  • by JustinRLynn ( 831164 ) on Sunday June 27, 2010 @10:29PM (#32713076)
    Pandering to the Apple fanboys like everyone else seems to be? Oh come on Aaron, would you jump off a cliff just because everyone else ... oh.
    • by DamienRBlack ( 1165691 ) on Sunday June 27, 2010 @10:31PM (#32713092)
      If only I hadn't spent all my mod points making my friends dig and climb.
        • Actually that could be a pretty good idea. You could have a few types of portal spawning lemmings. One would invariably have to shoot it somehow, but one could create one in the path, and it could lead to other types of puzzle dynamics.... And would hopefully replace the painfully annoying stair building ones that always make me lose lemmings.
        • So did I. I was imagining lemmings able to fire in / out portals either forward, up, or down. That way, you could keep a load of lemmings safe at the start by firing one up and one down, keeping them in a little vertical loop, while one lemming made it to the exit and fired the portal up, letting them all drop out by the exit. A cross between the portal flash game and the original Lemmings.
          • letting them all drop out by the exit

            And go splat because the distance they fell was far, far, far greater than the distance they can fall without an umbrella.

            Unless you were thinking of giving them umbrellas for the infinite fall.

      • You mean Digg? ;)

        "Oh No!"

    • by TubeSteak ( 669689 ) on Sunday June 27, 2010 @10:42PM (#32713168) Journal

      I think he's hosting the website on his iPhone.
      I managed to grab the page after hitting F5 a few times
      http://img713.imageshack.us/img713/8107/lemmings.png [imageshack.us]

      • Re: (Score:3, Interesting)

        by Anonymous Coward

        I had a bad habit of bragging about my N900 -- WVGA screen, CortexA8 overclocked to 1.1GHz, and a touch-optimized Firefox derivative, it can do anything a laptop can do.

        The above link has cured me.

        (On second thought... does anyone's laptop actually handle that monster gracefully, either?)

        • No problems here with Firefox running in a AMD Neo, currently clocked at 800MHz.

        • CortexA8 overclocked to 1.1GHz

          Sweet Zombie Jesus, you're a madman! 8(

          How hot does it run? I know that my N900 can get a bit toasty when I do things that peg the CPU for a long time (like watching videos), especially if the keyboard is closed, and I'm at stock clock speeds.

  • by Joe The Dragon ( 967727 ) on Sunday June 27, 2010 @10:30PM (#32713086)

    You can play coin-op arcade lemmings game in MAME as well.

  • by Junior J. Junior III ( 192702 ) on Sunday June 27, 2010 @10:31PM (#32713100) Homepage

    See, this is what you can do with low level languages... IF you know your shit.

    • by SpazmodeusG ( 1334705 ) on Sunday June 27, 2010 @10:35PM (#32713120)

      I'm getting old. I remember C being regarded as a high level language designed with portability in mind.

      • by Junior J. Junior III ( 192702 ) on Sunday June 27, 2010 @10:38PM (#32713150) Homepage

        Yeah, and it is, but it's still considered "low level" these days because it's awfully darn close to the metal. As compared to stuff like .NET or Java that runs on virtual machines or Common Language Runtimes.

        • by mini me ( 132455 )

          As compared to stuff like .NET or Java that runs on virtual machines or Common Language Runtimes.

          iPhone apps are compiled using LLVM, which provides its own virtual machine, not unlike the JVM and CLR. Does that make C a high level language?

          • Re: (Score:3, Funny)

            iPhone apps are compiled using LLVM, which provides its own virtual machine, not unlike the JVM and CLR. Does that make C a high level language?

            That is just so wrong, it hurts to read it.

            • by Lifyre ( 960576 ) on Sunday June 27, 2010 @11:56PM (#32713532)

              Wrong as in factually incorrect or Wrong as in 350 pound man wearing a Sailor Moon costume?

              (You're welcome for that lovely image too)

              • by TheRaven64 ( 641858 ) on Monday June 28, 2010 @04:56AM (#32714622) Journal

                Factually wrong. LLVM is a virtual machine in the sense of virtual architecture, not in the sense of virtual environment. Code for the iPhone is first compiled to LLVM intermediate representation (IR), which is machine code for a virtual architecture that has an infinite number of single-assignment registers and a structured (but simple) memory model. You can do various things with code in this form, but when you are targeting the iPhone, you generally run some optimisations, link a load of the modules together, run some more optimisations, and then compile the result to native code.

                Describing LLVM as not unlike the JVM or CLR is like saying that Pascal is not unlike Smalltalk.

              • Wrong as in 350 pound man wearing a Sailor Moon costume? (You're welcome for that lovely image too)

                C'mon, we've all been to gencon. Try harder.

              • Wrong as in factually incorrect or Wrong as in 350 pound man wearing a Sailor Moon costume?

                (You're welcome for that lovely image too)

                I'm not sure what is more disturbing -- the fact that you described it, or the fact that when I googled for images with fat man sailor moon [google.com], I actually got pictures.

                You bastard!! I didn't need to know that! :-P

            • by mini me ( 132455 )

              Okay, perhaps my wording was poor. I was not suggesting that the iPhone executes its apps in virtual machine, just that the build process for iPhone development uses the LLVM, to note that it is not some esoteric project. That, and that C does not have to be compiled straight to hardware instructions.

              • I understand you, honestly, but I don't think the intermediate layers count much towards what "level" the language rests at, and arguably the final destination does.
                C is pretty dang close to describing what the hardware is doing. To the point where you could fairly easily, one line at a time, transcode it into assembly, which itself is veeeery dang close to the machine code instructions it represents. Not only that, but you can kind of go from assembly to C in a pretty straightforward way too. You can't

          • Shhhhhh! You might shatter their pre-concieved notions of C and make them feel bad for never learning it!

      • Yes, yes, you are getting old ;)
        But C is like "more low level" than many popular modern languages.

      • You know you are old when B is more then just a brief bit of history in the front of a C book.

        To be fair I only knew it from a porting project. I am not THAT old... I am young enough to remember when C was new and exciting... no we did NOT ride dinosaurs to work.

        • To be fair I only knew it from a porting project. I am not THAT old... I am young enough to remember when C was new and exciting... no we did NOT ride dinosaurs to work.

          a Model-T Ford? :p
      • Re: (Score:3, Insightful)

        by jellomizer ( 103300 )

        C was never a High Level Language. It was a more portable Lower Level Language. Sure it was above assembly (As Assembly isn't much of a program language, but but just a 1 to 1 translation to machine code) it was lower then COBOL, Fortran, Basic, Lisp, and many of the other popular languages at the time.

        The difference between higher languages and lower languages. isn't as much portability, while higher languages tend to be more portable, however a high level languge such as VB is less portable then a Low

        • by gangien ( 151940 )

          From Wikipedia: A high-level programming language is a programming language with strong abstraction from the details of the computer.

          I think if you're not moving register values around, it's a pretty strong abstraction. You even stated that it's a portable lower level language, which to me, is mutually exclusive from working with the details of the computer.

          • The Wiki Definition is right your analysis is not.

            Because there are some things you are kinda missing...

            The C Language has the ASM command for moving those registers around if you feel the need... And if you dig into these libraries you find that most of the stuff that is going on ends up to be assembly language. What you are thinking is just as assembler perhaps with some macros. Assembly isn't a language, it is a 1 to 1 map to what the computer is doing.

            Languages offer abstractions so you don't need to

            • by gangien ( 151940 )

              so if java has some libraries that make it possible to manipulate registers, that makes it a low level language? Or any other language?

              It says strong abstraction from the details of the machine.. I think when i can write a simple function and have it compile and run on 10 different platforms that implies strong abstraction from the details of that machine.

    • Re: (Score:1, Insightful)

      by Anonymous Coward

      You would be amazed what anyone can produce with any language *IF* they know their shit

      • Even in Bitxtreme, where you can only address two bits?

        Here are all possible programs:
        00
        01
        10
        11

        His creator is very confident about its turing completeness:

        OISC is Turing-complete. The fact that integers are limited to 1 bit doesn't affect that result. Thus, Bitxtreme must also be Turing-complete itself, I'm sure. The amount of memory supported by the virtual machine is unbounded, thus complying with the requisite for Turing-completeness; actual implementations will however impose an upper bound. Some people

    • by phantomfive ( 622387 ) on Sunday June 27, 2010 @10:46PM (#32713192) Journal
      Exactly.....I used to spend a lot of time learning different languages, comparing them, trying to figure out what was best, using all the features.......then one day I realized it isn't the languages so much that make the difference, it's how you use it. I don't regret learning a ton of languages because you learn new techniques and ideas from each one, but as long as you can encapsulate stuff and be flexible, the language is ok. With macros and functions and libraries, I can write code just as flexibly and nearly as quickly in assembly as I can in a language like Perl or Ruby.

      When the vast majority of your time writing code is taken up by debugging or refactoring, the language it's written in doesn't matter so much as the quality of the code that's written.
      • Re: (Score:2, Insightful)

        by osu-neko ( 2604 )

        I don't regret learning a ton of languages because you learn new techniques and ideas from each one...

        Eventually you reach the point where that's not really true anymore because you're pretty much seen it all. At that point, it doesn't matter which languages you "know" or don't, and have used in the past or not, you can sit down and write code in anything, even stuff you've never seen before, as long as you have a minimal syntax reference or some sample code handy.

        • Re: (Score:3, Insightful)

          by Anonymous Coward

          Eventually you reach the point where ... [you've] pretty much seen it all

          That is so wrong on so many levels. The beginner thinks he knows everything. The well learned thinks he knows a lot. The expert knows that he knows nothing. This is true in programming as well. There are infinitely possible ways to design a language, and some are yet to come (though derived from current languages of course). There never EVER comes a point where one has seen it all.

      • by TheLink ( 130905 )
        > then one day I realized it isn't the languages so much that make the difference, it's how you use it.

        To me it's not the language that make the difference but the _libraries_ that make the difference.

        The more suitable and available the libraries there are to do what I want to do, the less code I have to write, document and hopefully debug (some libraries are buggy unfortunately).

        And also if they are standard or defacto standard libraries in means the poor sod taking over has less code to read. Assuming
      • by CODiNE ( 27417 )

        OT:

        Dude, in your world peace blog post, isn't the 3rd group exactly who the 1st group are talking about? Violence and war are related to game theory, it's always to someone's advantage to brutalize the others. You solve the problem of the 3rd group and the 1st group will go away, the 2nd group will as well.

        So peace is really simple, you just have to stop the sociopaths and "might is right" people, then everyone else can relax. That doesn't sound so easy now.

        • Sort of, the people in the first group, who support the 'violent ape' theory is that man is violent by nature, and we will have wars because it is in our genes; we fight with family, we fight with neighbors, we fight with other people, etc. Now, this theory has generally been discredited, but a story from a guy I was talking to on my front steps weirdly just two days ago: he said he used to carry a knife around with him for protection, but then one day he and his friends were jumped by another group, and
          • by CODiNE ( 27417 )

            Sort of, the people in the first group, who support the 'violent ape' theory is that man is violent by nature, and we will have wars because it is in our genes; we fight with family, we fight with neighbors, we fight with other people, etc.

            There's also violence caused by scarcity real or imagined. Want money, chicks, food, etc... I'm sure you know how population growth is causing and will continue to cause fights over these things. It's true that the earth produces enough food for everyone but politics a

      • Re: (Score:2, Interesting)

        by wood_dude ( 1548377 )
        With a good macro assembler you can quite easily create your own higher level language. I've done that several times. Porting a game in the old 8/16 bit days from 6502/6809/z80/68000 was just a set of assembler macros for each low level operation of your game creation langauge. Only a few specific time critical bits of code ever ended up in true native, mainly the blit code. Porting games even in assembler was quite quick, you just had to start out with the correct technique. All thoses guys that wrote pil
  • Copyright? (Score:5, Interesting)

    by PyroMosh ( 287149 ) on Sunday June 27, 2010 @10:39PM (#32713154) Homepage

    Okay, so Lemmings isn't public domain. The owners may have turned a blind eye to DHTML Lemmings, and other small projects, but how do you expect to get approved for the Palm and Apple App Stores?

    IIRC Psygnosis owns the rights to Lemmings. Also IIRC, Psygnosis is now owned by Sony. Unless Psygnosis was only the publisher for a third party I'm not aware of.

    Good luck with that.

    • Re: (Score:3, Informative)

      by Tacvek ( 948259 )

      I have no idea Who retained the copyrights, by if it was the developer, then Rock Star North would be the current identity of the developer, so Take-Two Interactive would be the people to ask, not Sony.

      • It doesn't happen often that the develop remains copyright over their creations when signing up with a publisher.

        If you look at the continuation of the Lemmings series you'll see DMA Design isn't involved anymore, but it's Psygnosis/Sony.

      • If that was the case, why would the last 3 or 4 versions be released only on Sony hardware? I think Sony owns the IP.

    • Re: Copyright? (Score:2, Informative)

      by alex4point0 ( 179152 )

      PC/Amiga classic 'Cannon Fodder' was also recently ripped off (certainly from a look and feel perspective, and all reviews mention the likeness) as an iphone/itouch game Warpack [warpack.com] Grunts - with no credit to the original coders on their website [strangeflavour.com]. Considering the original devs have their own mobile phone development company [tower-studios.co.uk] I doubt they would have allowed this, and I hope they have sicced their lawyers onto them. I doubt Apple look too closely for prior art and are more interested in counting the filthy lucre th

      • Re: Copyright? (Score:4, Insightful)

        by danielsfca2 ( 696792 ) on Monday June 28, 2010 @12:42AM (#32713720) Journal

        I doubt Apple look too closely for prior art and are more interested in counting the filthy

        Oh, so today we're mad at Apple for dastardly approving apps that they should have rejected on the grounds of software look-and-feel... because that totally holds up in court [lmgtfy.com], not to mention it's totally Apple's job to ensure that every app has no resemblance to any other software ever published. Got it!

        I'm glad you posted, because I think I missed that memo and was still cursing those Apple jerks for rejecting too many apps, because "All Apps Deserve To Be Approved" and "Apple Is Oppressing People With Their Walled Garden."

        • Re: (Score:2, Funny)

          Of course you're right... Why would Apple care? After all, ripping off ideas and selling them out as their own is not a new idea, just ask Steve Jobs about pretty much any Apple product!
          • Show me a "new idea" in software and I'll show you some no-account who claims he "thought of it first" but didn't have the motivation or skills, either to implement it right, or to successfully bring it to market.

            Sure there are occasional examples of some freeware widget being copied and made into part of the OS, but more often than that, they just buy the relevant IP from the guy who created it [wikipedia.org]. However if you think Apple is the only company to ever reimplement a "good idea" independently, without the bles

        • Re: (Score:3, Insightful)

          by blincoln ( 592401 )

          Oh, so today we're mad at Apple for dastardly approving apps that they should have rejected on the grounds of software look-and-feel... because that totally holds up in court, not to mention it's totally Apple's job to ensure that every app has no resemblance to any other software ever published. Got it!

          This isn't a game that looks vaguely like the original Lemmings and has somewhat similar gameplay mechanics. It's an exact copy that uses the "Lemmings" name and logo.

          • He's talking about the Cannon Fodder clone which copies the "look and feel". Apple have yet to approve the Lemmings port, and I'd be surprised if they did since it's so well known and someone somewhere is likely to still have a vested interest in the rights and will pop up and challenge this.
        • by tlhIngan ( 30335 )

          Oh, so today we're mad at Apple for dastardly approving apps that they should have rejected on the grounds of software look-and-feel... because that totally holds up in court, not to mention it's totally Apple's job to ensure that every app has no resemblance to any other software ever published. Got it!

          Actually, Apple lost the look-and-feel lawsuit because they had licensed it to Microsoft. In a huge case of "left hand not knowing what the right hand was doing". the lawyers didn't know that Apple had alrea

          • You're right, and it was a hilarious technicality of poor wording, since obviously the intent of the license wasn't to grant them a license to knock off the concept but rather to write software FOR the platform.

            However, have there been successful "look and feel" suits? I was under the impression that no one had won any similar cases. I chose a poor one as an example, didn't I.

            • Wasn't there a lawsuit involving The Print Shop? I can't find info about it, but I thought there was. (AFAIR, I am not mistaking the Lotus 1-2-3 suits, though my vague memory is about a similar issue -- a clone using basically the exact UI of The Print Shop.)

      • by Hatta ( 162192 )

        There's nothing illegal or unethical about making a clone of a popular game. As long as they don't use the same name, or any of the same art or code it's just fine.

        • But he's doing both of those things. Am I grossly misunderstanding the article? The summary? Did you read either?

          • by Hatta ( 162192 )

            My comment was to the immediate parent who was upset about a clone of "Cannon Fodder" that used neither the name nor assets from the original game.

            As for the fellow in TFA, he's at least using the name without permission, and possibly the artwork. So he's in a bad spot if someone chooses to protect the lemmings brand. I wouldn't be surprised if he got C&Dd over this.

    • Re:Copyright? (Score:4, Insightful)

      by DreadPirateShawn ( 1246208 ) on Monday June 28, 2010 @02:13AM (#32714036)

      IIRC Psygnosis owns the rights to Lemmings. Also IIRC, Psygnosis is now owned by Sony. Unless Psygnosis was only the publisher for a third party I'm not aware of.

      Good luck with that.

      Not a bad résumé tactic though, however you look at it. If I had an interviewee who ported a game for kicks in 36 hours, I'd certainly file that in the "pros" column..

    • The game was developed by DMA Design (now Rockstar North), but the copyright went to Psygnosis as the publisher, and Psygnosis became SCE Liverpool. So ultimately Sony does hold the copyright, yes.

  • CORAL CACHE (Score:3, Informative)

    by Qubit ( 100461 ) on Sunday June 27, 2010 @11:26PM (#32713360) Homepage Journal

    Here's the link for the coral cache [nyud.net] copy....now let's see if we can get the page loaded into the cache...

    • Here's the link for the coral cache copy....now let's see if we can get the page loaded into the cache...

      I don't understand why the editors don't do this as a standard practice before publishing stories to the front page. I dunno, there might be some legal issues with publishing a cc url. If they at least preloaded the content it would be available, and the original host would stand a better chance of surviving a slashdotting.

  • Didn't Apple have some anti-competitive rules that allowed only Objective-C to be used in programming for the iPhone? Even if C were allowed, we're talking about generated C code here.

    • Re:Wrong language? (Score:4, Informative)

      by Graff ( 532189 ) on Monday June 28, 2010 @02:20AM (#32714046)

      Didn't Apple have some anti-competitive rules that allowed only Objective-C to be used in programming for the iPhone?

      Objective-C is C. Objective-C is a strict superset of C so there's no difference between C code and Objective-C except for the extensions that Objective-C has added.

      Even if Objective-C didn't include all of C it would still be OK. Apple allows iOS apps to be written in Objective-C, C, and C++. These languages were chosen because they are supported under Apple's API for iOS.

      • by DarkOx ( 621550 )

        not quite all C code is objective-C code but not all objective-C code is C code. So you can certainly write some C code feed it to the objC compiler and faithful in the technical sense call it an objective-C program; if not in spirit.

        • by Graff ( 532189 )

          Which is why I said that Objective-C is C with extensions, if you discount the extensions then what's left is C. I was trying to express it in layman's terms because it's very difficult to draw Venn diagrams in text! ;-)

          But yes, the intersection of the sets of Objective-C and C includes all of C but not all of Objective-C. You can write a pure C function or variable and use it within Objective-C code without any problems at all.

    • All valid C code is also valid Objective-C code as Objective-C is a superset of C with Smalltalk-like features on top.
    • Didn't Apple have some anti-competitive rules that allowed only Objective-C to be used in programming for the iPhone?

      No.

  • by snap2grid ( 630315 ) on Monday June 28, 2010 @02:27AM (#32714068) Homepage
    One of my claims to fame is that I was working for DMA Design when they created the original Lemmings (Dundee, Scotland), released on Valentine's day 1992. I did some conversions of the Amiga graphics to the PC (EGA!) and Atari Lynx. In the victory screen, there's a pic of the developers including myself! Needless to say, a lot of what is written on the net isn't quite correct. Great to see that it's still well thought of and in fact it's even part of a museum exhibit in Dundee (McManus Galleries) (You *really* know you're old when your photo is in a museum!) You can find the history of Lemmings (and DMA) here. http://www.dmadesign.org/ [dmadesign.org] and some of my musings from that time here http://www.stevehammond.org/ [stevehammond.org]
  • by Spacelem ( 189863 ) on Monday June 28, 2010 @02:54AM (#32714172)

    It would be great if I could play my favourite game on my phone!

  • Its good to see Slashdot still has the power to trash third party sites :)

  • I misread this as "Portal Lemmings" and am now seriously disappointed.

    Someone needs to make that.

  • >"an iPhone version and a Palm Pre [WebOS Linux] version awaiting submission, and free versions for [MS ]Windows and Mac[OS] "

    So you are just missing two versions- Android Linux and desktop Linux :) Of course, on desktop Linux, we already have Pingus http://pingus.seul.org/ [seul.org]

Keep up the good work! But please don't ask me to help.

Working...