KR20010048162A - 화면분할을 이용한 아케이드 게임보드용 스프라이트 구현 - Google Patents

화면분할을 이용한 아케이드 게임보드용 스프라이트 구현 Download PDF

Info

Publication number
KR20010048162A
KR20010048162A KR1019990052732A KR19990052732A KR20010048162A KR 20010048162 A KR20010048162 A KR 20010048162A KR 1019990052732 A KR1019990052732 A KR 1019990052732A KR 19990052732 A KR19990052732 A KR 19990052732A KR 20010048162 A KR20010048162 A KR 20010048162A
Authority
KR
South Korea
Prior art keywords
sprite
screen
output
information
circuit
Prior art date
Application number
KR1019990052732A
Other languages
English (en)
Inventor
김윤식
Original Assignee
박성규
주식회사 에프투 시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박성규, 주식회사 에프투 시스템 filed Critical 박성규
Priority to KR1019990052732A priority Critical patent/KR20010048162A/ko
Publication of KR20010048162A publication Critical patent/KR20010048162A/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 아케이드(업소용) 게임구현에 있어 중요한 부분을 담당하는 2차원 화면 디스플레이 회로에 최적화된 자료구조 기법과 이를 응용할 수 있는 스프라이트 구동 회로를 구성함으로써 기존의 아케이드 게임기에서 표현할 수 있는 스프라이트(오브젝트) 한계를 벗어나 획기적으로 많은 내용을 화면에 출력 가능토록 하는 것이다.
본 회로는 기존의 일반적인 아케이드 게임기 회로를 이용하여 이를 소프트웨어(프로그램)에서 응용함으로 화면에 표현되는 스프라이트 양을 평균 7배 정도 늘려 출력할 수 있으며, 이를 이용한 아케이드 게임 개발자에게 표현의 자유와 한계를 넓힘으로써 아케이드 산업에 있어 타사와의 경쟁력을 키워줄 수 있는 밑거름이며, 저 비용으로 고성능의 회로를 보유함으로써 커다란 경제적인 이득을 줄 수 있는 신기술이다.
본 발명의 주요부분은 일반적으로 아케이드 게임기의 성능향상을 위해 고비용으로 전자부품을 삽입하여 회로를 일일이 구성하는 방법을 탈피하고, 저렴한 기본 회로만을 최적화 하여 구성하고 이를 고성능의 메인 프로세서(CPU)에서 보조하여 처리 함으로써 기타 주변에 회로들에게 이루어지는 동작과 기능을 고성능 CPU에서 보조하는 방법이다.
따라서 메인보드의 성능향상에 비해 매우 저렴하게 회로를 구성 할 수 있으며, 전체적인 프로그램의 속도 또한 고성능의 CPU를 채택함으로써 매우 고속으로 처리되는 장점을 가진다.

Description

