๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ 42seoul ํ”„๋กœ์ ํŠธ

[42seoul] cub3d : Ray casting์„ ํ™œ์šฉํ•œ Wolfensteid3D ์œ ์‚ฌ ๊ทธ๋ž˜ํ”ฝ ๊ตฌํ˜„

by kukim 2021. 10. 28.

๐Ÿ“š cub3d

@42seoul : (2020.09.15 ~ 2020.11.02)

๐Ÿ“– About

  • ์ด ํ”„๋กœ์ ํŠธ๋Š” 90๋…„๋Œ€ ์ตœ์ดˆ์˜ 1์ธ์นญ ์ŠˆํŒ… ๊ฒŒ์ž„(Wolfenstein 3D)์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.(This project is inspired by the world-famous eponymous 90’s game(Wolfenstein 3D), which was the first FPS ever)
  • ray casting ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌํ˜„
    • mapfile์— ๋”ฐ๋ผ ๊ทธ๋ž˜ํ”ฝ์ด ๋‹ค๋ฅด๊ฒŒ ์ถœ๋ ฅ
    • ๋ฒฝ, ์žฅ์• ๋ฌผ ํ†ต๊ณผ ๋ถˆ๊ฐ€
    • --save ํ†ตํ•ด ํ”Œ๋ ˆ์ด์–ด ์‹œ์ž‘์  screenshot ์ €์žฅ
    • W,A,S,D,Q,E๋ฅผ ํ†ตํ•ด ์ด๋™, ์‹œ์  ๋ณ€ํ™˜ ๊ฐ€๋Šฅ, ESC ํ‚ค ์ž…๋ ฅ์‹œ ๊ฒŒ์ž„ ์ข…๋ฃŒ
    • BGM, HUB ์ถ”๊ฐ€

๐Ÿ“ Review

  • C๋กœ ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ด ๊ฒŒ์ž„์„ ๋งŒ๋“ ๋‹ค๋Š” ์ƒ์ƒ๋„ ๋ชปํ–ˆ๋‹ค.
  • 2D ํ™”๋ฉด์„ 3D ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“œ๋Š” ray casting ๊ธฐ์ˆ ์€ ๋†€๋ผ์› ๋‹ค.(์ˆ˜ํ•™์ด ์–ด๋ ค์› ์ง€๋งŒ… ์ž˜ ๊ตฌํ˜„ํ–ˆ๋‹ค.)
  • ๋””ํ…Œ์ผํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„๋„ ๋งŽ๊ณ , ์™„๋ฒฝํ•œ Wolfenstein 3D์™€ ๊ฐ™์ง„ ์•Š์ง€๋งŒ ์ถ”๊ฐ€ ์‚ฌํ•ญ์œผ๋กœ HUB(Head up display)์™€ BGM ๋“ฑ ์ถ”๊ฐ€์ ์ธ ์š”์†Œ๋ฅผ ๋„ฃ์œผ๋ฉด์„œ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์˜ ์•ฝ๊ฐ„์˜ ํฅ๋ฏธ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์—ˆ๋‹ค.
  • BGM์„ ์‚ฌ์šฉ์„ ์œ„ํ•ด ๋ถ€๋ชจ/์ž์‹ ํ”„๋กœ์„ธ์Šค fork() ํ™œ์šฉ
  • ์ถ”๊ฐ€ ๊ฐœ์„ ์‚ฌํ•ญ : multi thread, ๋งˆ์šฐ์Šค ์‚ฌ์šฉ, ๊ฒŒ์ž„์ ์ธ ์š”์†Œ, ์ž์—ฐ์Šค๋Ÿฌ์šด ์›€์ง์ž„

๐Ÿ Run

  • Basic Version
cub3d_basic
  • screenshot
cub3d_screenshot
  • ์ธํ„ฐ์Šคํ…”๋ผ Version
cub3d_bonus

๐Ÿ”— Reference

๐Ÿง‘๐Ÿป‍๐Ÿ’ป Author

kukim

ํƒœ๊ทธ

, ,

๋Œ“๊ธ€0