Release VVVVVV for Pandora


Alpha on ARM - ouch. :rolleyes:


I really see no reason for 32 bit on a 8 bit game. This game could use simple 8 bit transparency with no loss in graphic quality. I didn't spot any heavy effects, teleport maybe but still no reason for 32 bit alpha. I guess this was just because today nobody has to care about performance on PC.


I know that VVVVVV will be released for the 3DS, I bet they also don't use the full 32Bit graphics for some alpha blendings.


Well, whatever. I finished the Game today and I must say it is insane hard if you play it till te end without godmode. I couldn't manage this, no way. Hardcore Gamers will be pleased. :D


EDIT: I knew someone would make a C64 version! Take this, 32 Bit! ^^


http://noname.c64.or...7&topicid=77655
 
Last edited by a moderator:
I really see no reason for 32 bit on a 8 bit game. This game could use simple 8 bit transparency with no loss in graphic quality. I didn't spot any heavy effects, teleport maybe but still no reason for 32 bit alpha.

I hate this simplification... even though it's in the style of games that ran on 8-bit machines, it's not and "8-bit game". "8-bit" refers to a machine's word size and frankly, it has little to do with the games themselves. What it does have to do with is larger word sizes mean larger amounts of RAM is theoretically possible. Of course, this means historically that 64-bit processors weren't particularly useful for game consoles when Nintendo released its oh-so-mighty "Nintendo 64".


In truth, running actual 8-bit programs on a 32-bit processor would be impossible without a compatibility layer (like WOW), and AFAIK, none exists for 8-bit programs. The Pandora has a 32-bit processor, and so do most x86 processors in existence today. AMD64 processors are 64-bit. All of the binaries for this game are therefore either 32-bit or 64-bit (I don't know that the latter exists, but I'm sure the former must exist).


But when talking about graphics, though, "24-bit", "32-bit", etc refers to color depth in bits per pixel (BPP). Basically, larger color depth means a larger range of colors is possible. Per-pixel alpha transparency is, at least for PNG, only available for 24-bit and 32-bit, AFAIK. I'm not even sure what you mean by "8-bit transparency". NES games actually didn't have any sort of partial transparency option, so they commonly had to use a flickering technique to make things look partially transparent (if you've ever watched a video of Super Mario Bros being played, you probably have noticed that Mario sometimes disappears after he's hit; that's why. The recording isn't able to keep up with the frame rate of the NES).


OK, this is rambly, but what I'm basically trying to say is, just because you think something looks like it's "8-bit" or whatever doesn't mean it is.
 
Last edited by a moderator:
Been reading more of the code, the game uses alpha which only works with 32 bpp. Even thought the actual colors are low the alpha is being used to do fade effects.
NEON is good at stuff like that, if you want I could code some routines.
 
I really see no reason for 32 bit on a 8 bit game. This game could use simple 8 bit transparency with no loss in graphic quality. I didn't spot any heavy effects, teleport maybe but still no reason for 32 bit alpha.

I hate this simplification... even though it's in the style of games that ran on 8-bit machines, it's not and "8-bit game". "8-bit" refers to a machine's word size and frankly, it has little to do with the games themselves. What it does have to do with is larger word sizes mean larger amounts of RAM is theoretically possible. Of course, this means historically that 64-bit processors weren't particularly useful for game consoles when Nintendo released its oh-so-mighty "Nintendo 64".


In truth, running actual 8-bit programs on a 32-bit processor would be impossible without a compatibility layer (like WOW), and AFAIK, none exists for 8-bit programs. The Pandora has a 32-bit processor, and so do most x86 processors in existence today. AMD64 processors are 64-bit. All of the binaries for this game are therefore either 32-bit or 64-bit (I don't know that the latter exists, but I'm sure the former must exist).


But when talking about graphics, though, "24-bit", "32-bit", etc refers to color depth in bits per pixel (BPP). Basically, larger color depth means a larger range of colors is possible. Per-pixel alpha transparency is, at least for PNG, only available for 24-bit and 32-bit, AFAIK. I'm not even sure what you mean by "8-bit transparency". NES games actually didn't have any sort of partial transparency option, so they commonly had to use a flickering technique to make things look partially transparent (if you've ever watched a video of Super Mario Bros being played, you probably have noticed that Mario sometimes disappears after he's hit; that's why. The recording isn't able to keep up with the frame rate of the NES).