화면분할을 이용한 아케이드 게임 보드용 스프라이트 구현 {Sprite embody arcade game board taked use of screen division}
본 발명은 아케이드 게임을 개발하기 위한 아케이드용 게임기 메인보드의 스프라이트 디스플레이 구동 회로 및 처리방법에 관한 것이다. 아케이드(업소용) 2차원 게임에 영상출력 장치를 담당하는 중요한 요소 중 하나인 스프라이트 (SPRITE) 는 화면에 그림을 출력하는 여러 방법 중 프로그래머가 손쉽고 빠르게 적용하여 사용할 수 있으며, 표현의 폭이 넓기 때문에 고성능의 아케이드 게임에서는 필수적으로 사용되고 있는 그림 출력 방법 중 하나이다. 아케이드 게임보드 화면에 2차원 그림을 출력하는 방식은 크게 3가지로 나뉘게 된다. 첫번째가 비트맵(BIT MAP)방식으로 화면에 출력되는 내용을 한 개의 점단위로 지정하는 방식으로 점 하나의 내용을 일일이 프로그램으로 지정할 수 있어 표현력이 가장 자유로운 장점을 가진 방식이지만 그와 반대로 많은 그림 데이터를 일일이 관리 해야하는 문제가 있어 속도면에서 가장 늦다는 단점이 있다. 그렇기 때문에 보편적으로 CPU의 속도가 빠른 PC에서 기본방식으로 사용하고 있으며, 아케이드 보드에서는 한글, 한문 출력이라든지 기타 그림내용을 점 단위로 변화시킬 필요가 있을 때만 회로로 구성하여 사용하게 된다. 두번째로는 폰트맵(FONT MAP)방식으로 그림 내용을 4 ×4, 8 ×8, 16 ×16, 32 ×32 등의 크기로 쪼개 블럭을 폰트화 하여 메모리에 저장한 다음 출력하는 방법으로 다른방법에 비해 회로가 간단하고 출력이 한번에 4 ×4, 8 ×8, 16 ×16, 32 ×32로 이루어 지기 때문에 출력이 빠르다는 장점이 있지만 화면위치도 4, 8, 16, 32등의 배수로 지정된 곳에 하나의 폰트만을 출력하기 때문에 표현의 제한을 받게 되는 단점이 있어 일반적인 아케이드 보드에서는 배경화면 출력용으로 주로 사용하고 있으며, 한 좌표에 한개의 폰트만을 출력할 수 있다는 단점을 보완하고자 다른 종류의 크기를 가진 2~3장의 폰트 맵 화면을 겹쳐 사용하는 경우도 종종있다. 세번째는 스프라이트 혹은 오브젝트라 불리는 방식이다. 폰트맵의 단점을 보완한 것으로 출력될 그림을 폰트맵과 같이 4 ×4, 8 ×8, 16 ×16, 32 ×32 등의 크기(일반적으로 16 ×16 크기를 주로 사용)로 쪼개어 그 블럭을 메모리에 폰트화 하여 저장한 다음 출력되는 화면의 좌표는 비트맵 방식과 동일하게 점단위로 자유롭게 지정할 수 있다. 또한 폰트는 한 지정좌표에 1개 만을 출력하는데 스프라이트 방식은 그 이상의 폰트를 여러개를 겹쳐서 출력하는 것도 가능하다는 장점이 있지만 이러한 기능을 구현하는데 소요되는 회로비용이 비트맵이나 폰트맵을 사용하는 방식보다 많이 든다는 단점이 있다. 스프라이트 구현에 있어 방법은 두가지로 나뉜다. 한가지는 화면 주사선에 맞추어 스프라이트 정보를 검색하여 출력하는 주사선 스캔방식이고, 또 하나는 프레임 버퍼를 두고 주사기간 동안 화면 프레임 버퍼 메모리에 스프라이트 정보를 읽어 그려주는 프레임 방식이다. 본 발명자는 전자의 스캔방식을 채택하였다. 그렇기 때문에 한 라인 선상의 최대 오브젝트 개수 제한이라는 걸림돌이 생기게 되었지만 본 발명자의 스프라이트 구현 회로에 비해 가격 부담이 큰 프레임 버퍼 방식에서도 일반적으로 최대 512개의 오브젝트를 출력할 수 있는 반면에 본 발명기술을 이용하여 스캔라인 방식으로 스르파이트 출력회로를 개발 하였을시 기존 사용하던 클럭속도로 (7MHz)구성된 스프라이트 회로에서 최소 1,500개 이상 출력 가능하게 되었으며 화면의 해상도에 따라 2,000개 이상 출력도 가능하게 되었다. 또한 스프라이트 처리 회로가 간단하기 때문에 회로의 클럭속도를 4배 가량 증폭시키고 주변 처리회로를 추가로 구성하여 병렬로 연장하여 연결시킬 수 있으며, 이때에는 약간의 주변회로와 4배의 클럭을 이용하여 화면상에 6,000개 이상의 스프라이트 출력이 가능해진다.
오브젝트 처리방식 비교
출력방법구 분 스캔 라인 방식 프레임 버퍼 방식
화면 프레임 버퍼 화면 주사시 출력되는 내용을 즉시 결정하기 때문에 프레임버퍼는 필요없다. 화면 주사시 작업하여 다음 프레임에 보여주어야 하므로 꼭 필요하다.
라인당 스프라이트 출력제한 주어진 가로방향 화면 주사타이밍 때문에 한줄에 출력 가능한 개수 제한이 있다. 주사기간동안 프레임 버퍼에서 따로 작업하기 때문에 라인 한계는 없다.
스프라이트 출력에사용되는 시간 화면X축 주사시간 동안 가능하며 화면Y축만큼 반복 동작한다. 프레임 버퍼에서 작업하기 때문에 화면 전체 주사시간 동안 계속 가능하다.
스프라이트 출력위치 현재 주사되고있는 화면 Y축 좌표, X축 선상의 스프라이트내용 화면전체에 출력될 스프라이트
출력내용과 시차 현재 화면 주사시 출력되기 때문에 동일하다. 내용을 프레임 버퍼에서 작업 후 다음 주사기간동안 보여주므로 한프레임 후에 눈에 보인다.
일반적인 회로에서스프라이트 처리량 한 라인에 주어진 시간동안 그려야 하기 때문에 일반적으로 출력되는 스프라이트가 적다. 한 화면 전체에 주어진 시간동안 그리므로 일반적으로 출력 스프라이트가 많다.
일반적인 회로에서스프라이트 최대 출력량 256개 이하 512개 이하
하드웨어 구성단가 저가로 구성 가능하다. 별도의버퍼를 구성해야 하므로 약간의 가격부담이있다.
오브젝트 연결속성 구성 세로 방향으로만 연결된 처리가 가능하다. 출력되는 오브젝트수를 가로, 세로 각각 지정하여 연결할 수 있다.
본 발명의 목적은 저가의 고성능 게임보드를 개발하기 위해 최근 기술로 개발된 새로운 반도체 칩을 도입하여 종래의 반도체 칩보다 빠른 속도로 동작됨으로써 중복적으로 사용하는 반도체 부품을 삭제하였고, 메인 프로세서 또한 고속으로 동작하는 칩을 사용함으로써 기존의 CPU 주변 회로에서 이루어 지는 전자적인 동작을 프로그래밍 기법으로 CPU가 처리하게 되었다.
도 1은 본 발명에 따른 화면분할을 이용한 아케이드 게임보드용 스프라이트 구현회로의 구성을 개략적으로 나타낸 블록도.
도 2는 도1의 스프라이트 구현회로의 구성을 상세하게 나타낸 블록도이다.
* 도면의 주요부분에 대한 부호의 설명 *
10 : CPU 20 : 메모리 30 : 영상처리부
31 : 제1인터페이스부 32 : 화면분할부 33 : 스프라이트구동부
34 : 클럭발생부 35 : 제3인터페이스부 40 : 영상데이타
50 : 영상표시부
본 발명의 핵심기능은 다음과 같다. 스캔라인 방식의 스프라이트 출력 구동 회로의 원리는 비디오 화면에 스프라이트 영상을 출력하기 위해서 CRT(모니터 브라운관)의 전자총 화면 주사 동기화 클럭과 타이밍을 맞추어 메모리에 저장된 스프라이트 정보를 읽어낸다. 화면의 화소는 일반적으로 가로방향으로 320화소, 세로방향으로는 240화소이다. (세로축 16화소는 모니터의 가로, 세로 크기 비율과 화소 입자크기 비율을 맞추기 위해 일반적으로 사용치 않는다.) 스캔라인 방식으로는 스프라이트를 출력하는 일반적인 회로에서 가로방향 320화소동안 주어지는 동기화 타이밍은 448클럭이다. 또한 화면 주사 동기화 클럭내에서 출력되어질 스프라이트를 정보가 저장된 메모리로부터 읽어 현재 주사위치에 스프라이트를 출력해야 하는지를 결정 해야만 한다. 메모리에 저장된 스프라이트 정보를 이용하여 화면 주사선이 현 위치를 지나갈때 출력되어야 하는지를 판단해야 하기 때문이다. 이때 1개의 스프라이트 정보를 읽어 출력 여부를 판단하기까지는 1클럭이 필요하게 되며 출력이 결정되면 스프라이트 그림 내용을 출력하는데 7클럭이 추가로 더 필요하게 된다. 결국 1개의 스프라이트 정보를 확인 후 출력하는데 까지 소비되는 클럭은 8클럭 사용되는데 기존의 스캔방식 아케이드 보드에서 라인당 최대 스프라이트 출력이 56개로 고정된 것이 이러한 이유이다. (448클럭 / 8클럭 = 56개)만약 최악의 상황에 이르러 440번째 클럭에 검색되는 정보가 출력되어질 스프라이트라면 출력되는데 사용되는 8클럭을 소비하고 난 후 그 이후로는 어떠한 정보도 검색할 수 없고 출력 또한 불가능하게 된다. 주어진 클럭을 전부 소비하면 현재 위치에 출력되어야 할 정보라 하더라도 더 이상 출력을 위한 구동 동기 클럭이 남지 않았기 때문에 화면에는 아무런 변화도 기대할 수 없다. 또한 첫번재 스프라이트 정보가 출력과는 상관없는 불필요 정보였다면 이것을 판단하는데 이미 1개의 클럭을 소비하였기 때문에 그 이후에는 현재 라인위치에는 56개의 스프라이트 모두를 출력할 수 없게 된다. 맨 나중 1개의 클럭이 모자라기 때문이다. 그래서 일반적으로 사용되는 아케이드 보드에는 스프라이트 정보가 256개가 있고 이 정보는 화면 전체를 주사하는 동안 지속적으로 스프라이트 구동회로로 부터 읽혀져 검색한 후 출력 여부를 판단하게 된다. 하지만 이 회로에서는 화면 전체의 위치에 있는 스프라이트 정보를 가지고 있기 때문에 아무리 스프라이트 정보를 최적화 해도 256개의 스프라이트를 출력하는 것은 무리가 있으며 이론상 스프라이트 440개 이상은 절대로 출력이 불가능하게 된다. 하지만 이러한 문제를 해소하고자 본 발명자는 불필요한 화면 관련 클럭을 없애고 클럭을 최적화하여 화면 주사 클럭을 2배 증가시켜 사용할 수 있게 되어 실제 사용되는 클럭을 896으로 증가 시켰으며 이것만으로도 일반적인 스캔라인 방식의 아케이드 보드에서 사용하는 스프라이트 개수를 2배 증가 시킬 수가 있었다. 또한 불필요하게 이루어지는 스프라이트 검색 클럭을 없애고 화면에 다양하게 많은양의 스프라이트 출력이 가능하도록 하였다. 일단 불필요한 검색을 방지하고 효율적인 메모리 관리를 위해 화면을 세로방향으로 16등분을 나누어 화면 Y축 좌표 0~15, 16~31, 32~47, 48~63...의 단위로 분리된 화면을 따로 만들었다. 즉, 가로 320, 세로 16의 화면이 15개 생겨난 것이 되었다. 하지만 이것은 화면에 보여질 때는 마치 하나인 것 처럼 서로의 영역이 서로 연결되어 있도록 하였고 현 화면과 다음 화면에 반씩 겹친 그림일 경우 서로의 영역에 출력되어질 스프라이트 정보가 서로 공유하도록 하였다. 스프라이트 정보는 256개씩 16개 블럭으로 따로 관리하였으며 해당 화면에는 1개의 스프라이트 크기인 16*16도트와 같은 Y축 16도트 화면을 가지게 됨으로 항상 출력되어질 정보만 있게 되었다. 그로인해 화면 스프라이트 정보는 불필요한 검색이 필요 없게 되었다. 그리고 스프라이트 출력 구동회로에서는 주사선의 Y좌표가 16단위로 이동시마다 검색하는 스프라이트 정보의 메모리의 위치를 바꾸어 가면서 새로운 화면에 출력하는 것과 같이 동작하게 됨으로 줄당 최대 56개씩 15개 블럭을 출력 가능하게 된 것이다. 이러한 방법으로 일반적인 아케이드 회로에서는 850개 (56개 ×15개 화면블럭 = 840개)의 스프라이트를 출력할 수 있게 되었고 본 발명자의 하드웨어에서는 전자에 설명하였듯이 라인당 화면 주사 동기를 896클럭으로 늘렸기 때문에 1,680이라는 방대한 양의 스프라이트 구현이 가능해진 것이다. 이것은 일반 아케이드 보드에 비하여 7배가 많은 양이며, 구현하는데 소요되는 비용 또한 저렴하다. 이러한 방대한 양의 스프라이트 처리와 분할된 화면 데이타 처리를 위해 고속의 CPU를 채택하였으며, 프로그램에서 스프라이트 정보를 분할된 화면에 따라 정렬하여 배치토록 하였다.
출력방법구 분 기존 스프라이트 구현방식 새로운 스프라이트 구현방식
화면 해상도 X축 320 * Y축 240 Dot X축 320 * Y축 16 Dot *15블럭
스프라이트 영역 화면크기 X축 320 * Y축 240 Dot X축 320 * Y축 16 Dot
스프라이트 정보검색 화면 전체에 대한 스프라이트 정보를 검색한다. 16단위 분할된 일부화면에 대한 스프라이트를 검색한다.
검색된 정보의 정확성 화면 전체에 대한 정보이기 때문에 사용될 확률은 6.5정도이다. 분할된 화면의 Y축 크기가 스프라이트 크기와 같기 때문에 사용될 확률은 50이상이다.
최대 스프라이트 출력갯수 256개 이하 56개 * 15블럭 = 840개
스프라이트 정보 256개 정보를 가진다. 256개씩 15개의 분할된 정보를가진다.
저가의 아케이드 보드로 1,500개 이상의 스프라이트를 출력할 수 있는, 성능이 향상된 기능의 아케이드 보드를 사용할 수 있게 되어 게임 프로그램 개발에 있어 그래픽 화면을 보다 다양하게 구현하고 복잡한 애니메이션도 표현할 수 있게 되었으며, 예전에 스프라이트 표현부족으로 인하여 개발이 불가능한 게임도 개발 가능하게 되었고, 프로그램 속도 또한 고속의 칩을 사용함에 따라 보다 복잡하고 정밀한 로직이 가능하게 됨은 물론 경쟁국가의 개발사들과의 경쟁력을 키우는데 커다란 밑거름이 되었다.

