:: 게시판
:: 이전 게시판
|
- 모두가 건전하게 즐길 수 있는 유머글을 올려주세요.
- 유게에서는 정치/종교 관련 등 논란성 글 및 개인 비방은 금지되어 있습니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
21/01/15 00:54
온갖 수로 하드웨어의 한계를 극복하는 방법을 찾는게 당시의 게임 프로그래머들이었죠. 저 마리오 스프라이트도 사실 4개가 합쳐진거고 ( 패미컴 스프라이트 사이즈가 8x8... ) 최대 표현 캐릭터 수 4개 보다 캐릭터가 화면에 많아지면 깜빡이게 해서 교차해서 보여주는 방식으로 극복했죠.
21/01/15 00:57
https://www.joinc.co.kr/w/Site/Assembly/Documents/ProgrammingGroundUp/makefirstprog.html
# The following memory locations are used: # # data_items - 비교할 숫자데이터들 0은 마지막을 나타낸다. # .section .data data_items: # 숫자 데이터들 .long 3,67,34,222,45,75,54,34,44,33,22,11,66,0 .section .text .globl _start _start: movl $0, %edi # move 0 into the index register movl data_items(,%edi,4), %eax # load the first byte of data movl %eax, %ebx # since this is the first item, %eax is # the biggest start_loop: # start loop cmpl $0, %eax # check to see if we ve hit the end je loop_exit incl %edi # load next value movl data_items(,%edi,4), %eax cmpl %ebx, %eax # compare values jle start_loop # jump to loop beginning if the new # one isn t bigger movl %eax, %ebx # move the value as the largest jmp start_loop # jump to loop beginning loop_exit: # %ebx is the return value, # and it already has the number movl $1, %eax #1 is the exit() syscall int $0x80 쉽네~
21/01/15 00:59
오락기 아랑전설인가 kof인가 나올때... 대용량(?)이라면서 메가쇼크...어쩌구 했는데...
그 메가쇼크도 1메가바이트가 아닌 1메가비트 =128k바이트입니다. 그리고 예전에 어셈을 짜는 그래픽대회가 있었는데... 그제한이 64k바이트였어요.....
21/01/15 01:02
아랑전설이 당대 게임들과 비교하면 대단한 그래픽이긴 했죠
필살기 쓸때 줌인 줌아웃도 되고 말이죠 지금 보면 저게 뭔가 싶지만, 크크
21/01/15 02:22
https://www.youtube.com/watch?v=3xc3uDRuwhU
메가쇼크는 아니고 100 메가 쇼크였죠 12.5MB
21/01/15 01:03
저는 관련 지식이 없어서 정확하게 얼마나 구체적으로 대단한건지 모르지만, 저의 인생게임이라고 할 수 있는 파이널 판타지 6의 용량이 3메가라는 것을 알았을때 뭐랄까 그냥 현실감이 안느껴지더라구요.
21/01/15 01:10
1보다 용량은 당연히 크지만 그래도 여전히 1mb가 안 되는 용량으로 슈퍼마리오 3를 구현한 건 대단하다는 생각밖에... 진짜 엄청난 게임을 만들었죠.
21/01/15 01:18
OS가 아예 없진 않습니다. 안그러면 처음 켰을때 닌텐도 로고가 나올 수가 없죠...;;
물론, 그래픽 드라이버도, 그래픽 API도 없어서, 쌩으로 하드웨어 제어 하는건 매한가지긴 합니다만(...)
21/01/15 01:17
그 수준이 아니라, 부동소수점 연산도 없다고 봐야 하기 때문에, 전부 integer만 이용하던지, 아니면 고정소수점을 쓰던지 해야 했습니다.
심지어 sin, cos 같은 삼각함수도 연산 느리다고 안쓰던 시절이에요. 테이블 이용하고 그랬죠...;; 잠깐... 그럼 점프는 어떻게 만든거지...?
21/01/15 01:15
그때는 그게 당연한거였으니...;;
거기다가 저 돌아가는 CPU가 8비트라, 메모리 용량 압박과 더불어서 처리속도, 메모리 버스 크기의 압박까지... 저 시절까지는 아니더라도, 16비트 업소용 게임을 개발해본적이 있어서, 저게 얼마나 빡센건지 대충은 압니다. 크크크... 16비트 시절까지만 해도, C/C++, 파스칼 이외의 다른 언어로는 게임을 짠다는 걸 상상도 못하던 시절이죠.
21/01/15 01:42
8비트 어셈블러가 지금 x86_64 어셈블러보다 훨씬 쉽기는 하지만, 그건 지금 소스를 읽을때 얘기지 짤때 얘기는 아니죠. 메모리만 작은게 아니라, 레지스터 갯수도 적고 지금처럼 맵 전체를 메모리에 올려주는거 자체가 말이 안되는 시절...
21/01/15 09:47
터보파스칼이 통합개발환경(IDE, editor + compiler + debugger)임에도 38KB, help 파일까지 합쳐도 40KB라,
플로피에 기본적으로 같이 넣어 다녀도 부담이 안 되었죠. 지금 생각하면 그게 어떻게 가능했지? 하는 얘기입니다만...
|