Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - covox

#1
This hit the front page of Slashdot yesterday:

http://www.mobile1up.com/lemmings/blog/index-old.php" class="bbc_link" target="_blank">http://www.mobile1up.com/lemmings/blog/index-old.php

Impressive effort, but seriously what was he thinking? That by slapping the words "this is a tribute" next to a whole pile of copyrighted and trademarked artwork he gained diplolmatic immunity? And submitting it to the App Store no less, he's either koo-koo crazy or a manic optimist.
#2
Lemmings Main / Re: Acorn Lemmings music
December 03, 2009, 06:17:43 AM
The second ONML track reminds me of http://www.youtube.com/watch?v=mfKYNsR7W4A" class="bbc_link" target="_blank">this sketch...  http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" />

If forced to choose at knifepoint, I'd take the 6 standard ONML tracks over the 16 new ones, but it's still a cool find nevertheless. In particular, the ones with more than four looped bars of music are pretty good.
#3
Lemmings Main / Re: Acorn Lemmings music
December 02, 2009, 04:48:27 AM
Bah. It would appear that bare metal Acorn apps from 1991 only work properly on an Archimedes (surprise!), and the 40mhz StrongARM in my cheap terminal box is just too much to handle.  And there I was wondering why it was so damn difficult to copy stuff from an ADF onto a real machine.

On the plus side, the music data appears to be stored as uncompressed SoundTracker mods all lumped together one giant SoundTracker mod plus a lookup table to indicate where each song starts, so it should be trivial to write a script which dumps the music  http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />
#4
Lemmings Main / Re: Acorn Lemmings music
December 01, 2009, 03:09:30 PM
Intriguing. While I don't actually have an original Archimedes, I -do- have a whitebox StrongARM machine sitting in my spares cupboard which runs RiscOS 4 and MarsQuake pretty well. This thread has motivated me to hook it up and throw Lemmings/ONML at it.
#5
Fan Corner / Re: Lemmings 1 (SNES) PC Remake
November 16, 2009, 02:47:24 AM
Ah, nice. Apart from really weird behaviour with the bomber timer, and no nuke button, it looks remarkably up-to-scratch. Only complaint is that the click detection seems a little rubbery with walking lemmings, with up to a half-second gap before registering a new skill. Is it possible to let skills be allocated while the game is paused?

http://www.lemmingsforums.com/index.php?topic=274.msg7490#msg7490">Quote from: Dullstar on 2009-11-15 16:19:57
Mind if I remake the levels you make for this project in either L++ or LemEdit for the benefit of people with Macs or running Linux?

Runs fine under Wine 1.1.32 for me.
#6
Fan Corner / Re: Lemmings 1 (SNES) PC Remake
November 15, 2009, 12:04:15 PM
I must say, this is a pretty sweet Lemmings engine. No idea how much Clickteam have changed since MMF1, but it must've been substantial considering this was possible to make in a couple of weeks. Can't say I'm the biggest fan of the SNES version of the game though (especially the music).

One problem, I can't seem to get past the success screen following Level 1. A shame, I'd like to see how all the other skills are implemented. The MMF I know would wet its pants in fear at the sound of pixel-level graphic operations and collision detection.
#7
Another vote for Python! It's fun and easy to learn, and very powerful for rapid prototyping.

For quick introductions, I can recommend http://www.sthurlow.com/python/" class="bbc_link" target="_blank">this set of tutorials or http://www.freenetpages.co.uk/hp/alan.gauld/" class="bbc_link" target="_blank">this site. The latter is very good about teaching the basic building-blocks of computer science, but for the love of God IGNORE EVERYTHING IT SAYS ABOUT VBSCRIPT. Seriously, don't even entertain the idea of learning VB. That's a great way to screw you up good. For the more complex stuff, the Python docs contain just about everything, explained (remarkably enough) in English.

Some more links:  http://www.pygame.org/" class="bbc_link" target="_blank">Pygame is a popular wrapper around the SDL multimedia library. http://www.pythonchallenge.com/" class="bbc_link" target="_blank">Python Challenge is a pretty cool online puzzle which can only be solved through lots of Python hacking.
#8
Help & Guides / Re: EGA Colour Palette Extraction
November 15, 2009, 09:49:23 AM
If I recall correctly, the GROUNDxO.DAT files have four palettes in them; one used for the preview screen and one used during the game for both EGA and VGA.

The extractor script I wrote for Tundra lets you export PNGs of all the graphics using whatever colour scheme you want. Unfortunately, since it was released the Python guys deprecated the XML SAX library the game uses for just about frigging everything, and because of all the wide-eyed (read: crap) design decisions, I have little interest in touching the code without the aid of a long pointed stick.

That said, here's a stripped down version of the script I used. Go get http://www.python.org/" class="bbc_link" target="_blank">Python 2.6 and http://www.pythonware.com/products/pil/" class="bbc_link" target="_blank">PIL, then download http://rebui.ld.net.au/covox/lemresgrab.tar.bz2" class="bbc_link" target="_blank">this package. Extract it somewhere, then run the Python interpreter and type in the following:

