Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
New release available: 2020-07-29 "Hogfather". upgrade now! [51.3] (what's this?)
New release candidate 3 available: 2020-06-09 "Hogfather". upgrade now! [51.2] (what's this?)
New release candidate 2 available: 2020-06-01 "Hogfather". upgrade now! [51.1] (what's this?)
New release candidate available: 2020-06-01 "Hogfather". upgrade now! [51] (what's this?)
Hotfix release available: 2018-04-22c "Greebo". upgrade now! [50.3] (what's this?)
Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
Hotfix release available: 2018-04-22a "Greebo". upgrade now! [50.1] (what's this?)
New release available: 2018-04-22 "Greebo". upgrade now! [50] (what's this?)
Hotfix release available: 2017-02-19g "Frusterick Manners". upgrade now! [49.7] (what's this?)
Hotfix release available: 2017-02-19f "Frusterick Manners". upgrade now! [49.6] (what's this?)
Hotfix release available: 2017-02-19e "Frusterick Manners". upgrade now! [49.5] (what's this?)
Hotfix release available fixing CVE-2017-12979 and CVE-2017-12980: 2017-02-19d "Frusterick Manners". upgrade now! [49.4] (what's this?)
Hotfix release available fixing CVE-2017-12583: 2017-02-19c "Frusterick Manners". upgrade now! [49.3] (what's this?)
Hotfix release available fixing security token and media manager: 2017-02-19b "Frusterick Manners". upgrade now! [49.2] (what's this?)
Hotfix release available fixing install and media manager issues: 2017-02-19a "Frusterick Manners". upgrade now! [49.1] (what's this?)
New release available: 2017-02-19 "Frusterick Manners". upgrade now! [49] (what's this?)
Hotfix release available: 2016-06-26e "Elenor of Tsort". upgrade now! [48.5] (what's this?)
Hotfix release available fixing CVE-2017-12979 and CVE-2017-12980: 2016-06-26d "Elenor of Tsort". upgrade now! [48.4] (what's this?)
Hotfix release available fixing CVE-2017-12583: 2016-06-26c "Elenor of Tsort". upgrade now! [48.3] (what's this?)
Hotfix release available fixing security token: 2016-06-26b "Elenor of Tsort". upgrade now! [48.2] (what's this?)

Game AI Competition Portal

Level generation 부문

competition의 레벨 생성 부문은 Infinite Mario Bros를 위해 절차적 레벨 생성기를 만드는 것에 대한 것이다. 경쟁자들은 원하는 레벨 특징 입력과 이런 부분의 특징을 만족하는 재밌는 레벨 출력을 갖고 있는 자바 코드를 보낼 것이다. 승리자는 실시간 플레이 테스트를 통해서 결정된다.

Noor ShakerJulian Togelius, Georgios Yannakakis에 의해 조직됨.

어떻게 competition이 진행될 것인지 느낌을 얻어라

경쟁자들은 어느정도의 내용을 따라 마리오 레벨을 생성하는 레벨 생성기를 제출한다. 우리는 competition 이벤트 때 사이트상에서 테스트 레벨을 플레이할 몇명의 테스터를 가질 것이다. 플레이 하는 동안, 각 테스터들의 게임 플레이 행동은 기록될 것이다. 이 기록된 정보는 경쟁 레벨 생성기는 그들의 커스텀된 레벨을 만들 때의 입력으로 제공된다. 그 생성된 레벨은 테스터들에 의해 플레이되고, 그들이 가잫 좋아하는 것에 따라서 등수를 나눈다. competition의 승리자는 가장 많은 재미있다고 판단한 레벨을 만드는 레벨 생성기를 보낸 사람이다.

시작

먼저 소스 코드를 받는다. 버그 신고는 환영한다. 어떻게 코드가 작동하는지 느낌을 얻기 위해 너는 다음의 명령을 시도할 수 있다.

java dk.itu.mario.engine.Play

무작위로 생성되는 레벨상에서 직접 마리오 게임을 플레이 해라. 조종키는 화살표와 a, s 이다.

이제 무작위 레벨을 끝낸 뒤, 간단한 커스텀된 레벨을 플래이를 해볼 수 있다.

java dk.itu.mario.engine.PlayCustomized

이걸 해보고 나면, 코딩하고 싶어 손가락이 근질근질할 것이다. 그럼 해봐라! 어떻게 sk.itu.mario.level.RandomLevel과 dk.itu.mario.level.CustomizedLevel이 생성을 하는지 보고 dk.itu.mario.MarioInterface.LevelInterface를 충족시키는 너만의 클래스를 작성해라.

dk.itu.mario.MarioInterface.LevelGenerator를 충족시키는 너 자신의 레벨 생성기를 만들어라, 아마 dk.itu.mario.level.generator.CustomizedLevelGenerator를 봐야 할 것이다. 너의 커스텀된 레벨을 테스트하려면 dk.itu.mario.scene.LevelSceneTest로 가서 init() 메소드 안의 “CustomizedLevelGenerator clg = new CustomizedLevelGenerator();” 를 너의 생성기로 바꿔라 너는 코트를 테스트하기 위해 dk.itu.mario.engine.PlayCustomized를 작동할 수 있다.

너가 가기 전에 마지막 한가지로, 참가할 생각이 있다면 Mario Competition Google Group에 가입하고 우리(와 너의 경쟁자들)에게 신고 메세지를 보내줘라!

규칙

커스텀된 레벨은 만드시 dk.itu.mario.MarioInterface.LevelInterface 레벨 인터페이스를 충족시켜야 하고, 오직 dk.itu.mario.MarioInterface.GamePlay 클래스로부터 얻을 수 있는 플레이어의 행동에 대한 게임 플레이 정보만이 허가되고, 오직 dk.itu.mario.MarioInterface.LevelGenerator 인터페이스내에 정의된 메소드를 통해서 시뮬레이션과 통신한다.

모든 제출된 레벨은 dk.itu.mario.MarioInterface.Constraints 인터페이스내에 정의된 constraint들을 만족시켜야 한다. 일이나 competing 레벨 실행동안의 내부 상태에 영향을 주는 직접적으로 접근하는 java.reflection과 비슷한 어떤 메소드들은 금지되어 있고 사용할 경우 실격 처리 될 것이다.