Let's see which elements of the Berlin Interpretation can be applied to a platformer and are thus irrelevant to this discussion. (Berlin Interpretation may be shortened to BI in the following.)
- Random environment generation: obviously an integral part of the conversation
- Permadeath: Its role in platformers depends on your interpretation of permadeath. Typically, when you die you have to restart the level. Note that the shortcuts of Spelunky move it closer to the traditional level-by-level checkpoint system of platformers than the traditional complete restart of roguelikes. However, Spelunky does have gear you lose upon death. Pure platformers don't have an emphasis on gear collection while roguelikes do, putting Spelunky closer to roguelikes there. One for, one against.
- Turn-based: not applicable to Spelunky
- Grid-based: Very common in platformers.
- Non-modal: Platformers don't enter into separate modes as an integral part of the game.
- Complexity: "enough complexity to allow several solutions to common goals": Common in platformers. Some platformers require precise timing for jumps throughout, but others allow leeway, choosing to destroy or avoid enemies, multiple paths, the options to interact with objects, etc. "Strongly connected to having one mode" is true for platformers. "Item/monster and item/item interactions" are generalized to player/environment interactions, which may or may not include items and/or monsters. You could nitpick that this isn't a part of platformers, but under those exact criteria it isn't an integral part of roguelikes either.
- Resource management: Very common in platformers. (Heavy example: The power-up box in Mario games)
- Hack'n'Slash: Spelunky is no more hack'n'slash than many platformers.
- Exploration and Discovery: Limited exploration and discovery is present in (almost) every platformer. Any more than standard in Spelunky comes from its random environment generation, which isn't being contested.
- Single player character: Very common in platformers.
- Monsters are similar to players: not applicable to Spelunky
- Tactical challenge: broken up
-- "You have to learn about the tactics before you can make any significant progress.": Definitely in platformers. Tied heavily to complexity (as defined in the BI), which I have established as a part of platformers.
-- "This process repeats itself, i.e. early game knowledge is not enough to beat the late game.": Definitely in platformers. The environment changes dramatically as most platformers progress, introducing new level designs that may include new enemies, obstacle types, etc. What you know about timing, risks, and similar previously don't apply to the new situations.
-- "The game's focus is on providing tactical challenges (as opposed to strategically working on the big picture, or solving puzzles).": The focus in platformers is not on tactical challenges. However, platformers typically have about as much tactical challenge as roguelikes. Neither has more of the other in "working on the big picture or solving puzzles".
- ASCII display: If anyone here believes ASCII display is integral to roguelikes, rather than a common aspect, please come out now. The consensus here seems to be that ASCII vs other tile display has no influence on the roguelike classification.
- Dungeons: The dungeon theme of Spelunky can easily be present in a platformer, and is in plenty.
- Numbers: "The numbers used to describe the character (hit points, attributes etc.) are deliberately shown.": I don't know of a platformer in which this isn't present.
In summary:The following are irrelevant to the Spelunky roguelike platformer vs. non-roguelike platformer debate:
- random environment generation, turn-based, hack'n'slash*, monsters are similar to players, ASCII display
The following cannot be used to argue that Spelunky has more roguelike elements than a standard platformer because they are acceptable, if not common, parts of any pure platformer:
- permadeath**, grid-based, non-modal, complexity, resource management, hack'n'slash*, exploration and discovery, single player character, tactical challenge, dungeons, numbers
The following are defined in the BI and are not typically seen in platformers, but are present in Spelunky:
- [none]
* If you say Spelunky is hack'n'slash, then so are many platformers, putting it in the second list. If you say Spelunky isn't hack'n'slash, then it goes in the first list. Hack'n'slash isn't well enough defined for me to definitively say whether or not Spelunky is hack'n'slash, but comparison is valid enough.
** Spelunky does have permadeath. Spelunky does not have the same type of permadeath that is common to roguelikes. Spelunky does have a checkpoint or level progress system. Spelunky does not have the same type of checkpoint or level progress system that is common to platformers. Therefore, I propose that the most accurate term for Spelunky is "platformer with randomly generated levels and a unique death system".
LET THE MOST CIVIL DEBATE COMMENCE
There's that java based one whose name I'm forgetting that's largely story/plot driven for the former, and something like dreadmor for the latter, as examples.
You can have story drive a dungeon crawl, if that's what you mean. And I wouldn't consider Dungeons of Dredmor to be a roguelike with permadeath turned off.
Metroidvania is a type of platformer. AFAIK you can't have a metroidvania that isn't a platformer. Castlevania is a platformer, even if it has other elements that Mario doesn't.
And a dungeon crawl is a type of RPG, but is generally (and often appropriately) considered its own sort of thing.
RPG is a dreadful term that would complicate things drastically to discuss now. Regardless of the metroidvania platformer status, I did not include any related genres or subgenres (including metroidvania) in the above breakdown, only traditional platformers. The Super Mario games are probably the most extreme example needed to back up the breakdown, and I'm pretty sure everyone agrees that the Super Mario games are firmly platformers and nothing more or less (barring custom and special levels, of course).