Old school limitations and Tiling levels
We have given ourselves the limitation - "Early NES cartridge" and just during the last 24 hours I have learnt soooo much!
I'll never look at a NES-game the same again and I'm in awe of the developers from the time (also, they did a lot of the spritework with pen and paper!!)
I'm not a developer, I just draw stuff, so both my temammates @javve and @nevyn can explain this stuff more correctly - but as far as I have understood:
It turns out that during it's life-cycle the NES console didn't change hardware as consoles tend not to do.
So to get more miles out of it over time the game devs at nintendo hacked the crap out of it later in it's lifetime. And they did this through the hardware-chips in the cartridges.
A cartridge from later in the console lifecycle does a suprising amount of the computational work by having it's own extra computer-chips "secretly" switching between different datasets without the console knowing.
Did you ever save your game in a NES game? Well that was the cartridge working - the console doesn't really have that capability (this is why save-states often where solved through level-codes) instead a memory bank with a small battery is used within the cartridge.
A great exemple is to look at Super Mario Brothers and SMB3 - they are both created on the exact same console but SMB3 is doing so much more. And it does it through all the fancy hardware in it's cartridge!
Google the difference between CHR-ROM and CHR-RAM if you want to learn more.
For our LD entry we wanted to make a NES game with the same limitations as the earliest of games - so no bank switching, no fancy extra sounds, no saving etc.
This meant that I was introduced to some new workflows when it came to graphics.
Simplified, all tiles and sprites shown on screen are defined by coordinates telling the game what 8x8 pixels from the CHR bank (basically the games single spritemap) to show.
So for backgrounds the devs don't need the game tiles arranged in a big image file - they need an array of numbers to show what tiles goes where.
Enter stage left: TilED
When I had finalized the BG tiles in the CHRbank, I was able to export it into Tiled and make the map. Then, instead of exporting a image, I exported it as TMX and from it Nevyn could extract the grid coordinates.
Here are the tiles in TilED V.S. in the emulator:
TilED:

Emulated ROM:

To get some extra colours, the game actually changes all tiles between two different 3-colour palettes between rendering the far background and the ground!
Note also the animated sprites on one of our titular Fire Walls!
In time of writing, we don't have a playable ROM yet, but keep your eyes on our gamepage to try it!
https://ldjam.com/events/ludum-dare/54/firewall