์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
an open-source osu! client
1. ๊ฐ์[ํธ์ง]
๋ฆฌ๋ฌ๊ฒ์ osu!์ ๋น๊ณต์ ์คํ์์ค ํด๋ผ์ด์ธํธ์ด๋ค. "euphyy"๋ผ๋ osu! ์ ์ ๊ฐ[3] ๊ฐ๋ฐ ํ๋ค. JDKํ๊ฒฝ์์ ์คํํ ์ ์์ด์ ๊ฒ์์ ์คํํ ๋ ์์ ์ด ์ฌ์ฉํ๋ ํ๋ซํผ์ ์๋ฐ๊ฐ ์ง์์ด ๋๋ค๋ฉด ์ด๋ค ์ด์์ฒด์ ๋ผ๋ ํ๋ ์ด๊ฐ ๊ฐ๋ฅํ ๊ฒ์ด ํฐ ํน์ง์ธ๋ฐ, ์ค์ ๋ก ์๋์ฐ ๋ฟ๋ง ์๋๋ผ ์๋๋ก์ด๋, OS X, ๋ฆฌ๋
์ค ๋ฑ ์๋ฐ๋ฅผ ์ง์ํ๋ ๋ค์ํ ์ด์์ฒด์ ์์ ๊ตฌ๋์ด ๊ฐ๋ฅํ๋ค. ๋ํ osu!์ *.osk, *.osz, ๋นํธ๋งต ํด๋๋ฅผ ์ฝ์ ์ ์๋ค.
2. ํน์ง[ํธ์ง]
- ๋ค์ํ ํ๋ซํผ ์ง์
์์์ ๋งํ๋ฏ์ด ์๋์ฐ ๋ฟ๋ง ์๋๋ผ ์๋ฐ๋ฅผ ์ง์ํ๋ OS๋ผ๋ฉด ์ด๋ค OS์ด๋์ง ํ๋ ์ด๊ฐ ๊ฐ๋ฅํ๋ค. ์ฌ์ค ๋ฆฌ๋ ์ค๋ OS X์์๋ osu!๋ฅผ ํ๋ ์ด ๊ฐ๋ฅํ์ง๋ง ์์ง OS X์ฉ osu!๋ ์ํ๋ฒ์ ์ด๊ณ , ๋ฆฌ๋ ์ค์์ ์์ธ์ด๋, ๋ผ์ฆ๋ฒ ๋ฆฌ ๊ฐ์ API์๋ฎฌ๋ ์ดํฐ๋ฅผ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์ ์๋ฒฝํ ์ง์์ด ์ด๋ ต๋ค. ๊ทธ๋ ์ง๋ง ์๋ฐ๊ธฐ๋ฐ ์ ๊ตฌ๋ํ๊ฒฝ์ ๊ฐ์ง opsu!๋ ์๋์ฐ ์ธ์ ๋ค๋ฅธ ์ด์์ฒด์ ์์๋ ์ง์์ ํด์ค๋ค.
- PC osu!๋ฅผ ๋ ์ฌ๋ฆฌ๊ฒ ํ๋ ์๋นํ ๊ตฌํ๋ฅ
ํ์กด ๋น๊ณต์ osu! ํด๋ผ์ด์ธํธ์ค, ๊ธฐ์กด osu!์ ๊ฐ์ฅ ํก์ฌํ UI๋ฅผ ๋ณด์ฌ์ค๋ค. pc๋ฒ์ ์ด๋ผ๋ฉด ๋ชฐ๋ผ๋ osu!droid์์ ๋์ด์จ ์ ์ ๋ค์ ์ฒ์์ ํ๋๊ฐ์ด ๊ฐํ์ด ๋์ฌ ์ ๋. ์ธ๊ฒ์ ์ผ์ชฝ์ ์ค์๊ฐ ์ค์ฝ์ด๋ณด๋ ์ง์๋ ์๊ณ , ์์ธํ ๊ด์ฐฐํ๋ค ๋ณด๋ฉด ์ฌ๋ฌ๋ชจ๋ก ๊ณต์ ๋ค์ธ ํ์ ์ด ๋ณด์ธ๋ค.
- ์์ฒด osu!direct ๊ตฌํ
osu! ๋นํธ๋งต ๋ฏธ๋ฌ์๋ฒ๋ฅผ ํตํด์ ๊ฒ์ ๋ด์์ ์ง์ ๋นํธ๋งต์ ๋ฐ์ ์ ์๋ค. ์ธ๋ญํฌ๊ณก๊ณผ ๋ญํฌ๊ณก์ ๋ณด์ฌ์ฃผ๋ ์ต์ ๋ ์๊ณ , ๋ฏธ๋ฆฌ ๋ฃ๊ธฐ๋ ์๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌํ๊ณ ์ธ๋งํ๋ค. 0.16.2 ๊ธฐ์ค, Ripple,Mnetwork[4],Hexide[5], Bloodcat[6] ์ด 4๊ฐ์ ๋นํธ๋งต ์๋ฒ๊ฐ ์ ๊ณต๋๋ค.
- ์ฐํ๋ ์์
์๋๋ก์ด๋ ํ์ ์ผ๋ก, ์๋๋ค osu!droid์ ๋นํ๋ฉด ์ฐํ๋ ์ด ์ ํ ์กด์ฌํ์ง ์๋๋ค! ๋ค๋ง, osu!droid์์ ๋ค์คํฐ์น๊ฐ ์ง์๋๋, opsu!๋ ํ๋ฉด ๋ด ์ปค์๊ฐ ํ๋๋ง ํ์๋๋ฏ๋ก, ์ต์์น ์์ผ๋ฉด ์ฐํํ ๋ ์ปค์๊ฐ์ถ์ง๋ฒ์๊ฐ์ด๋ํด์ ๋ถํธํ์ง๋ง, ์ ์๋ง ๋๋ฉด[7] ํธํ๊ธฐ ๋๋ฌธ์ ์คํ๋ ค osu!droid๊ฐ ์ ์์ด ์ ๋ ์ง๊ฒฝ.ํ์ง๋ง ํฐ์น์ธ์์ ์๊ฐ์ฐจ๊ฐ ์๋์ง ์ปค์ ์ ๋๋ก ์ ์์ง์ด๋ฉด ์ฝค๋ณด์น ๋ 100์ด ์ฐ๋ฌ์ ๋์จ๋ค๋..
- ๋๋ ค๋ณผ ์ ์๋ ๋ค์๋ณด๊ธฐ
์ด ๋ง์ ์ฆ์จ, osu!๋ ๋ค์๋ณด๊ธฐ๋ฅผ ๋ณผ ๋ ์ค๊ฐ์ ์๋ค๋ก ๋๋ ค๋ณผ ์ ์๋๋ฐ ๋นํด, opsu!๋ ์์ ์ด ์ํ๋ ๋ถ๋ถ๋ง ๊ณจ๋ผ ๋ณผ ์ ์๋ค. Replay seeking์ ํ์ฑํ ํ๋ฉด ๋ฆฌํ๋ ์ด์ ์ผ์ชฝ์ ์งํ ๋ง๋๊ฐ ๋ณด์ธ๋ค. [8]
- ์ํ๋ ๋ถ๋ถ๋ง ์ง์ค ์ฐ์ต ๊ฐ๋ฅ
์์ฒด์ ์ผ๋ก Track checkpoint ์ต์ ์ ์ ๊ณตํ๋ค.
๊ฒ์ ๋์ค Ctrl+S๋ฅผ ๋๋ฅด๋ฉด ์ฒดํฌํฌ์ธํธ ์ง์ [9] / Ctrl+L์ ๋๋ฅด๋ฉด ์ฒดํฌํฌ์ธํธ ๋ถ๋ฌ์ค๊ธฐ.
(๋ถ๋ฌ์ค๋ ์๊ฐ ๋ชจ๋ ์ ์๋ ์ด๊ธฐํ๋๋ค.)
Geometry Dash์ ์ฐ์ต ๋ชจ๋๋ฅผ ์๊ฐํ๋ฉด ์ฌ์ธ ๋ฏ. ์์ฝ๊ฒ๋ Android๋ฑ ํค๋ณด๋๊ฐ ์๋ ๊ธฐ์ข
์ ์ง์๋์ง ์๋๋ค.
- ์ปค์คํ ๋์ด๋ ์ง์
๋์ด๋ 4์์ CS, HP, AR, OD์์น, ์ฌ์ง์ด ์ฌ์์๋๊น์ง ์์๋ก ์ง์ ์ด ๊ฐ๋ฅํ๋ค. ์ฐ์ต ๋ฐ ์ปค์คํ ํ ์คํธ ์ฉ๋๋ก ๋จ๊ฒจ๋ ๊ฒ ๊ฐ์๋ฐ, ๋ฌธ์ ๋ ์์๋ก ๋์ด๋๋ฅผ ๋ฎ์ถ๊ณ ํ๋ ์ดํด๋ ๊ทธ๋๋ก ์ ์ํ์ ์ฌ๋ผ๊ฐ ๋ค๋ ์ .(...) ๊ทธ๋๋ ์ฑ๊ธํ๋ ์ด๊ฐ ์ ๋ถ๋ผ ๋ฌธ์ ๋ ์์ด๋ณด์ธ๋ค.[10] ๊ทธ๋ฆฌ๊ณ , ์๋๋ก์ด๋ ํ์ ์ผ๋ก ์ด ๊ธฐ๋ฅ์ด ๋ฐ๋์ ํ์ํ๋ฐ, ์ด์ ๋ ์ฌ๋ด์์ ํ์ .
3. ๋ฌธ์ ์ [ํธ์ง]
- ๋ฆฌ๋ ์ค์์ ํจ๊ณผ์ ๋ฌธ์
๋ฆฌ๋ ์ค์์ ๊ตฌ๋์ ํ๊ณ ํจ๊ณผ์ ์ดํํธ๋ฅผ ํ์ฑํ ํ๊ณ ์ฌ์คํ ์ ํจ๊ณผ์์ด ๋ถ๋ฌ์ค์ง ๋ชปํ๋ ์ค๋ฅ๊ฐ ๋๋ค. ์ด๋ฏธ ๊ฒ์ ์์์๋ ์ค๋ฅ๊ฐ ๋ ์ ์๋ค๊ณ ๊ฒฝ๊ณ ๋ฅผ ํ ๋ถ๋ถ์ธ๋ฐ, ์ฌ๊ธฐ์ ํด๊ฒฐ๋ฒ์ด ๋์์์ผ๋ gedit๋ฑ์ ํตํด์ ์์ ์ ํด์ฃผ๋ฉด ๊ณ ์ณ ์ง๋ค.
- ์๋๋ก์ด๋์์ ํํธ ์ฌ์ด๋ ๋ฌธ์
์ผ๋ถ ๊ธฐ๊ธฐ์์ ํํธ ์ฌ์ด๋๊ฐ ๋์ฌ ๋ ๋๊น์ด ๋ฐ์ํ๋ ๊ธฐ์ข ์ด ์๋ค.
๋๋ฉด ํด๊ฒฐ์ด ๋๊ธด ๋๋, ์์์ฑ ์ด๋ผ ์ง์ ์ ์ธ ํด๊ฒฐ์ ๋ถ๊ฐ๋ฅํ๋ค.
- ์ฅ๋น ์ค์ ์ฐฝ์ ๋ถ์ฌ
๋ง์ฐ์ค ๊ฐ๋๋ฅผ ์กฐ์ ํ๊ฑฐ๋ ํ๋ธ๋ ์์ญ์ ์ค์ ํ๋ ์ฐฝ์ด ์๋ค. ๊ทธ๋์ osu!๋ฅผ ํ๋ค๊ฐ ๋์ด์ค๋ฉด ํ๋ ์ด๊ฐ ์ ์ต์์น ์๋ค. ์ถํ ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ํด๋ณด์
- ์ฌ๋ผ์ด๋ ์ค์ฝ์ด ํฌ์ธํธ ์ค๋ฅ
์ฌ๋ผ์ด๋ ์ค์ ํ๋ฐํ๊ณ ์๋ฐ์ ๋๋๋ ์ฌ๋ผ์ด๋๊ฐ ์๋๋ฐ ์๋ ์ค์ฝ์ด ํฌ์ธํธ๊ฐ ํ๋ฐ์ ์์ด์ผํ๋ ํ๋ฐ์ ์ ์๊ฒจ์ ๋ฐ์๊ฐ ์ ๋ง๋ ๊ฒฝ์ฐ๊ฐ ์๋ค,
4. ์ฌ๋ด[ํธ์ง]
์ ๋ถ ์๋๋ก์ด๋ ๋ฒ์ ๊ณผ ๊ด๋ จ๋ ๋ด์ฉ๋ค์ด๋ค.
- PC๋ฒ์ ์ ๊ด์ฐฎ์ผ๋, ์๋๋ก์ด๋๋ ํํธ์ํด ํฌ๊ธฐ๊ฐ ์์ฒญ๋๊ฒ ์๊ณ , osu!droid์์ S๋ก ๊นจ๋ ๋งต์ B์ดํ๋ก ๊นจ๊ฒ ๋๋(?) ํ์ ๋์ด๋๋ฅผ ์๋ํ๋ค. [11] ๊ฒ๋ค๊ฐ ํ๋ฉด๋น ์กฐ์ ๋ ์ต์ง๋ก ์ค๋งํธํฐ์ ๋ง์ถ๋ค๋ณด๋ ํํธ์ํด์ด ํ๋ฉด ์ํ์ข์ฐ ๋ฐ์ผ๋ก ๋๊ฐ๊ฒ ๋์ด (ํนํ ์ฐํํ๋ ์๊ฐ๋ฝ ์ชฝ์ผ๋ก ํํธ์ํด์ด ์์ฑ๋ ๋) ์ฐํ ํ๊ธฐ๊ฐ ์ฌํ ๋ถํธํ๋ค.
๊ทผ๋ฐ ์ฌ์ค ํฐ์นํ์ผ๋ก ํ๋ฉด ์๋จ
- ์๊ทผํ ํด๋ํฐ ์ฌ์์ ์ข ํ๋ค. ํํธ์ฌ์ด๋๋ฅผ ๊บผ์ ๋ ์ ์ค์ผ์๋ ์๊ณ , ํด์๋ ๋ณ๊ฒฝ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด ๊ทธ๊ฑธ ํ์ฉํ๋ ๊ฒ ๋๊น ๊ฐ์์ ์ ์ผ ํจ๊ณผ์ ์ด๋ค.
[1] ๋ณธ ๋ฌธ์๋ ์ด ์ ์ ๋ฒ์ ์ ๊ธฐ์ค์ผ๋ก ์์ ํ๋ค.
[์ฐธ๊ณ ] GitHub์ ์ ์ ๋ฐฐํฌํ์ด ์๋ Anirudh Rahul์ด๋ผ๊ณ ํ๋ ๊ฐ๋ฐ์๊ฐ ์ด์ง ์ปค์คํ
ํ ์๋๋ก์ด๋ ๋ฒ์ opsu!์ด๋ค. ์ ์ ๋ฐฐํฌํ๊ณผ ํฐ ์ฐจ์ด์ ์ ์์ง๋ง, ์ฌ๊ธด ์จ๋ผ์ธ ๋ญํน ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ค.
[3] ์ค๋ช
Jeffrey Han ๊ฐ๋ฐ์ ํ๋กํ
[4] 2018๋
2/26 ์ดํ ๋นํธ๋งต ์
๋ฐ์ดํธ ์ค๋จ
[5] 2018๋
1/26 ์ดํ ๋นํธ๋งต ์
๋ฐ์ดํธ ์ค๋จ
[6] reCAPTCHA๋๋ฌธ์ ๋ณ๋๋ก ์น๋ธ๋ผ์ฐ์ ํ์ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ์ ๊ณตํ๋ค. ๋ค์ด ํ์ ์ง์ ํ์ผ์ Import ํด๋๋ก ์ฎ๊ฒจ์ฃผ์ด์ผ ํจ.
[7] ์ ์ํ๋ ๋ฐ ๊ทธ๋ฆฌ ์ด๋ ต์ง ์๋ค.
[8] ์๋์ด ์๋๋ฉด ํ์ฌ ์คํจ์ด ํธํ์ด ์๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ธฐ๋ณธ ์คํจ์ผ๋ก ๋ฐ๊พธ๋ฉด ์ด์ํ๊ฒ ์ ์๋๋๋ค.(...)
[9] ๋ฏธ๋ฆฌ ์ต์
์์ ์ฒดํฌํฌ์ธํธ ์๊ฐ์ ์ง์ ํ ์์ํด๋ ๋๋ค.
[10] ํ๋ ์ด์คํ ์ด ๋ฒ์ ์ 2018๋
1์ 7์ผ ๋ถ๋ก ์ปค์คํ
๋์ด๋(Fixed speed, CS, HP, AR, OD)๋ฅผ ์์ ์ ๋ญํน ๋ฑ๋ก์ด ๋งํ๋ค. ๊ทธ๋ฐ๋ฐ, ๋งํ๊ธฐ ์ด์ ๋ฒ์ ์ ์ฌ์ ํ ๋ฑ๋ก์ด ๊ฐ๋ฅํ ๊ฒ์ด ๋ฌธ์ ์ .
[11] opsu!๋ osu!์ ํ์ ํ์ด๋ฐ(OD)๊ณผ ์๋ฒฝํ ์ผ์นํ๋ค. osu!droid๋ ์ค์ ํ๊ธฐ๋ OD๊ฐ ๋๊ฐ ๋ฐ์ ๋๋ก ๋ฎ์ถฐ ์ ์ฉ์ด ๋๋๋ฐ, opsu!๋ ๊ทธ๋ฐ ์กฐ์ ์ด ์์ด ์๋นํ ํ์ ์ด ๋นก์ธ๊ฒ ๋๊ปด์ง๋ค.
[12] osu!droid์ ํ์ ๊ธฐ์ค ์ ๋ง์ถฐ์ ํ๋ ์ดํ๊ณ ์ถ๋ค๋ฉด ๋งต์ OD์์ ๋ฐ๋งํผ๋ง ์ ์ฉํด์ฃผ๋ฉด ๋๊ฐ ๋ง๋๋ค.
[13] ๋๋ฌด ๋๊ฒ ์ก์๋ฒ๋ฆฌ๋ฉด ํํธ์ํด์ด ํ๋ฉด ๋ฐ์ผ๋ก ๋์ ์๋นํ ๋ถํธํด์ง๋ค.