POV-Ray : Newsgroups : povray.animations : Double Dragon 2 "remake" Server Time
28 Oct 2026 15:54:21 EDT (-0400)
  Double Dragon 2 "remake" (Message 1 to 3 of 3)  
From: Max
Subject: Double Dragon 2 "remake"
Date: 17 Oct 2026 08:55:00
Message: <web.6ad36ed2591f04495e4884e965127801@news.povray.org>
Here some work in progress. Some time ago I tried to recreate this old NES game
with POV.

Level 1 video link : https://youtu.be/WglTgmslauM
Level 2 video link : https://youtu.be/fp2qGzdHqXY
Level 8 video link : https://youtu.be/-WB11pt9XfM

Enjoy :p


Post a reply to this message

From: Josh English
Subject: Re: Double Dragon 2 "remake"
Date: 26 Oct 2026 14:40:51
Message: <6adf9eb3$1@news.povray.org>
On 10/17/2026 5:50 AM, Max wrote:
> Here some work in progress. Some time ago I tried to recreate this old NES game
> with POV.
> 
> Level 1 video link : https://youtu.be/WglTgmslauM
> Level 2 video link : https://youtu.be/fp2qGzdHqXY
> Level 8 video link : https://youtu.be/-WB11pt9XfM
> 
> Enjoy :p
> 
> 
> 
Wow. How did you put that script together to create these animations? 
I'm assuming you found old sprites or did you have to recreate those for 
this project?

Josh


Post a reply to this message

From: Max
Subject: Re: Double Dragon 2 "remake"
Date: 26 Oct 2026 22:30:00
Message: <web.6ae00bcbcba89b573ab56b8365127801@news.povray.org>
First of all, I found all the sprite assets and the level layout. I had to
recreate all the textures from the level layout. I played the level on an
emulator and rec it as a video. And finally turn this video to pngs.

The tidious work was to receate the level with basic Povray primitives.

The animation of every sprite is sync to the png counterpart.

Billy walk animation is made of 4 different frames over 16 frames long :

#declare billy_marche= polygon {4,    <0, 0>, <0, 1>, <1,1>, <1, 0>
       #if(mod(frame_number,16)<4)
       texture{
         pigment{image_map{ png "billy/marche1.png"
                               map_type 0
                               once
                              } // end of image_map
                } //end of pigment
              }//end of texture
       #end
       #if((mod(frame_number,16)>3)&(mod(frame_number,16)<8))
       texture{
         pigment{   image_map{ png "billy/marche2.png"
                               map_type 0
                               once //
                              } // end of image_map
                } //end of pigment
                 }//end of texture
       #end

       #if((mod(frame_number,16)>7)&(mod(frame_number,16)<12))
       texture{
         pigment{   image_map{ png "billy/marche3.png"
                               map_type 0
                               once //
                              } // end of image_map
                } //end of pigment
                 }//end of texture
        #end

          #if(mod(frame_number,16)>11)
       texture{
         pigment{   image_map{ png "billy/marche2.png"
                               map_type 0
                               once //
                              } // end of image_map
                } //end of pigment
                 }//end of texture
        #end

     finish {ambient 0.6}
     scale<21,40,1>


          }    //end of polygon

I had to sync the position of all sprites and the camera on a per frame basis
with the pngs. I also had to correct the script on a per frame basis to assure
the correct frame of animation on the right pov frame....

Max


Post a reply to this message


Attachments:
Download 'lvl1.zip' (275 KB)

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.