Millenipede

Community Forums/Showcase/Millenipede

Zolyx(Posted 2008) [#1]
Hi folks. After a long break from the last major version, I've released an update to Millenipede, a remake inspired by Atari's Centipede.



Description:
Your aim is to zap all of the millenipedes on each wave while dodging spiders, snails and of course the millenipedes themselves. They’ll make their way down the screen until eventually they hit the bottom, at which point they will roam around the player area until you shoot them. Don’t tarry too long or the warden will make your life really difficult…

This new version features lots of modern stuff such as online highscores, powerups, statistics tracking and generally refined visuals and gameplay. Of course there were also some bugs fixed too :)

Homepage:
http://www.zolyx.co.uk/millenipede/

Downloads:
Windows: http://www.zolyx.co.uk/files/millenipede-120-win.zip
MacOS: http://www.zolyx.co.uk/files/millenipede-120-mac.dmg

Screenshots






Happy blasting!


Sauer(Posted 2008) [#2]
Looks cool, I don't have a windows machine anymore (at least connected to the internet) but I wish I could try it!

Perhaps I'll put it on a USB drive to try... Like the retro styling.


Jesse(Posted 2008) [#3]
I like it. nice remake.


big10p(Posted 2008) [#4]
Cool retro game, there.


unlikely(Posted 2008) [#5]
Great game!

The screenshots don't do the gameplay justice. Try it.


Doggie(Posted 2008) [#6]
Hey thanks. Lots of fun and well made.


Nate the Great(Posted 2008) [#7]
wow thats fun!


taumel(Posted 2008) [#8]
Sadly the MacOS version doesn't run on PPC but the screens look nice.


Grey Alien(Posted 2008) [#9]
This is really well presented, good one, and thanks for the mention in the credits.

Did you choose to display all sprites at Integer coords on purpose to avoid anti-aliasing to preserve the retro feel? If not then maybe consider using floating point coords for you next games so things will appear to move smoothly. For example on the credits screen as the text rises up it jiggles up and down due to the use of integer coords and timing which does not match the display Hz, floats would resolve this. This may also be why some of the centipedes seemed to move then jerk then move then jerk unless your timing code needs a little look at?

Anyway, integer niggles aside, great game - I look forward to seeing more!

Oh and I have that chip tune from the enter your name screen, it's great :-)


Zolyx(Posted 2008) [#10]
Thanks for the comments all!

Sorry taumel, yes, I forgot to mention that the 1.1.0 Mac package is Intel-only.

I hope that this will change at some point in the not-too-distant future - a friend is working to create an updated Mac package right now, but I can't promise whether it'll still be Intel or universal binaries.

EDIT: Must've been posting at the same time Grey :) Game-wise, yes it was a deliberate choice to keep things on integer coords. All the test machines I have access to use 60Hz LCD monitors, so I can't visualise exactly what you mean by the move-jerk-move phenomenon of the 'pedes... for 1.2.1 I'll take a look at smoothing some of this stuff out :)


Grey Alien(Posted 2008) [#11]
Cool. I know it's not my PC because I can make stuff move smoothly, so it may be worth looking into. It's not a big deal but it may add that extra pro look.


Xerra(Posted 2008) [#12]
Have to say I love this retro game. Good job, Prospero.


Taron(Posted 2008) [#13]
Dude... I'm playing this for a few hours now, I think!
Screw friggin' UT or Halo, LOL! This rocks! 8)

Love most of the music, toO! Excellent job altogether!!!


unlikely(Posted 2008) [#14]
The "radar" powerup gets my vote for "The Most Useful Powerup" award, but "missile volley" definitely gets the "Coolest Powerup" award. :)

I love the 8 bit-ish explosion effects.


Zolyx(Posted 2008) [#15]
The Intel Mac version of Millenipede 1.2.0 is now available :)

Unfortunately there won't be a PowerPC version in the immediate future :( If anyone fancies volunteering for the job, let me know!


Uncle(Posted 2008) [#16]
Very nice game :) Really nice style.


meemoe_uk(Posted 2008) [#17]
There is a bug which can be exploited to get high scores. The game slows down when the user's computer's CPU is overworked.
Have millenipede running is several windows until it's slowed down enough. Then it's easy to get 80000+ points, this is what gumowy kurczak did, before you deleted his world high score.
Another side of it is different computers run the game at different speeds.
Have you fixed this yet?


Zolyx(Posted 2008) [#18]
This is the first time the problem has been reported, so no, it is not fixed yet :) Thanks for reporting this!

I will at least investigate the "multiple instances" bug as a priority when 2009 rolls around. If someone can point me in the direction of a thread discussing a BMax way to prevent an app running more than once, I would be very grateful. I've just done some searches here but couldn't find anything.

Yes, it is possible for the game to slow down below the usual 60Hz refresh rate, and certainly I know of one significant optimisation that could reduce the CPU power Millenipede requires. I'll look into that as well.

As an ultimate fix, though, it's unlikely that I'll add delta timing any time soon, as I have other projects I want to work on.

Season's greetings! :)


Nate the Great(Posted 2008) [#19]
I had to open it 20 times before seeing significant slowdown...


xlsior(Posted 2008) [#20]
If someone can point me in the direction of a thread discussing a BMax way to prevent an app running more than once, I would be very grateful.


The easiest way: Have your program check the list of running processes upon startup. If it finds more than one copy of itself, exit.
(The other one that was already running will continue to run, and you'll still have that single instance)

Here's a piece of code that should help under Windows (Created by Fredborg)



One of the 'demo' functions in this program is to tell you how many instances of svchost.exe are currently running in windows. Just replace that name with the name of your own .exe , and if the result is more than one when you check, exit your program.
(Of course for this to work you would need to make sure that your executable name is somewhat unique, and that there wouldn't reasonably be another program with the same name running on a system. Don't call it explorer.exe for example, or your program would always find Windows explorer already runnig and exit itself)


jsp(Posted 2008) [#21]
Or may a mutex helps. Compile and run twice...
It is independent of a certain "Name.exe" as people than may start to rename it?




xlsior(Posted 2008) [#22]
A mutex would indeed be more fool-proof.


Zolyx(Posted 2008) [#23]
Thanks to you both, that's a big help :)


meemoe_uk(Posted 2008) [#24]
Erm, the problem occurs when the CPU is working hard. Having several millenipede exe running at the same time is just one of many ways to achieve slow down. Mutex won't solve the prob!
The correct way is to use the Bmax equivalent of the createtimer, wait timer pattern. Then instead of slowing down, the game will skip frames.

@Nat the Great
That's just a veiled way of boasting of your fast CPU. ;)


Zolyx(Posted 2008) [#25]
I know, meemoe, but preventing multiple instances is something that's needed anyway :)

At present Millenipede already uses a WaitTimer() on a 60Hz interval to draw each frame - fixed rate logic, if you like. There is currently no tweening / delta timing in the game which would solve the problem completely. This may or may not be easy to add, but since it isn't something I've done before, I'm a little wary of trying to learn the concept by plugging it into an existing (and fairly hackish) set of code ;)