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

roflmao

  • Hero Member
  • *****
  • Posts: 4830
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #135 on: November 15, 2016, 07:34:48 AM »
Awesome!

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #136 on: November 15, 2016, 08:27:56 AM »
Fixed some typos. I should do a proper column mode one, with additional subpalettes. But I'll need something other than a mountain range to show it off.

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #137 on: November 16, 2016, 11:30:29 AM »
Is anyone interested in doing some quick pixel art, tilemap work?

 I'm looking for 256x4096 pixel image (for vertical scrolling), made of 8x8 blocks/tiles of 4 colors. Basically 2bit color, so 3 unique colors per tile plus one common global color. Can use any of the 16 subpalettes for those 3 unique colors.

 I have a vertical scrolling demo that I'm going to code over thanksgiving weekend. Just need some graphic assets. Just to note, tiles count can be up to 4096 tiles or more, and can be vertical or horizontally flipped. Space or canyon, or whatever theme you want (vertical shmups) - can transition. If you're not an artist but have suggestions of graphics to use that could be converted down to these limitations, post it! Ala SpaceMegaforce, Musha, etc.

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #138 on: November 17, 2016, 01:05:20 AM »
Here are some graphics that fit the spec.  You don't have to give me credit in your final game.


Necromancer

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 21366
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #139 on: November 17, 2016, 01:18:02 AM »
That's one tall mushroom!  :lol:
U.S. Collection: 97% complete    155/159 titles

esteban

  • Hero Member
  • *****
  • Posts: 24063
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #140 on: November 17, 2016, 07:16:49 AM »
Here are some graphics that fit the spec.  You don't have to give me credit in your final game.




Rockā€¢On
  |    | 

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #141 on: November 17, 2016, 10:49:53 AM »
Not sure that serves my purpose. Hmm.. Tell-you-what, I'll make it an unlock-able via control code.

johnnykonami

  • Hero Member
  • *****
  • Posts: 1350
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #142 on: November 17, 2016, 10:56:18 AM »
Here are some graphics that fit the spec.  You don't have to give me credit in your final game.




Dammit, I thought today at work (at my new job) I would just browse PCEFX for a minute. then this came up.  Thanks, Trump!

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #143 on: November 17, 2016, 11:02:12 AM »
Not sure that serves my purpose. Hmm.. Tell-you-what, I'll make it an unlock-able via control code.

Let me guess: waggle the joystick back and forth for 30 seconds to unlock?

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #144 on: November 18, 2016, 06:00:21 AM »
Yuss! And.. maybe.. if detected while the code is being entered.. a little "fap" icon with appear on and off in sync.

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc.
« Reply #145 on: December 18, 2016, 05:17:20 AM »
I have a lot of the ideas for doing stuff on the PCE, some public and mentioned here, and some not (private). I really want to get around to show casing these ideas in some demo form. It's fine and dandy to talk about them, but I know in my heart of hearts that no one is probably going to implement them. Since these demos I'm working on are to do with tips and tricks, and how to implement them - I'll post my progress here.

BG layer made up of sprites. I know I've already posted a bit on this, in this thread, but now that I have some free time (finished my last of my Finals on Thursday), I wanted to demo this idea.  So this is what I'm working on:


