스크래치에서 시작-휠을 다시 발명하면 실수입니까?


31

일반적으로 게임을 시작하고 싶을 때마다 렌더링을위한 기본 구조가 좋으며 처음부터 더 나은 게임 루프를 생각합니다. 일반적으로 기존 엔진을 사용하고 싶지 않습니다. 그 이유는 물건을 배우기 위해 스스로 구현하고 싶어하기 때문입니다.

그러나 많은 블로그와 개발자들은 바퀴를 다시 발명하는 것이 좋은 옵션이 아니라고 말합니다.

뭔가 빠졌습니까?


실제로 얼마나 자주 게임을 시작합니까? 아이디어를 빠르게 반복하는 경우 효과가있는 작업을 수행하십시오. 실수가 많거나 시간이 제한된 매그넘 운영 체제를 만드는 경우 왜 휠을 재발 명하는 데 시간이 낭비됩니까? 일이 어떻게 작동하는지 배우는 데 관심이 있다면, 자신 만의 기술을 쓰지 않겠습니까? 당신의 목표는 무엇입니까?
ChrisE

답변:


16

전혀 나쁜 일이 아닙니다. 학습과 학습 능력은 훌륭한 프로그래머가되기위한 절대적인 기초입니다.

그러나
처음부터 무언가를 만들 때 중요한 것은 그것을 완성하는 것입니다. 얼마나 해킹되고 최적화되지 않았는지는 중요하지 않습니다. 완성하면 다른 사람과는 다른 만족감이 있습니다. 그것은 모두 당신에게 귀중한 경험을 줄 것이고 당신은 항상 기능적인 것을 얻었을 때 항상 코드를보다 우아하게 만들거나 더 잘 수행 할 수 있습니다. 하루가 끝나면 멋진 프로그래머와 평범한 사람들을 분리하는 유일한 것은 경험과 연습입니다.

물론 무언가를하고 더 많은 게임을 만들고 싶을 때 이전 코드베이스를 재사용 할 이유가 없습니다.

게임 개발이나 어떤 종류의 개발 분야에서 경력을 쌓으려고한다면 경험이 매우 멀리 갈 것입니다. 그러나 게임을 빠르고 쉽게 (상대적으로 직접 작성하는 것과 비교하여) 쉽게 만들려면 기존 엔진을 사용하십시오.

솔직히 말해서 자신의 코드를 사용한 경험과 다양한 다른 라이브러리와 엔진을 사용한 경험이 훨씬 더 나은 코더가 될 것입니다.


도움이되는 Ray 감사합니다! 그러나 당신은 게임 메카닉도 열거 할 수 있습니까?
Ayyappa

문제 없어. 원래 질문의 맥락에서 당신이 무엇을 의미하는지 완전히 확신하지 못합니다. 특히 무엇을하고 있습니까?
Ray Dey

괜찮습니다. 별도의 질문으로 만들 것입니다.이 게시물의 다른 질문은 컨텍스트와 관련이 없기 때문에 제거 (편집)되었습니다.
Ayyappa

마무리 라인에 +1- 실제로 프로젝트를 완료 하는 것은 좋은 경험입니다.
Cyclops 2019

36
i want to implement it on my own to learn stuff.

아마도 가장 중요한 것입니다. 배우는 것이 목표라면, 자신 만의 렌더링 및 게임 루프 엔진을 처음부터 작성하는 것이 좋고 완벽하게 좋은 학습 경험입니다. 완성 된 게임을 빠르고 쉽게 만드는 것이 목표라면 기존 프레임 워크를 사용하십시오.


3
+1. API 또는 써드 파티 라이브러리 모든 구현 세부 사항을 추상화 할 수 있다고해서이를 알 필요는 없습니다. '기성품 휠'을 사용하면 완성 된 코드를 더 빨리 작성할 수 있습니다. 그러나 자신 만의 휠을 만들면 어떤
프리 메이드

4
+1 바퀴를 만드는 법을 배우지 않는 한 바퀴를 재발 명하지 마십시오.
zzzzBov

4
이것은 게임 엔진 디자인 에 대한 기술을 향상 시키지만 게임 디자인에는 기술을 향상 시키지 않는다는 것을 기억하십시오 .
Dave O.

