Author Topic: OmniRPG - Coding  (Read 68806 times)

0 Members and 1 Guest are viewing this topic.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: OmniRPG - Coding
« Reply #255 on: September 16, 2013, 03:16:04 pm »
I thought programming wise, there was no difference between 3 and 4 level gray. I'd suggest keeping grayscale in if possible.

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: OmniRPG - Coding
« Reply #256 on: September 16, 2013, 03:25:35 pm »
I'd say that it should be optional and that we can easily generate a stripped resource file with spasm. Also 4 level is a bit different from 3. We should keep 3 though because it won't require different sprite sets for b/w.

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: OmniRPG - Coding
« Reply #257 on: September 16, 2013, 03:38:08 pm »
In Grammer, I use only one LCD updating routine and it does 2 level, 3 level, and 4 level grayscale because it is technically a 4-level gray routine, using different saturation levels of buffers. However, I think that if we use 3 level grayscale and monochrome as two options, then switching between them is as easy as turning the gray layer on or off and changing the frequency at which the LCD is updated. (Images look a lot better when going from 3 level to monochrome, in my opinion, as opposed to 4 level to monochrome.)

Again, from a graphics perspective, handling the menus might become a pain, but could be manageable. As well, twice the amount of drawing would have to be done, but that can probably be handled without too much of a slow down, even for 6MHz. My real concern is memory and how much of it will be needed. But all this can probably be figured out :)

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: OmniRPG - Coding
« Reply #258 on: September 16, 2013, 03:41:57 pm »
I thought programming wise, there was no difference between 3 and 4 level gray.
Well it is different. In both case you have two bits (not learning you anything, if you want 3 or 4 values, you need 2 bits) for each pixel (so two buffers).

-In 3 lvl "mode", you basically have a black buffer and a grey buffer. Any "pixel" on the black buffer will be black on screen, and any "pixel" on the grey buffer will be grey on screen (except if it is black on the black buffer). Both buffers are quite independent, you can for example scroll the grey buffer without the black buffer having change in any way, so the grey moved on screen and the black stayed where it was, or the contrary, move something black without touching the grey.

-In 4 lvl "mode", that is different, because then with two bits you have exactly enough bits to make 4 numbers (so 4 shades). You now have a light grey buffer and a dark grey buffer. So you guess how to make white, light grey and dark grey. But then you have a problem with black: black is basically light_grey+dark_grey. So moving a buffer will move the shade of grey it is associated to, but it will also have an effect on black.

(at least, that is how it works in Axe, except if I am mistaken and if I made all my grey by luck in my programs).
« Last Edit: September 16, 2013, 03:45:10 pm by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: OmniRPG - Coding
« Reply #259 on: September 16, 2013, 04:01:25 pm »
That's how it works in Axe yes. However you can also make 3 level gray by quickly alternating between two buffers or 4 by having a 2:1 time ratio for displaying them. Though in the case of three both buffers must be black for the screen to be black.
« Last Edit: September 16, 2013, 04:03:26 pm by Streetwalker »

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: OmniRPG - Coding
« Reply #260 on: September 16, 2013, 05:04:04 pm »
A problem with choices for grey/not grey is the lack of space. Greyscale sprites don't look so good when you just use them as B/W sprites, so odds are you'll need a whole new set of sprites for each option.

If it's an option, it should be a different version to download. That way, the extra data won't be there (one of the bigger issues for BE models anyway)