Author Topic: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development  (Read 12427 times)

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Nice! It's always good to fix a bug and have it make a noticeable improvement.   :)

Definitely! Still one odd behavior I need to work out, but it's low priority.


WIP:


I added a bunch of stuff including pixel drawing - etc. I'm working on a queue circular-stack system now so I can have undo/redo functionality. I still need to make a flood fill routine, but I'll probably use a stack for that instead of a queue.
« Last Edit: January 03, 2017, 05:40:56 PM by Bonknuts »

blueraven

  • Hero Member
  • *****
  • Posts: 4450
The image converter is really cool. Is it available to download anywhere? And for risk of blasphemy can you run it on a mac?
[Thu 10:04] <Tatsujin> hasd a pasrtty asnd a after pasrty ASDFTERTHE PARTY
[Fri 22:47] <Tatsujin> CLOSE FIGHTING STREET; CLOSE FORU; CLOSE INTERNETZ; CLOSE WORLD; CLOSE UNIVERSUM
--
Arkhan [05:15pm]: ill brbl im going to go make another free game noone plays lolol

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #152 on: January 04, 2017, 02:52:15 PM »
Here are some graphics that fit the spec.  You don't have to give me credit in your final game.
http://chrismcovell.com/images/GameMap1.gif

Boy, uh, that ccovell doesn't dick around when it comes to helping out, heh... Looks like you got a bit overly excited on this one...

X.X.XSEED Games' Jeff DeuceBag last heard crying, "See, see, I'm not the only one that flashes cock-shots around on gaming forums... Everybody does it and odds are good most will click to view them! Hypocrites! Hmph! I AM vindicated!!!"
« Last Edit: January 04, 2017, 03:10:07 PM by NightWolve »

touko

  • Hero Member
  • *****
  • Posts: 953
Good converter tom, but i see you have the same issue than pce image converter when multiple palettes are used .
Some tiles look wrong .

elmer

  • Hero Member
  • *****
  • Posts: 2148
I added a bunch of stuff including pixel drawing - etc. I'm working on a queue circular-stack system now so I can have undo/redo functionality. I still need to make a flood fill routine, but I'll probably use a stack for that instead of a queue.

Neat! I look forward to seeing your progress.

It is *really* hard (IMHO) to do good palette reduction (with/without dithering) and simultaneous tile-palette (or sub-palette, or whatever you choose to call things) conversion.

What algorithm have you chosen to use for your base-conversion?


The best palette reduction & dithering that I've personally played with was the Neuquant neural-net algorithm as used by ...

http://pngnq.sourceforge.net/


When doing the Zeroigar title screen, which needed to be color-reduced in order to a clean conversion to the PC-FX's 16-bit YUV colorspace, I ended up using the free Ximagic Quantizer plugin (which supports 12-bit and 15-bit colorspace) ...

http://www.ximagic.com/q_index.html

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
The image converter is really cool. Is it available to download anywhere? And for risk of blasphemy can you run it on a mac?


 Actually, yes. Well.. I need to get a Mac first, but yeah Win, Mac, Linux. The GUI is completely internal (my own code) and the interface is SDL. I'm on the hunt for a cheap but capable mac book.

Quote
Good converter tom, but i see you have the same issue than pce image converter when multiple palettes are used .
Some tiles look wrong .

Those artifacts are from other conversion apps (promotion or image2pce - I forget which).

Quote
It is *really* hard (IMHO) to do good palette reduction (with/without dithering) and simultaneous tile-palette (or sub-palette, or whatever you choose to call things) conversion.

What algorithm have you chosen to use for your base-conversion?


The best palette reduction & dithering that I've personally played with was the Neuquant neural-net algorithm as used by ...

http://pngnq.sourceforge.net/



 The app isn't a lossy conversion app like Image2pce, Promotion, Quither, or NitroCharacter Studio. The focus here is lossless sorting of palettes; it's a tool for different types of image conversions. Automated tools are nice, but they only get you so far. For still pics, conversions by hand are better. The lossy reduction programs are a great starting point when doing stuff by hand too. But this tool allows you to work directly with tiles and palettes for editing out errors of above programs. It also tends to do a reduction sort (lossless) into fewer palettes than the other lossy programs output (usually by 1 or 2.. depending), so it's a nice way to use it to fix more apparent errors in those conversions (again, by hand using this app).

 It has a bunch of other purposes and features/outputs, but I'm too lazy to write what they are right now - haha. It's pretty close to a public release.