OK, this is rambly, but what I'm basically trying to say is, just because you think something looks like it's "8-bit" or whatever doesn't mean it is.

Don't tell me, I know this all. :lol: Did graphics half of my life. :rolleyes:


I just was to lazy to write "8-Bit-STYLE" Game (graphics and appearence). Of course I just mean the presentation of this game and as you can see on the Link, it is possible to make such a game for the C64. Which means you don't need heavy ressources or anything or even a 32 Bit machine.


With "8 Bit transparency" I just mean simple "Full" transparency of an image, like you can do with GIF. This is more than enough for VVVVVV. 32 Bit transparency has fine "gradients" between oppacy and full transparency, not possible in 8 Bit Graphics. In the past they often used Colour Keying for Transparency so the Images don't need an alpha value at all. ^^


And the point is exactly the one you mentioned: Why wasting enourmous Ressources on a modern game to make it look "old school", when you could really make it "old school" and save ressources? I'm sure you could code a PONG Game that needs a 3GHZ Core 2 Quad CPU to run but this wouldn't make any sense, right? ;)
 
Last edited by a moderator:
Been reading more of the code, the game uses alpha which only works with 32 bpp. Even thought the actual colors are low the alpha is being used to do fade effects.
NEON is good at stuff like that, if you want I could code some routines.

Im not opposed to it. One other option is run the game at 320x240 and use the hw scaler SDL you put together. I still havnt had any time yet to benchmark where the pandora with speed.


I finished converting the opengl code, but i still need to fix some things for the egl parts. This might give some speed of course it might not.
 
This is great news, this is one of my favourite games of the past few years. Good luck dude!
 
And the point is exactly the one you mentioned: Why wasting enourmous Ressources on a modern game to make it look "old school", when you could really make it "old school" and save ressources? I'm sure you could code a PONG Game that needs a 3GHZ Core 2 Quad CPU to run but this wouldn't make any sense, right? ;)

Well, it allows the game to actually run on modern machines without emulation. The game could very well have been made for the C64, but then it would have been required to use a C64 emulator. And in actuality, that could only slow the game down. Besides that, it would take a lot more time to develop.


As an aside, I don't even like the term "8-bit style". If you think about it, it doesn't make sense; the Atari 2600 used an 8-bit processor and so did the Sega Master System, but it's kind of a stretch to say they have the same "style" of graphics. There's also color depth, but hey, if you've ever seen Lode Runner: The Legend Returns, which only uses 8-bit (256-color) graphics, you know that even then it's crazy to claim a distinctive style.


I've never played VVVVVV, but sometimes partial transparency and other graphical enhancements can be used to a very subtle effect; in these cases, it can look incredibly ugly if you take it out.
 
Last edited by a moderator:
I've never played VVVVVV, but sometimes partial transparency and other graphical enhancements can be used to a very subtle effect; in these cases, it can look incredibly ugly if you take it out.

Yes this a point I was trying to make earlier. Even though the colors are pretty limited to appear c64'ishm there are places where alpha is beginning used for effects. The easiest to observe is the title. The title will slightly fade in and out.


Also I think my comment about the 32 bpp was overreacted when you guys read it. The game is playable with my first tests, it *felt* slower then the pc.


First I need to put in some debug to measure fps/loop time to know if the game is fact running fast or slow. I just mentioned the use of 32 bpp because I know in other projects it can slow things down. The game is supposed to run at a limit of 30 fps, I have no idea how far or close its running from this.


I also havnt seen if the opengl code helps any. I havnt changed the cpu clock speed at all. Could run it at 320x240 with the hw scalar, could modify the code to work at 16 bpp with no alpha effects.


Ive only had 2 nights to work and look at this, so lets not be too critical on how the game was coded/designed.
 
cool I hope you get it working, but please dont reduce the resolution where possible :) I love games that use EVERY pixel we got without stretching, but even if you do have to its not all that bad.
 
cool I hope you get it working, but please dont reduce the resolution where possible :) I love games that use EVERY pixel we got without stretching, but even if you do have to its not all that bad.

