Amiga.org

Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: nicholas on April 19, 2013, 02:42:12 PM

Title: Angry Birds 68k
Post by: nicholas on April 19, 2013, 02:42:12 PM
A clever chap has cloned Angry Birds on the Sega Megadrive! :)

[YouTube]d2_pUkjeHGQ[/YouTube]

Download the ROM here: http://www.mediafire.com/?eai2slzg65j6lk2 (http://narod.ru/disk/53963288001.a9f3d696d0e64d970bcc7d2e8e1d26a4/AngryBridsdemo.rar.html)
Title: Re: Angry Birds 68k
Post by: Hattig on April 19, 2013, 03:47:35 PM
Not a bad attempt, and shows how basic the gameplay is.

They should allow more flexibility when firing the bird - it seems to be character based which is a bit lame, and the collision detection seems a bit iffy.

Should be doable on the Amiga no problem, as the physics has been reduced to having falling blocks only.
Title: Re: Angry Birds 68k
Post by: Matt_H on April 19, 2013, 04:25:12 PM
The graphics and sound are cute, but the physics are in dire need of work. I'd expect this from an 8-bit machine, but a 16-bit one - especially the MegaDrive, let alone the Amiga - is capable of so much more.
Title: Re: Angry Birds 68k
Post by: ferrellsl on April 19, 2013, 04:31:39 PM
Quote from: Matt_H;732371
The graphics and sound are cute, but the physics are in dire need of work. I'd expect this from an 8-bit machine, but a 16-bit one - especially the MegaDrive, let alone the Amiga - is capable of so much more.



Oh come on now, give the guy some credit.  It's a miracle that anyone is even developing software for the MegaDrive these days.  I think it's an amazing feat in light of the fact the this system is so old that you can't even find the tools and documentation on how to program it anymore.
Title: Re: Angry Birds 68k
Post by: tone007 on April 19, 2013, 04:57:23 PM
Not bad, I'm still sticking to my high school favorite, though.