이것은 또한 가치있는 답변입니다 ... 감사합니다 ...하지만 두 가지 답변을 표시 할 수 없다는 것은 좋지 않습니다 :(
Ayyappa

10

바퀴를 재창조하면 바퀴가 어떻게 작동하는지 알려줍니다.


5

당신이 무엇을하는지에 따라 다릅니다. 배우고 싶다면, 원하는만큼의 바퀴를 재창조하십시오. 나는 그것을 위해 자신의 JVM 또는 PNG 로더를 작성한 사람들을 알고 있습니다.

대부분의 블로그는 아마도 당신이 빨리 돈을 지불하는 것들에 도달하는 방법에 대한 조언을 줄 것이지만, 그것이 장기적인 전략인지는 잘 모르겠습니다. 가지고있는 것을 모른다면 그것이 좋은 선택인지 어떻게 알 수 있습니까? 당신은 무엇을 할 것인가 이 문제를 공격, 포럼에 징징 이동, 또는 당신이 스스로 알아낼 수 있습니까?


4

일반 프로그래밍 커뮤니티 에서이 문구에 대해 많은 낙담이 있지만 우리 모두는 바퀴를 재발 명하고 바퀴를 조금 더 좋고 빠르며 시원하게 만드는 방법을 찾는 것 이상을 좋아한다는 것을 알고 있습니다.

사람들이 바퀴를 재창조해야하는 새로운 기술이 항상 나오고 있습니다. OpenCL 및 기타 GPU 컴퓨팅 언어가 좋은 예입니다.

올해의 새로운 기능이 포함 된 프레임 워크를 사용할 수 있지만, 실제로 연구를 수행하고 이미 개선 된 사항을 개선 할 경우 자체적으로 만드는 프레임 워크를 사용할 수 있습니다. 성능과 유틸리티 분야에서 새로운 지평을 열 수 있습니다.

롤링을 위해 몇 바퀴를 발명하면 강력한 보너스뿐만 아니라 물건을 알 수 있습니다!

게다가 좋은 재미입니다.


1

휠을 재발 명하기 때문에보다 생산적이라고 주장하는 사람들이 있습니다.

사례 : World of Love의 제작자 Eskil Steenberg (게임, 엔진 및 멋진 도구, 철학에 대한 탁월한 비디오 : http://vimeo.com/18423305 )


1

처음이라도 배우기위한 것 일지라도 엔진이 제공 할 수있는 것을 배우기 때문에 어떤 종류의 엔진을 사용하는 것이 좋습니다.

은유에 사용 된 "바퀴"는 개념이 아니라 구현입니다. 바퀴를 재발 명하지 않더라도, 당신은 여전히 ​​당신이 하나를 사거나 직접 만들 것인지 선택해야합니다. 따라서, 자신 만의 엔진을 만드는 것이 바퀴를 재발 명하는 것조차도 아닙니다. 학습, 저비용, 작은 크기 또는 특정 용도 또는 요구 사항에 대한 목적으로 자신의 바퀴를 만드는 것입니다.


0

문제는 게임을 할 때 많은 시간이 걸리는 것이 실제 콘텐츠와 자산 생성 및 테스트이며 일반적으로 코드를 작성하는 것이 아닙니다. 그렇기 때문에 해당 부분을 건너 뛰고 기존 엔진을 사용하여 콘텐츠, 게임 디자인 및 더 높은 수준의 버그에 더 많은 시간을 할애 할 수 있습니다.

처음부터 배우기 위해 무언가를하면 기존 엔진 뒤의 작업에 좋은 느낌을 줄 수 있으며 나중에 필요한 경우 나중에 선택할 수있는 능력이 향상 될 것입니다.

재미와 학습을 위해, 당신이 좋아하는 것을하십시오. 컨텐츠 파이프 라인 클래스를 처음부터 작성해야한다면, 파일 시스템 및 자산 로더의 모든 성가신 세부 사항과 에지 사례를 처리하는 방법을 익히는 한, 나는 그것을하는 방법에 대해 정말 잘 알고있을만큼 충분히 배웠다면, 누군가가 이미 잘 해냈다면 그렇게하지 않는 경향이있다. (하지만 사실 많은 프레임 워크와 엔진은 무언가를 다시 쓰게하는 "좋은"아이디어에 맞지 않을 것이다). 어떻게해야할지 모르겠다면 Ray Dey가 이미 언급 한 것과 같은 세부 사항을 파악하기 위해 한 번 이상 완료하는 것이 좋습니다.


0

배울 시간이 없다면 실수 일뿐입니다. 시간이 있다면 가십시오. 당신이하지 않으면,하지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.