I'm doing this one by hand (making the decoding LUTs for the above metatile set), and to get through it quickly (making the tables), I have some redundant tiles in vram. Just ignore those for now.

 Some perspective: for this demo the gameplay/action window is 208x176 (it could be longer with a status bar, which is irrelevant).  The foreground layer is a map where each entry is 32x32pixel metatile. Each entry is used to index a series of LUTs, to break down the metatile into hardware sprites. To keep things optimal, it's best to have the majority of metatile entries decode directly into a single hardware 32x32 sprite. This is to keep the SATB usage as low as possibly, as well as the number of objects per scanline at minimal (not pixels per scanline, but objects per scanline - since now with a clipped display of 208, the sprite pixel limit exceeds the width of the display by 48pixels). Some entries are made up of paired 32x16 or 16x32 hardware sprites, to save on vram wastage. Some even have 16x16 sprite entries. The blue blocks in the metatiles, specifically in pairs, represents no hardware sprite.

 So a screen display of 208x176 has a max object capacity of 7x7 metatiles. I'm keeping this example simple by parsing every metatile of the map, relative to the display area, every time there is screen movement. I could optimize this to cover just the 2 sides of the screen (diagonal direction for scrolling), and cache the hardware objects so I only have to update their X/Y positions instead of rebuilding them every frame (on a scroll change), but the complexity of such a map engine takes time. And there are some other ideas/demos I want to make in my in between semester break. So, every time there's a scroll change, every object gets re-decoded. I've set the limit at 300 cpu cycles per 32x32 metatile decode, and assumed the worse case scenario is that all metatiles translated into real hardware sprites (blank or null entries are normally quickly bypassed), then I'm looking at 7x7 = 49 x 300 = 14,700 cpu cycles or 12% cpu resource. And in that process of decoding, I'm also filling/updating a buffer/temp collision map in ram. So some of that 300 cycles is used for the collision map. So far in the decode routine that I've written, I haven't come close to the 300 limit, but I'll know in the end.

 Just FYI - this foreground map setup isn't really made to simulate something like Super Mario games; I just wanted something to show that was more than just "blocks". This method has limitations that affects design, but some games (with or without modification) could be used to represent what you can do with this. One of those limitations, is depth. And by depth, I mean that the surface the main character walks on - should be a solid line (how they walk on it and not necessarily how its drawn). There are some careful designs where this doesn't have to be true, but then level design gets more complicated.

I think this video of Super Adventure Island presents some stages for visualization:

 When I mentioned trying to keep a "flat surface" for the character to walk on, I don't mean that the pixels have to be flat all the way across the surface. In the video, look at 2:52 with the top of the stones graphics. Higgans walks on them as if they were flat, but clearly you can see small pixel gaps on the surface. This is fine. In the same level, the dirt/ground foreground area is fine, but the grass "foliage" should be made a little bit more sparse if it's going to appear in front or behind the character.

 @13:19 - is probably the perfect example of how to use this sprite foreground method.
 @17:06 - the sprite map as the back layer, and the hardware BG layer as the foreground layer.
 @21:00 - imperfect surface (snow) treated as perfect flat surface and slopes. Perfectly doable. Trees are fine too. The snowflakes, in front or behind the sprite object layer, works too. Might be some slight issues for the fortress graphic at the end of the stage (would have to be modified).
@23:50-24:16 - implements fine with sprites, even the columns at the end. But the transition beyond 24:16 would have to be a little handled differently. But once @24:28, then it's fine again (switch to BAT as foreground, sprites as background).
« Last Edit: December 18, 2016, 05:27:56 AM by Bonknuts »

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #146 on: December 23, 2016, 05:24:33 AM »
I updated the main thread title and added tools section to the first post. I'll add more links. If you guys have tools, post the links there and I'll update the main post.

 Added bizhawk emulator for PCE; main feature is LUA scripting. Perfect for when you need a graphic overlay of what's happening in your game (or hacking in general). Really nice and easy to use.

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #147 on: December 25, 2016, 04:16:41 AM »
I was adapting my palette sorting app for 2bit and 3bit tiles support, when I came across a small bug in the merging routine. For some reason it was off by 1, so it only merged if source palette was less than the destination palette instead of <=. It didn't have a big impact on 4bit tiles, but it sure did on 2bit and 3bit. But.. it did have some surprising effect:


Now the difference is between 1 and 3 subpalettes smaller for 4bit images. Hah! A nice xmas present for me :D
« Last Edit: December 25, 2016, 04:21:04 AM by Bonknuts »

esteban

  • Hero Member
  • *****
  • Posts: 24063
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #148 on: December 28, 2016, 02:52:29 AM »
Hah! A nice xmas present for me :D

It sounds like you are having A Very TurboXMAS.

:)
  |    | 

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: Graphic, Sound, & Coding Tips / Tricks / Effects / Etc. Tools for development
« Reply #149 on: December 28, 2016, 06:37:38 AM »
Now the difference is between 1 and 3 subpalettes smaller for 4bit images. Hah! A nice xmas present for me :D

Nice! It's always good to fix a bug and have it make a noticeable improvement.   :)