(http://media.tumblr.com/tumblr_lps4ywYGqS1qlxdqt.jpg)
Title: Re: Angry Birds 68k
Post by: AmigaClassicRule on April 19, 2013, 05:20:26 PM
Quote from: tone007;732373
Not bad, I'm still sticking to my high school favorite, though.

(http://media.tumblr.com/tumblr_lps4ywYGqS1qlxdqt.jpg)

How hard to port this game into the Amiga?
Title: Re: Angry Birds 68k
Post by: LoadWB on April 19, 2013, 05:46:36 PM
Can't read Russian and I apparently can't intuitively follow the prompts.  Any help?
Title: Re: Angry Birds 68k
Post by: gaula92 on April 19, 2013, 06:14:25 PM
Quote from: tone007;732373
Not bad, I'm still sticking to my high school favorite, though.

(http://media.tumblr.com/tumblr_lps4ywYGqS1qlxdqt.jpg)


Hahaha! I remember this one: gorilla.bas, or simply "el gorilabás", as we called it here in spain. That game was on every PC on my school, and that was what mots people thought computer games where. Good thing I had the Amiga at home :D
Title: Re: Angry Birds 68k
Post by: nicholas on April 19, 2013, 06:28:33 PM
Quote from: LoadWB;732375
Can't read Russian and I apparently can't intuitively follow the prompts.  Any help?

I've updated the OP with a better link. :)

http://www.mediafire.com/?eai2slzg65j6lk2
Title: Re: Angry Birds 68k
Post by: nicholas on April 19, 2013, 06:31:23 PM
Quote from: ferrellsl;732372
Oh come on now, give the guy some credit.  It's a miracle that anyone is even developing software for the MegaDrive these days.  I think it's an amazing feat in light of the fact the this system is so old that you can't even find the tools and documentation on how to program it anymore.

There's quite an active homebrew scene for the Megadrive/Genesis, but yeah the docs and tools available aren't anything compared to other retro machines.

This is a good resource: http://gendev.spritesmind.net/page-doc.html
Title: Re: Angry Birds 68k
Post by: amiman99 on April 19, 2013, 06:38:02 PM
Quote from: LoadWB;732375
Can't read Russian and I apparently can't intuitively follow the prompts.  Any help?
I used google translate, works like a charm.

I tried the game on my GP2X, the game works, but sound is scrambled.
Nice work!
Title: Re: Angry Birds 68k
Post by: Matt_H on April 19, 2013, 06:50:15 PM
Quote from: ferrellsl;732372
Oh come on now, give the guy some credit.  It's a miracle that anyone is even developing software for the MegaDrive these days.  I think it's an amazing feat in light of the fact the this system is so old that you can't even find the tools and documentation on how to program it anymore.


Don't get me wrong, I give the guy plenty of credit. He's put together a great-looking little early demo. He just needs to refine the mathematics behind the scenes to get the playability to the level that the hardware is capable of.
Title: Re: Angry Birds 68k
Post by: Oldsmobile_Mike on April 19, 2013, 07:05:32 PM
Personally I think it's pretty awesome.  Although I still hate that game, LOL.  ;)

My favorite game of that type was always "Scorched Tanks".  I remember playing that once with a friend right through a hurricane, we were in the basement and I had a battery backup on my Amiga, didn't even notice the power had gone out till my mom called down the stairs for me.  Ah, good old days!  ;)
Title: Re: Angry Birds 68k
Post by: NovaCoder on April 19, 2013, 09:43:54 PM
The whole point of Angry birds is it's physics, without it you are left with something like this.

Good effort on the MD but the machine obviously doesn't have the power for an accurate port of this game.
Title: Re: Angry Birds 68k
Post by: LoadWB on April 20, 2013, 01:49:21 AM
Quote from: NovaCoder;732389
Good effort on the MD but the machine obviously doesn't have the power for an accurate port of this game.


Ehhhh, I don't know about that.  I've seen some pretty impressive physics engines on these older machines.  The Genesis (MegaDrive) also has a secondary processor (the Z80) which is normally used for sound processing, but can easily be used to help give the 68000 a little extra elbow room for processing, if needed.

@nicholas: thanks for the link.  Google translator wouldn't allow the captcha to render for me, for some reason.
Title: Re: Angry Birds 68k
Post by: Iggy on April 20, 2013, 02:27:29 AM
I keep a Genesis and a 32X adapter around because I still like the platform.
Probably the last relatively simple piece of gaming hardware.
Title: Re: Angry Birds 68k
Post by: Iggy on April 20, 2013, 03:24:44 AM
I'd love to see an Amiga version of this, particularly if the source code was available.
NG versions could be created with the necessary horsepower to properly render the physics.
Title: Re: Angry Birds 68k
Post by: Thorham on April 20, 2013, 03:50:22 AM
Quote from: Iggy;732403
NG versions could be created with the necessary horsepower to properly render the physics.

I wonder if this is really all that heavy :confused:
Title: Re: Angry Birds 68k
Post by: klx300r on April 20, 2013, 04:13:04 AM
Quote from: Oldsmobile_Mike;732383

My favorite game of that type was always "Scorched Tanks".  I remember playing that once with a friend right through a hurricane, we were in the basement and I had a battery backup on my Amiga, didn't even notice the power had gone out till my mom called down the stairs for me.  Ah, good old days!  ;)

battery back up:confused: you younguns had it good:razz:
Title: Re: Angry Birds 68k
Post by: mihcael on April 20, 2013, 09:17:00 AM
Quote from: Thorham;732404
I wonder if this is really all that heavy :confused:


i wonder the same, Novacoders comment questioning the physics requirements surprised me.

Moving graphics has to be more demanding then predicting where to move them. I think the MD version is limited only by the coders ability (no offence) or time applied.
Title: Re: Angry Birds 68k
Post by: itix on April 20, 2013, 09:42:15 AM
Quote from: Matt_H;732371
The graphics and sound are cute, but the physics are in dire need of work. I'd expect this from an 8-bit machine, but a 16-bit one - especially the MegaDrive, let alone the Amiga - is capable of so much more.


I am not so sure. It is just Motorola 68000 at 7.67 MHz.
Title: Re: Angry Birds 68k
Post by: Nitro on April 20, 2013, 12:30:34 PM
I just tried the game on my BLAZE Sega Megadrive portable.  Gameplay and sound is good, but graphics are a little scrambled, I expected that, not all roms work perfect on the console.  I'd like to try it on a Sega MegaCD or dare I say Amiga CD32.
Title: Re: Angry Birds 68k
Post by: psxphill on April 20, 2013, 01:20:30 PM
Quote from: mihcael;732411
i wonder the same, Novacoders comment questioning the physics requirements surprised me.
 
Moving graphics has to be more demanding then predicting where to move them. I think the MD version is limited only by the coders ability (no offence) or time applied.

Mega drive is tile based & all the rotated graphics would have to be pre-rendered. So moving them is not a problem at all.
 
Realistic physics calculations are very complicated. You might have a disorganised structure that is barely able to support itself and then something light falls onto it and it will collapse. When objects touch you have to calculate the amount of force and the direction of it, but there may or may not be an opposing force that stops it from moving. Imagine you have a tall object and then a short object, if something is moving horizontally and hits the top of the tall object then the tall object will start spinning as the bottom can't move & it will also alter the trajectory of the horizontally moving object.
 
I believe he could fake something better than what is there now, I don't expect to get anything like the original.
Title: Re: Angry Birds 68k
Post by: LoadWB on April 20, 2013, 04:58:31 PM
Quote from: itix;732413
I am not so sure. It is just Motorola 68000 at 7.67 MHz.

How powerful is my Sony Ericsson K790 or C905 compared to the Amiga?  I have a misappropriated Nokia version of Angry Birds running on them.

Anyway, I'm going to take a stab at this and probably be thoroughly decimated in the process.

Each object has its own physics, relationships to other objects and the ground.  As such, each object would have to know various things about itself, including (but not limited to) orientation, center of gravity, velocity, damage, and proximity to other objects around it, and make movement calculations accordingly.  It would need to know when it touches other objects and tell them they've been touched (or untouched, for that matter) and with what velocity.  Objects would also have to be able to render themselves.  This works both ways when two or more touching objects are in motion as they'll be some good discussion between them on which way they're all going.  Objects sitting on other objects, but otherwise stationary, would need to know they don't need to tell other objects they've been touched, just that they are touched and have added a certain amount of potential to them, on down the line.

It's a bit more complicated than that, of course.  From my perspective, I would approach this by making each object its own "task," each communicating with the other only when necessary to discuss their touched, untouched, or confirm touching disposition.  I would suspect a good mutli-tasking engine should handle this quite well, though I would expect certain slow downs (for instance, even though they are fairly simple and don't know about each other, 92 lost rings in Sonic the Hedgehog would bring the game to a near stop.)

That sound even close?  Anyway, it's been an idea I've toyed around with for a while for an 8-bit system but have not had the time to start anything more than pseudo-code.
Title: Re: Angry Birds 68k
Post by: bbond007 on April 20, 2013, 05:43:28 PM
Quote from: NovaCoder;732389
The whole point of Angry birds is it's physics, without it you are left with something like this.

Good effort on the MD but the machine obviously doesn't have the power for an accurate port of this game.


The engine this is using is something similar to a block-out or Tetris engine where as Angry Birds uses box2D.

I would think that box2D or chipmunk would be too extensive for the 68000 but could be doable on an 060...
Title: Re: Angry Birds 68k
Post by: Matt_H on April 20, 2013, 05:45:04 PM
Quote from: itix;732413
I am not so sure. It is just Motorola 68000 at 7.67 MHz.


The physics of the Mega Drive Sonic games show what the hardware is capable of.

And I'll use the Amiga classic Megaball as another example. The angle at which the ball launches is calculated based on where it impacts the paddle. Add some velocity and weight calculations checked against, say, a resistance value for the blocks and I think the physics of Mega Drive Angry Birds would be much improved. Perfect match to the "real" version? Of course not, but I don't think it's fair to say that no improvement is possible over what we see in this alpha demo.
Title: Re: Angry Birds 68k
Post by: espskog on April 20, 2013, 07:38:00 PM
Quote from: gaula92;732376
Hahaha! I remember this one: gorilla.bas, or simply "el gorilabás", as we called it here in spain. That game was on every PC on my school, and that was what mots people thought computer games where. Good thing I had the Amiga at home :D


Yep - this is a QuickBasic program which came with DOS afaik and should be ultra easy to port to amig basic aswell :)
Title: Re: Angry Birds 68k
Post by: warpdesign on April 20, 2013, 09:14:48 PM
Quote

How powerful is my Sony Ericsson K790 or C905 compared to the Amiga?

How does it compare ?
Well, this phone comes with a full 8Mo 3D chip from ATI, has 64 Mb memory and an unknown ARM processor which probably runs way faster than any 68k...

Any crap phone released today is probably a lot faster than any 68k Amiga...
Title: Re: Angry Birds 68k
Post by: LoadWB on April 20, 2013, 11:19:33 PM
Quote from: warpdesign;732449
How does it compare ?
Well, this phone comes with a full 8Mo 3D chip from ATI, has 64 Mb memory and an unknown ARM processor which probably runs way faster than any 68k...

Any crap phone released today is probably a lot faster than any 68k Amiga...

I'll give you the last point, but the K790 was released in 2005.  The 3D processor would be largely irrelevant as it's hardly ever used, and the ARM processor is largely irrelevant given the nature of Java Platform.  I believe it's a 137MHz ARM running a Java byte-code interpreter.
Title: Re: Angry Birds 68k
Post by: psxphill on April 21, 2013, 05:09:16 AM
Quote from: Matt_H;732440
The physics of the Mega Drive Sonic games show what the hardware is capable of.

Where is the physics in the Sonic games?
Title: Re: Angry Birds 68k
Post by: itix on April 21, 2013, 02:17:05 PM
Quote from: LoadWB;732457
I'll give you the last point, but the K790 was released in 2005.  The 3D processor would be largely irrelevant as it's hardly ever used, and the ARM processor is largely irrelevant given the nature of Java Platform.  I believe it's a 137MHz ARM running a Java byte-code interpreter.


It is roughly 20 years newer design than MC68000. 68000 cant do floating point calculations in hardware and even simple integer add/sub operations take several cycles to complete.
Title: Re: Angry Birds 68k
Post by: Karlos on April 21, 2013, 02:47:13 PM
While Angry Birds is a simple game, the rigid body physics used aren't that easy to implement for a slow processor. You are essentially dealing with a set of rectangular 2D shapes that can be rotated through any angle and require reasonably precise collision detection. Each frame, you need to calculate the forces acting on each part, move them all accordingly by some small time delta and recompute their new positions. Any colliding bodies need to be then solved, which will result in a change in the forces acting on each of the bodies involved. Obviously, there are damping effects to apply which mean you can stop calculating the position of any body that has reached a reasonably steady state (until it is hit again), but it's all rather non-trivial. A lot of 2D vector arithmetic and normalization.

And all that comes before you have to render the frame, which would at least require a lot of rotated versions of sprites if you weren't going for a straight 2D texture mapper.
Title: Re: Angry Birds 68k
Post by: psxphill on April 21, 2013, 04:38:40 PM
Quote from: Karlos;732491
You are essentially dealing with a set of rectangular 2D shapes that can be rotated through any angle and require reasonably precise collision detection.

The rotated graphics would need to be pre-rendered because the genesis can't do rendered graphics without extra hardware (like SVP/32x). Because the shapes are fixed then some of the data for the collision detection can also be pre-calculated.
 
But I still think the 68000 would struggle with having objects balanced on other objects.
Title: Re: Angry Birds 68k
Post by: utri007 on April 21, 2013, 05:49:24 PM
Angry birds is complex game, it is impossible to make 2 identical hits. Buildings collapse always different way.