Saving data for a colossal maze
Use UNSIGNED to squeeze out an extra bit.  A 3-byte MEDIUMINT UNSIGNED gives you 0..16M; a 4-byte INT UNSIGNED gives you 0..4 billion.  Since we are talking about X and Y, what is the max width/height of the maze?  16M or 64K seems more realistic than 4B.

Consider using a TINYINT UNSIGNED or SET to handle the 4 "open" flags.  That would take 1 byte instead of 4.  Don't you want to go for 3 dimensions?  Why not 4?  Or string-theory with 10 or 11.  (That would take 2 bytes for all the possible openings.)

Smaller --> faster, especially since this may become I/O bound.

Do you really need FOREIGN KEY and cascading delete?

I don't think MySQL needs for you to break it into 'chunks', but if you do, use suitably sized ints, such as the 2-byte SMALLINT UNSIGNED (0..65535).

Perhaps you are optimistic to think there will be more than 4 billion "messages"?  Do you have a terabyte-sized disk?

I can't really advise on the structure, nor the indexes, without seeing the queries.  I would "guess" that you always say WHERE x=... AND y=...; that is, specifying both?

Is someone (a human, that is) going to wander through this maze?  Even at one 'step' per second, a human cannot realistically touch more than 10M rooms in a year.  And such a person would probably need a padded cell after that.