Die Entwicklung von New Super Mario Bros gilt als ein Meilenstein in der Geschichte der Plattformspiele. Obwohl das Spiel bei der Veröffentlichung äußerst beliebt war und den Charme der klassischen Mario-Abenteuer erfolgreich in die Moderne transportierte, gibt es erhebliche Kritikpunkte hinsichtlich des zugrunde liegenden Codes. Bereits von Beginn an war die Codebasis des Spiels problematisch, was sowohl die Entwicklung erschwerte als auch langfristige Auswirkungen auf die Wartbarkeit und Erweiterbarkeit hatte. Die Gründe für die schlechte Qualität des Codes sind vielfältig und reichen von technischen Limitierungen bis zu mangelhaften Softwareentwicklungspraktiken. Ein Hauptproblem war die mangelnde Modularität des Codes.
Anstatt klare, gut strukturierte Module zu entwickeln, arbeitete das Entwicklerteam häufig mit stark verflochtenem und monolithischem Code. Dies führte dazu, dass kleine Änderungen im einen Bereich unerwartete Fehler an völlig anderen Stellen verursachten. Die daraus resultierende Komplexität machte es schwierig, neue Features hinzuzufügen oder bestehende Fehler zu beheben, ohne neue Probleme zu schaffen. Ein weiterer zentraler Punkt ist die Verwendung veralteter Programmiertechniken und das Fehlen moderner Softwarearchitekturprinzipien. Während die Hardware der Nintendo DS-Hardware gewisse Einschränkungen aufwies, hätten bessere Methoden zur Codeoptimierung und -organisation genutzt werden können.
Stattdessen dominierte oft eine schnelle und pragmatische Herangehensweise, um schnelle Ergebnisse zu erzielen, was letztlich zulasten der Codequalität ging. Auch die Dokumentation des Codes war unzureichend. Wo es nötig gewesen wäre, klare Kommentare und verständliche Codebeschreibungen zu hinterlassen, um auch nach langer Zeit nachvollziehen zu können, warum bestimmte Implementierungsentscheidungen getroffen wurden, bestanden nur fragmentarische Erklärungen. Dies machte es neuen Entwicklern schwer, sich in den Code einzuarbeiten, und führte zu wiederholten Fehlern und unerwartetem Verhalten des Spiels. Des Weiteren waren Performanceprobleme trotz der einfachen Grafik und des vertrauten Gameplays ein Thema.
Der ineffiziente Code verursachte unnötige Rechenlast auf dem Gerät, was zu gelegentlichen Rucklern und längeren Ladezeiten führte. Besonders im Umfeld der Nintendo DS-Hardware, die zwar für ihre Zeit leistungsfähig war, aber klare Grenzen hatte, wirkte sich solche Ineffizienz negativ auf das Gameplay aus. Die schlechte Codequalität hatte außerdem Auswirkungen auf den Entwicklungszyklus. Das Entwicklerteam musste mehr Zeit für Fehlersuche und Debugging aufwenden, was den Plan für Updates und neue Funktionen beeinflusste. Statt sich auf kreative und innovative Inhalte zu konzentrieren, wurde viel Ressourcen für die Lösung technischer Probleme gebunden.
Außerdem ragten einige der schlechten Praktiken deutlich heraus, wenn es um das Handling von Spielmechaniken ging. Physikberechnungen, Kollisionsabfragen und Level-Logik waren oft nicht sauber umgesetzt, was zu Inkonsistenzen im Spielverlauf führte. Spieler konnten dadurch mit unerwarteten Situationen konfrontiert werden, die den Spielfluss störten und Frustration hervorriefen. Ein bekanntes Beispiel waren Bugs, bei denen Mario an bestimmten Stellen hängenblieb oder nicht auf Eingaben reagierte, obwohl das eigentlich nicht vorgesehen war. Der Quellcode von New Super Mario Bros liefert somit ein lehrreiches Beispiel dafür, wie wichtig eine solide Softwarearchitektur ist, selbst bei vermeintlich einfachen Spielen.