The games native res is 320x240, all higher res's are just pixel doubling, so with the correct FIR settings I believe the hw scaler will appear the same,
 
Must be going nuts opengl looks ok after a clean build, its works so well im putting out the first test version.


pickle.gp2x.de/vvvvvv.pnd


WIth the PC releases of vvvvvv there is a data folder. The entire folder must be copied to the appdata folder, which will be something like:


/media/mysdcard/pandora/appdata/vvvvvv


You can also just run the pnd that folder will be created, you can then find and copy the data folder.


If the data is correct you should see the c64ish loading screen.


Next you can either set the fullscreen mode to 2x 640x480 and then quit OR


quit and go to the appdata/vvvvvv/.vvvvvv/unlock.vv and open with a text editor. Change the fullscreen line to 1.


This is critical as without fullscreen set the performance is slow.


If you did it all correct the game should be nice!


Post feedback and suggestions.


(Software mode can be done by changing opengl in the unlock file to 0. Dont try in game as it is bound to lock up.)
 
Last edited by a moderator:
It's running very smoothly on my Pandora with 640x480 fullscreen at 600MHz

https://www.youtube.com/embed/imcZtj0SiwE?feature=oembed

Notes:

  • If you set fullscreen via the menu, you need to restart VVVVVV before you get the performance boost.
  • The game should probably hide the mouse cursor.
  • Pandora-specific keybinds would be nice (along with updated text when the game prompts you to press ACTION or ENTER).
  • I don't know why we need any of the fullscreen/windowed options - unless windowed performance changes, it might be better to axe that part menu entirely (disabling opengl mode causes a freeze, and enabling analog mode looks pretty but lags everything out).


Awesome port :)
 
Last edited by a moderator:
Awe damn it, and I was hoping to sleep tonight, too.


Pickle, you are a king among men, this is awesome.


I did find a bug [may contain plot spoilers]

There's a giant [2x2 sections of map] glowing elephant near the middle of the map that's cycling through colors. Lag's something fierce here, though there isn't any action, so it doesn't make the game difficult. Just noticeable lag.


Added the bug.
 
Last edited by a moderator:
I will of course take all the credit for this, for while I didn't make the original game or have anything to do with porting it, I did ask someone a question that he'd already been asked, reminding him that he'd told someone he'd give them something and leading him to doing something he'd already said he was going to do. So yes, all down to me I think. Seriously though, many thanks Pickle - all those hours I lost to this game first time around will pale into insignificance now that I can actually carry it around with me. Dangerous times ahead...
 
Notes:

  • If you set fullscreen via the menu, you need to restart VVVVVV before you get the performance boost.
  • The game should probably hide the mouse cursor.
  • Pandora-specific keybinds would be nice (along with updated text when the game prompts you to press ACTION or ENTER).
  • I don't know why we need any of the fullscreen/windowed options - unless windowed performance changes, it might be better to axe that part menu entirely (disabling opengl mode causes a freeze, and enabling analog mode looks pretty but lags everything out).

Yep I will fix up these little problems, I really wanted to get the opengl-es version out just to see how it worked for others. Looks like its pretty stable :)
 
It's running very smoothly on my Pandora with 640x480 fullscreen at 600MHz
Looks really good so far. You play it better on the Pandora than I ever did on the PC. :D

Awe damn it, and I was hoping to sleep tonight, too.


Pickle, you are a king among men, this is awesome.


I did find a bug [may contain plot spoilers]

There's a giant [2x2 sections of map] glowing elephant near the middle of the map that's cycling through colors. Lag's something fierce here, though there isn't any action, so it doesn't make the game difficult. Just noticeable lag.
Added the bug.
Wow, you already reachd this area in the game on the Pandora? Or do PC savegames work somehow?
 
I will of course take all the credit for this, for while I didn't make the original game or have anything to do with porting it, I did ask someone a question that he'd already been asked, reminding him that he'd told someone he'd give them something and leading him to doing something he'd already said he was going to do. So yes, all down to me I think. Seriously though, many thanks Pickle - all those hours I lost to this game first time around will pale into insignificance now that I can actually carry it around with me. Dangerous times ahead...
made me laugh :-D


Thanks Pickle for you hard work (again)
 
Back
Top