Claims (2)

  1. 스캔라인 방식의 스프라이트 구현 회로에서 출력되는 화면영역을 분할하여 따로 관리하여, 화면 주사시 스프라이트 정보가 담겨있는 메모리의 위치를 화면 블럭별로 이동하면서 스프라이트 정보를 검색하는 게임 기판 회로부.
  2. 분할된 화면 블럭별로 저장되어 있는 스프라이트 정보를 따로 관리하기 위하여 게임 프로그램에서 화면에 스프라이트 출력 요구시 화면 좌표에 따라 블럭별로 나누어진 화면에 스프라이트 정보를 담고있는 메모리에 피료한 정보만을 가지도록 정렬하여 저장하는 프로그램 정렬 로직 라이브러리.
KR1019990052732A 1999-11-25 1999-11-25 화면분할을 이용한 아케이드 게임보드용 스프라이트 구현 KR20010048162A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990052732A KR20010048162A (ko) 1999-11-25 1999-11-25 화면분할을 이용한 아케이드 게임보드용 스프라이트 구현

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990052732A KR20010048162A (ko) 1999-11-25 1999-11-25 화면분할을 이용한 아케이드 게임보드용 스프라이트 구현

Publications (1)

Publication Number Publication Date
KR20010048162A true KR20010048162A (ko) 2001-06-15