>>> import os
>>> os.chdir("c:\\path\\to\\where\\you\\put\\lemresgrab\\")
>>> from decrunchedit import *
>>> fullAuto("c:\\path\\to\\lemmings1\\", PALETTE)

     (where PALETTE is one of "ega", "ega_prev", "vga", "vga_prev")

>>> fullAutoONML("c:\\path\\to\\onml\\", PALETTE)

This will dump all of the Lemmings graphics as PNGs into the included "style" folder. Hope this helps.

(For the two people that care, the Tundra site has been dead due to my ultra-reliable webhost repasswording my SQL database every two weeks http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" /> I just finished my thesis, so next project is to port LemmingsDS to the N900...)
#9
Fan Corner / Hand-knitted Lemmings!
July 29, 2009, 11:36:32 AM
For all you knitting enthusiasts out there...

http://www.planetjune.com/blog/lemmings/" class="bbc_link" target="_blank">http://www.planetjune.com/blog/lemmings/

FYI http://offworld.com/" class="bbc_link" target="_blank">Offworld posted a link to it a little while ago, and apparently the response to them has been koo-koo crazy! You can buy the patterns for a small fee, or for a little extra + some pleading you can commission a Lemming of your very own.
#10
That's a pretty good list of things that need doing. However, it requires a little bit of thought to properly break it down into classes. Let's assume for now, you intend to make a reasonable first step: a demo which spawns a stream of lemmings which then wander about one screen of sculpted terrain. Like the original, assume everything is done at the pixel level.

Quote
Intro screen
Level cards
Victory/failure cards
These are among the last things you'll be doing. Don't worry about these.

Quote
Level initialisation
Let's say your prototype takes a single level name as an argument.
When your program first runs, it constructs a GameState object called gs.
It then calls the gs.LoadLevel("name") method. This method should do something like the following:
 - Try to load the level data from disk and parse it into a Level data structure
 - Check which GraphicsSet the Level uses, and try to load the GraphicsSet pieces into video memory
 - Create one large graphics buffer of the whole level and paint it with GraphicsSet pieces according to the Level terrain placement info.
 - Create some sort of clever hashing mechanism for collisions based on the Level info (e.g. terrain, exits, water, traps)
After that, you can call a method such as gs.Step() (update the lemming positions) followed by gs.Paint() (write changes to the screen). This, of course, has to be repeated for every single frame.

Quote
Level completion
This happens when you run out of lemmings and you're no longer inserting new ones. At this point, your game loop should stop.

Quote
Lemming state
You have a Lemming object for each lemming, stored in the GameState object. Each Lemming will be of a certain state (walker, faller, builder) and will have a different per-frame movement behaviour based on that state.

Quote
Pick a skill
That's just input control. Worry about that later.

Quote
Assign a skill (if possible)
This is just changing the state of the chosen Lemming object and deducting one from the appropriate skill counter.

Quote
Skill implementation
This is done in your Lemming object as something which gets checked each frame. I think I figured out bits of the movement by cranking DOSBox down to 10 cycles and watching the freeze-frame edition of Lemmings. All you need to know for walking is:
- Collisions are measured at one pixel directly underneath the feet.
- If the ground ahead is between a -2 to +2 difference in height (making sure to check in the order 1,2,0,-1,-2), advance the lemming onto that bit of ground.
- Technically a lemming can jump up to 5 pixels in height, however you need to set an intermediate state called a bounder which advances up 2 pixels/frame so it doesn't look weird.
- Anything higher than 5, turn him around. Anything lower than -2, set him as a faller (which drop at a constant rate of 3 pixels/frame).

Quote
How Lemmings can affect terrain
How Lemmings can be affected by objects
Terrain collision
I can't really give advice about the best way to do collision detection, as the way I did it was pretty piss-poor (make a whole seperate RGBA copy of the level, with each of the 32 bits in each pixel representing terrain, steel, trap hotspots etc.).

Quote
Counters for skills, time remaining
Array for Lemmings
You keep the counters as variables in your GameState object. Same with your Lemmings, in an array or similar large data structure.

Quote
Lemming animation
Depends on the presentation backend you intend on using, but you'd want to load it in a globally-accessible cache much like your GraphicsSet. It's probably better for video memory to store animation in long strips, where each frame can be blitted from by using an offset and a common frame width. Lemmings is quite nice in the respect that each animation corresponds with a specific state.

Quote
What kills a Lemming, why
See collision detection. The lemming death animation is stored in the trap itself, so all you need is to make the lemming disappear and activate the trap.

Quote
Windows frontend
Mac OS X frontend
Again, these last guys depend on the language and presentation backend you intend on using. You mentioned C#; while I think it's easily the best thing Microsoft has ever made (the second, of course, being http://ski.ihoc.net/" class="bbc_link" target="_blank">SkiFree. No, http://en.wikipedia.org/wiki/Chip%27s_Challenge" class="bbc_link" target="_blank">Chip's Challenge was phoned in from Epyx and doesn't count), using the provided graphics bindings (DirectX, XNA and friends) will kick you in the nuts if your plans are multiplatform. http://cs-sdl.sourceforge.net/" class="bbc_link" target="_blank">SDL.net might be worth a look, as that can (hopefully) run on Windows .NET and OSX/Linux Mono.
#11
For the love of all that is holy, don't use my engine as an example. Most of it was made up as I went along, and while I was learning the ropes. Ergo. it's pretty damn awful and fulla bugs http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" />

To top it all off, pygame now finally supports bitmap masking, and the pyxml library has been officially killed off. So if I was going to revisit it I'd probably start from the ground up.

That said, the big lesson I have learned from this is to plan your engine out on paper first. As in, actual dead-tree paper; if you type stuff in, chances are you're going to use it as actual code even if it's terrible. If you draft the class and method structure out first (you don't have to write the codey bits, but have some idea how to do it with your choice of backend), then you won't get bitten and have to resort to nastyhacks to make everything work.

All that aside, I'm interested to know what sort of art direction you intend on taking with this project. One of the great things about the paletted pixel graphics was that it allowed you to suspend your disbelief about any joins between pieces; each environment looks seamless and hand-made without trying. By contrast, the PSP style of prerendered 3D objects is... well, good if you're the one prerendering the objects. If not, you have to settle for levels which look like someone going nuts with the stamp tool in Photoshop.

My favourite compromise would be something like the Mac version; low-colour, upscaled, and in the spirit of the original. Though something hand-drawn and Braid-esque might work really nicely...

(for reference: http://www.mobygames.com/game/dos/lemmings/screenshots/gameShotId,3430/" class="bbc_link" target="_blank">DOS, http://www.mobygames.com/game/macintosh/lemmings/screenshots/gameShotId,168346/" class="bbc_link" target="_blank">Mac Hi-Res, http://www.mobygames.com/game/psp/lemmings_/screenshots/gameShotId,178554/" class="bbc_link" target="_blank">PSP)
#12
Nice http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" /> hopefully this should mitigate all of the uncertainty surrounding the old forum.

Mr. K, please keep at your efforts to get a SQL dump of the old forum. Some of the stuff on there (such as file format information, dialogue from Mike Dailly, etc) is far too valuable to lose. Failing that, let us know in advance if you plan to kill the old one off permanently so we can run a quick-n-dirty HTML page-save effort. We're counting on you  http://www.lemmingsforums.com/Smileys/lemmings/cool.gif" alt="8)" title="Cool" class="smiley" />
#13
Lemmings Main / Re: Lemmings DS is finished
November 12, 2007, 01:04:48 PM
My M3 Simply arrived in the post today, and this was the first thing I tried.

I applaud you sir. You have done what Nintendo and SCEE could not, even with twenty years of negotiations, four tons of cheap promotional materials and several million pounds of drinks money. And even then they probably would've ballsed it up.

This is probably the most polished Lemmings clone ever. The only irritating bit was the normal framerate was a bit slow, however that's easily fixable by a little bit of hacking. Aside from that and the lack of a visible cursor (however there are several cursor modes to accomodate your favourite DS tapping style) it's brilliant.

Everyone else, do the following:

  • If you don't have a NDS Lite, buy one. (if you live outside the United States of Americaland, take advantage of their sinking economy and import one on the cheap from Hidden Pirate Island. while you're at it, grab New Super Mario and a 2gb microSD card)
  • Buy an M3 Simply. Unfortunately Hidden Pirate Island doesn't stock these, so you'll have to look around your corner of the swamp for a local vendor. (mine was http://bamboogaming.com ) Don't pay more than $50 AUD for one.
  • Download the latest M3 Simply loader, extract it to the root directory of your microSD card.
  • Copy the lemmingsds.nds and lemmingsds_config.txt files to the root directory of your microSD card. Keep the rest of the directories in a folder called LemmingsDS.
  • Shove your 2gb microSD (gently!) into the M3 Simply.
  • Shove the M3 simply into your Nintendo DS (making sure to remove any inserted game cartridge first).
  • Play LemmingsDS.

Again, well done Matt. This is fantastic.
#14
Lemmings Main / Re: Lemmings DS for Windows
November 10, 2007, 02:09:32 AM
Gimme a week to finish exams/figure out the explosion-timing bug and v0.8 will be out. Promise.

(maybe I should start using subversion instead of thinking about it really hard)
#15
Lemmings Main / Re: Lemmings DS for Windows
November 07, 2007, 03:11:27 AM
The official Lemmings for Windows 95 is a bit of a dog. However people have made their own engines that use the original Lemmings/Oh No levelset (Lemmini, Lemmix Player, even my own shameful effort which has since had a lot of bugfixes but no new package built due to inertia).

I'm looking forward to giving Lemmings DS a go. It's been 9 days and my M3 Simply is still in the post :(