Here's a pic conversion I did by hand with photoshop (80%) and finished it off with my app:

With my app, I was able to squeeze in some more color than I had done in photoshop simply because working directly with palettes in a more direct way, and having the palette sorting algo create a few alternate choices for me. It's at 120 colors currently with all 16 palettes (and 100% pce legal output).
« Last Edit: January 08, 2017, 06:03:01 AM by Bonknuts »

ccovell

  • Hero Member
  • *****
  • Posts: 2245
The app isn't a lossy conversion app like Image2pce, Promotion, Quither, or NitroCharacter Studio. The focus here is lossless sorting of palettes

Yeah, lossless, fewest palette use as possible, and "smart" colour grouping is pretty much the eternal goal of PCE (/NES/SNES) coders.  Looks good so far!

touko

  • Hero Member
  • *****
  • Posts: 953
Quote
haha. It's pretty close to a public release.
Aaaah, that's an intersting news. :wink:

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Just got a MacBook Air for school, so I'll start working on porting stuffs over.

Phase

  • Sr. Member
  • ****
  • Posts: 356
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #159 on: November 10, 2017, 01:42:07 PM »
Ok so Bonknuts posted about Nes Contra on the first page so I'll throw these in here, they seem interesting but are from the Genesis.

If you like these videos check out the coding secrets playlist here
https://www.youtube.com/channel/UCfVFSjHQ57zyxajhhRc7i0g/playlists
« Last Edit: November 10, 2017, 01:49:47 PM by Phase »

touko

  • Hero Member
  • *****
  • Posts: 953
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #160 on: December 13, 2017, 07:22:22 PM »
Hi, i developed a new PCM driver based on the PSG buffer .
For now i'am playing only 7khz samples (only for size reason) ,it works very well and use a very little CPU budget, i was at 5% with my previous driver, and now i'am at 1% for the same quality .
Now with this technique you can play a 32khz sample with the same CPU than the old classic 7khz .

Gredler

  • Guest
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #161 on: December 14, 2017, 05:17:21 AM »
Hi, i developed a new PCM driver based on the PSG buffer .
For now i'am playing only 7khz samples (only for size reason) ,it works very well and use a very little CPU budget, i was at 5% with my previous driver, and now i'am at 1% for the same quality .
Now with this technique you can play a 32khz sample with the same CPU than the old classic 7khz .

Cool I hate to ignorantly ask the question, but is this something that can be used in HuC for implementing music and or sound effects?

touko

  • Hero Member
  • *****
  • Posts: 953
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #162 on: December 14, 2017, 05:47:06 AM »
Cool I hate to ignorantly ask the question, but is this something that can be used in HuC for implementing music and or sound effects?
No worry ;-)
i think yes it can be integrated in HUC because even if it's coded in ASM,the driver it's not CPU taxing and an user timer interrupt can be defined easily .
For timer interrupt code,it's ~300 cycles per voice, and for exemple, playing a 7khz sample, a timer interrupt is fired every 32768 cycles .

For music you can easily (IMO) play the fragmare's musics with his 32khz samples if the driver don't needs timer for other things than samples playing .

« Last Edit: December 14, 2017, 05:52:43 AM by touko »

Gredler

  • Guest
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #163 on: December 14, 2017, 08:14:44 AM »
Cool I hate to ignorantly ask the question, but is this something that can be used in HuC for implementing music and or sound effects?
No worry ;-)
i think yes it can be integrated in HUC because even if it's coded in ASM,the driver it's not CPU taxing and an user timer interrupt can be defined easily .
For timer interrupt code,it's ~300 cycles per voice, and for exemple, playing a 7khz sample, a timer interrupt is fired every 32768 cycles .

For music you can easily (IMO) play the fragmare's musics with his 32khz samples if the driver don't needs timer for other things than samples playing .



Very cool, thanks for sharing the info! Is this something that is available for homebrew use, and if so can I ask on behalf of DarkKobold how to go about learning/trying to use it? Our project's sound has been a struggle, and we are open to options provided by the amazing work of you Arkahn, and Elmer.

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #164 on: December 14, 2017, 12:24:45 PM »
For timer interrupt code,it's ~300 cycles per voice, and for exemple, playing a 7khz sample, a timer interrupt is fired every 32768 cycles .

Sounds cool!  Is there a 7khz/32 overtone or sound glitch for every time you have to reload the PCE wave buffer?