Jump to content


Photo

Abuse Ported To Gp2x V1.0


  • Please log in to reply
45 replies to this topic

#1 Senor Quack

Senor Quack

    I feel a great disturbance in the source

  • GP Guru
  • 1165 posts
  • Gender:Male
  • Location:USA

Posted 03 September 2008 - 07:28 PM

<b>Abuse ported to GP2X v1.0</b>

Archive link: <a href="http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,35,2677" target="_blank">http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,35,2677</a>

<img src="http://img258.imageshack.us/img258/7969/shot0074.png" border="0" alt="IPB Image" />

<a href="http://youtube.com/watch?v=ojrzuW2ZsEU" target="_blank">Youtube video</a> (not running on a GP2X, the GP2X version is identical and even has music where this doesn't:

<a href="http://en.wikipedia.org/wiki/Abuse_(video_game)" target="_blank">Wikipedia entry</a>

Abuse is a famous side-scrolling run and gun game originally released for DOS and Linux in 1996. It features beautiful pixel art, lighting effects, many weapons, and is a real challenge even on normal difficulty.

If you have an F200, just point and kill with the stylus. F100 users are also supported, as well as those using the traditional keyboard/mouse combo (through USB and the cradle).

My GP2X port features MP3 versions of the MIDI files included with the original game, remastered with a very high quality soundfont collection. This is the only modern version of Abuse that I am aware of that features the music, but I didn't make an exhaustive search or anything. This port is basically a better experience than the Abuse-SDL provided by any modern Linux distribution.

I haven't had enough time to do a run-through of the entire game, so there might be some unfound bugs. I have spent a lot of time on this port, hundreds of hours, so it is by no means quick and dirty.. I just moved recently so I am making this post and archive update from a McDonalds down the highway on a notebook I am fixing for my boss <img src="http://www.gp32x.com/board/public/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" /> .

Have fun, I might not be back for a few days if there are problems, please be patient as I have no real Internet.

Edited by Senor Quack, 13 January 2010 - 04:15 PM.


#2 sbock

sbock

    Chaos is our mode and modus

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 1372 posts
  • Gender:Male
  • Location:Germany

Posted 03 September 2008 - 08:52 PM

Beautiful! Never heard of this game, but the port looks incredibly. Downloading...

Regards,
Stephan

#3 Illuminerdi

Illuminerdi

    GP32 User

  • Members
  • PipPipPip
  • 87 posts

Posted 03 September 2008 - 09:04 PM

Awesome! Abuse is one of my favorite games of all time, so it's nice to see it on the GP2X. - This one is long overdue and I'm a little bit surprised it's taken this long to get on the GP2X since an open source SDL port has been available for a while. Thanks much, can't wait to give this a try when I get home to my GP2x!

Are you going to do a Pandora port when it comes out?

#4 Cannibal

Cannibal

    GP32 User

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Male
  • Location:Oxford, UK

Posted 03 September 2008 - 09:26 PM

This is great! Thanks for your hard work, I was just thinking I could do with a good platform game to play laugh.gif

#5 whiskthecat

whiskthecat

    whiskthecat

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 802 posts
  • Location:Texas
  • Interests:Computers

Posted 03 September 2008 - 09:31 PM

WIN. I love you senor quack. biggrin.gif

#6 chris_r

chris_r

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 660 posts

Posted 03 September 2008 - 09:48 PM

QUOTE(Senor Quack @ Sep 3 2008, 08:28 PM) View Post

I have spent a lot of time on this port, hundreds of hours

Wow that's some serious commitment! I think I'll download it just because you spent so long on it. I've never heard of this game before though. How do the controls work on the F-100? It looks like on the youtube video that you need a mouse to aim.

#7 Alex.

Alex.

    Retired

  • GP Guru
  • 4582 posts
  • Gender:Male

Posted 03 September 2008 - 10:12 PM

I never played Abuse before either, but it seems like a cool game. Thanks for taking the amazing amount of time to do such a solid port, it's a lot of fun to play even with F-100 controls smile.gif The graphics are a bit too dark, but tweaking Gmenu2x's gamma setting should take care of this.

All your ports are of incredible quality, speaking of which it's about time I got into some more Star Control smile.gif

Thanks again!

#8 Tobriand

Tobriand

    Mega GP Mania

  • X-treme Team
  • 4046 posts
  • Location:Croydon (UK)
  • Interests:Gibbering as I walk down corridors,&lt;br&gt;Trying to bend people to my will over long periods of time, and generally being completely insane...&lt;br&gt;&lt;br&gt;&lt;br&gt;Mwahahahahahaha

Posted 03 September 2008 - 10:13 PM

This is definitely one for my card. Won't get played for probably a week or so, but it'll be there for when I have the time!

Thanks so much for the effort, Senor Quack!

#9 Senor Quack

Senor Quack

    I feel a great disturbance in the source

  • GP Guru
  • 1165 posts
  • Gender:Male
  • Location:USA

Posted 03 September 2008 - 10:20 PM

OK, I've found that if I put this notebook up high in a corner of the house I can steal my neighbor's internet and not drive to McDonald's smile.gif

QUOTE(Illuminerdi @ Sep 3 2008, 05:04 PM) View Post

Awesome! Abuse is one of my favorite games of all time, so it's nice to see it on the GP2X. - This one is long overdue and I'm a little bit surprised it's taken this long to get on the GP2X since an open source SDL port has been available for a while. Thanks much, can't wait to give this a try when I get home to my GP2x!

Are you going to do a Pandora port when it comes out?


Sure, I'll probably also get a Wiz too so you'll see it on both Pandora or Wiz. Might not get either of those until the second batches come out, though. I was surpised, too, by how hard it was. More on that below.

QUOTE(chris_r @ Sep 3 2008, 05:48 PM) View Post

QUOTE(Senor Quack @ Sep 3 2008, 08:28 PM) View Post

I have spent a lot of time on this port, hundreds of hours

Wow that's some serious commitment! I think I'll download it just because you spent so long on it. I've never heard of this game before though. How do the controls work on the F-100? It looks like on the youtube video that you need a mouse to aim.


With the F100, you run left and right using the triggers, you use the Y button to jump, X to move down. The stick controls the shooting, so you can shoot in 16 directions basically. If you have a DPAD-modded F100 you're limited to 8 directions. It is a compromise, since you actually have 24 directions possible with the mouse/stylus. You can still play the game just fine, though. I fine-tuned the angles a bit to make aiming up and down ramps easier (you do a lot of that, believe me). If you want to know what all the controls are, the port will auto-detect what unit you are running and show the controls list on the main menu screen when you start it up.

As for why it took so long: The input system for Abuse is maze-like. So, I had to find a way to get mouse cursor simulation working for the GUI parts (for the F100) and also find ways to get full control over the player once they are in the game and do away with the mouse cursor completely in those parts. No matter how many times I tried, something always wasn't right. Well, I spent all my spare time for a month or two redoing it over and over and I finally got it right smile.gif

I also had to fix a structure padding problem that only surfaces on ARM architectures involving the palettes. I also had to apply all the Debian patches (they are great about keeping old games up-to-date) and somehow I forgot a few and only much later did I realize this. I also found the game ran out of memory after only 20 minutes. I had to change the size of the Lisp heaps and convert them to use a real garbage-collected heap. I also converted the sound engine to use SDL_Mixer so I could have music. I had to change quite a bit of code to get the proper songs playing. I had a heck of a time just getting anything to appear on the screen in 8-bit palettized mode (for some reason this was real finicky with HW SDL). After I got all the input code working, and moved to heavy compiler optimizations, I found that the angles for 1/4 of a full circle when shooting with the mouse were completely wrong, so shots were being fired at strange angles. Only if I used -O0 would things work. So, I had to replace the atan2 lisp function with a wrapper that calls atan2f and it was fixed smile.gif I am probably forgetting so many other little things, but that's some juicy details..

QUOTE(Alex. @ Sep 3 2008, 06:12 PM) View Post

I never played Abuse before either, but it seems like a cool game. Thanks for taking the amazing amount of time to do such a solid port, it's a lot of fun to play even with F-100 controls smile.gif The graphics are a bit too dark, but tweaking Gmenu2x's gamma setting should take care of this.

All your ports are of incredible quality, speaking of which it's about time I got into some more Star Control smile.gif

Thanks again!


Thanks! BTW the game has a gamma adjustment on the main menu (it seems to set the colors too dark if you choose what it tells you, try playing with it to achieve the best results. It is supposed to be a dark game but if you play in a lit room it is best to turn it up.



Also: before anyone spots it, you will probably find the torso of the player disappears using the lift on the first training level. It's a known bug that is caused by disabling the buggy Lisp caching and is just not worth hunting down, as it only occurs once in the game.

Edited by Senor Quack, 03 September 2008 - 10:40 PM.


#10 icurafu

icurafu

    The Hallucinogenic Elf

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 2052 posts
  • Location:Sydney, Australia

Posted 03 September 2008 - 10:31 PM

Thanks so nuch. Will dust out my F200 for this.

You should submit this code to the official abuse-sdl as it should be much more portable now.

Maybe GPH would include it on the Wiz game CD.

Hope you get your internets back soon.

#11 geo12

geo12

    Retrofuturist

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 713 posts
  • Gender:Male
  • Location:Ithaca

Posted 04 September 2008 - 12:19 AM

There have been so many threads saying "I'm porting Abuse." I'm so glad to finally see it happen! Thanks!!

#12 Illuminerdi

Illuminerdi

    GP32 User

  • Members
  • PipPipPip
  • 87 posts

Posted 04 September 2008 - 12:24 AM

As for why it took so long: The input system for Abuse is maze-like. So, I had to find a way to get mouse cursor simulation working for the GUI parts (for the F100) and also find ways to get full control over the player once they are in the game and do away with the mouse cursor completely in those parts. No matter how many times I tried, something always wasn't right. Well, I spent all my spare time for a month or two redoing it over and over and I finally got it right smile.gif

I also had to fix a structure padding problem that only surfaces on ARM architectures involving the palettes. I also had to apply all the Debian patches (they are great about keeping old games up-to-date) and somehow I forgot a few and only much later did I realize this. I also found the game ran out of memory after only 20 minutes. I had to change the size of the Lisp heaps and convert them to use a real garbage-collected heap. I also converted the sound engine to use SDL_Mixer so I could have music. I had to change quite a bit of code to get the proper songs playing. I had a heck of a time just getting anything to appear on the screen in 8-bit palettized mode (for some reason this was real finicky with HW SDL). After I got all the input code working, and moved to heavy compiler optimizations, I found that the angles for 1/4 of a full circle when shooting with the mouse were completely wrong, so shots were being fired at strange angles. Only if I used -O0 would things work. So, I had to replace the atan2 lisp function with a wrapper that calls atan2f and it was fixed smile.gif I am probably forgetting so many other little things, but that's some juicy details..

[/quote]

That's some serious work - I never imagined that it was so difficult since it had already been ported to SDL. I'm just glad someone took the time to do it, since your code changes (as someone else pointed out) should help the overall portability of the game - definitely submit them to the official code tree on sourceforge if you feel so inclined. This is one of my all time favorite games, so the more platforms it gets ported to, the better! Thanks again!


#13 whiskthecat

whiskthecat

    whiskthecat

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 802 posts
  • Location:Texas
  • Interests:Computers

Posted 04 September 2008 - 12:51 AM

Yes, I have had quite a few pc installs where the shooting in abuse would be all screwed up.

#14 imhotep

imhotep

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 641 posts

Posted 04 September 2008 - 01:05 AM

I am impressed that you took so much time considering all the different control schemes and what would be best for the respective platform. I have an F100 and it's nice to see that all 16 directions are being utilised which is rare for ANY software on the device. Having an unmodded F100 could actually be an advantage over a Dpad F100 for a change which I think is cool.

#15 Manjuu

Manjuu

    100% マンジュウ

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 718 posts

Posted 04 September 2008 - 02:07 AM

Wow! What an excellent game and port. smile.gif

It's great to see more games having (good) touchscreen support.

No centering? I guess it'll mess with the touchscreen.

Nice work, and thank you very much. biggrin.gif