How Software Powered the Rise of Independent Game Design