I moved from Sinclair/Amstrad CPC games development onto the Gameboy. Initially the lack of EXX and IX/IY proved to be a bit of a pain. It's also missing the LDI(R)/LDD(R) opcodes. However, I dimly remember using its LD A, (FF00+...) instructions to access a block of RAM at the top of the memory map above the I/O registers to store variables, in much the same way that I'd use zero page on a 6502. So not quite as restrictive as it looks.