A method of gaming comprising: generating a game outcome by selecting a plurality of symbols, and displaying the selected symbols on a display at respective ones of a plurality of display positions arranged in a three-dimensional array; and determining whether the game outcome includes one or more winning outcomes. The method may include expanding the size of the three-dimensional array in response to occurrence of at least one trigger condition. The method may also include migrating symbols from one position to another within the three-dimensional array prior to determining whether the game outcome includes any winning outcomes.