Family

ID=19621818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990052732A KR20010048162A (ko) 1999-11-25 1999-11-25 화면분할을 이용한 아케이드 게임보드용 스프라이트 구현

Country Status (1)

Country Link
KR (1) KR20010048162A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4572506A (en) * 1983-06-03 1986-02-25 Commodore Business Machines Raster line comparator circuit for video game
JPH07312721A (ja) * 1994-05-18 1995-11-28 Sega Enterp Ltd 画面切替え方法及びこれを用いたゲーム装置
KR100215441B1 (ko) * 1996-02-28 1999-08-16 윤종용 텔레비전의 온스크린그래픽(On Screen Graphic)기능을 위한 스프라이트(Sprite) 그래픽 구현장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4572506A (en) * 1983-06-03 1986-02-25 Commodore Business Machines Raster line comparator circuit for video game
JPH07312721A (ja) * 1994-05-18 1995-11-28 Sega Enterp Ltd 画面切替え方法及びこれを用いたゲーム装置
KR100215441B1 (ko) * 1996-02-28 1999-08-16 윤종용 텔레비전의 온스크린그래픽(On Screen Graphic)기능을 위한 스프라이트(Sprite) 그래픽 구현장치

Similar Documents

Publication Publication Date Title
US5594473A (en) Personal computer apparatus for holding and modifying video output signals
US4874164A (en) Personal computer apparatus for block transfer of bit-mapped image data
US4204206A (en) Video display system
EP0473391B1 (en) Display of scrolling background images composed of characters
US4529978A (en) Method and apparatus for generating graphic and textual images on a raster scan display
EP0172312A2 (en) Data display systems
JPH09245179A (ja) コンピュータグラフィックス装置
WO2022179362A1 (zh) 一种图像融合方法以及装置
KR100281949B1 (ko) 영상 드로잉 장치
CA1200025A (en) Graphic and textual image generator for a raster scan display
JP3072920B2 (ja) 加工シミュレーション装置
KR20010048162A (ko) 화면분할을 이용한 아케이드 게임보드용 스프라이트 구현
Shires A new VLSI graphics coprocessor-the Intel 82786
EP0711444A1 (en) Low latency update of graphic objects in an air traffic control display
EP0843299B1 (en) Image processing apparatus
US5157766A (en) Boundary drawing and area filling logic for a display system
US5727190A (en) Method and system for the acceleration of graphics images in a multiprocessor or preemptive processing computer system
JP3729187B2 (ja) 画像表示装置
JP3322109B2 (ja) 表示制御装置
KR0145709B1 (ko) 컴퓨터 그래픽 시스템
JP2898482B2 (ja) コンピュータゲーム装置
JP2753349B2 (ja) 任意角回転画像データ入出力方法及びその入出力回路並びにこれらを用いた電子ファイル装置
JP2903514B2 (ja) 高速描画方法
US5305431A (en) Method and system for rendering polygons on a raster display
JP3005220B2 (ja) 走査型表示制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application