JPH07633A - 連結オブジェクトからなるキャラクタの表現方法 - Google Patents
連結オブジェクトからなるキャラクタの表現方法Info
- Publication number
- JPH07633A JPH07633A JP4207097A JP20709792A JPH07633A JP H07633 A JPH07633 A JP H07633A JP 4207097 A JP4207097 A JP 4207097A JP 20709792 A JP20709792 A JP 20709792A JP H07633 A JPH07633 A JP H07633A
- Authority
- JP
- Japan
- Prior art keywords
- objects
- coordinates
- character consisting
- connected objects
- work area
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 7
- 230000014509 gene expression Effects 0.000 claims abstract description 3
- 241000270295 Serpentes Species 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005295 random walk Methods 0.000 description 3
Landscapes
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】
【目的】 コンピュータゲーム装置において連結した複
数のオブジェクトからなるキャラクタの動きを、少ない
ワークエリアで表現する。 【構成】 コンピュータゲーム装置において連結した複
数のオブジェクトからなるキャラクタの動きをコントロ
ールする方法において、該オブジェクトのi番目のオブ
ジェクトのxy座標を次式で定める。 xi=xi+(xi-1−xi)/a yi=yi+(yi-i−yi)/a ただし、xi、yiはiオブジェクトのx、y座標、aは
定数、である。
数のオブジェクトからなるキャラクタの動きを、少ない
ワークエリアで表現する。 【構成】 コンピュータゲーム装置において連結した複
数のオブジェクトからなるキャラクタの動きをコントロ
ールする方法において、該オブジェクトのi番目のオブ
ジェクトのxy座標を次式で定める。 xi=xi+(xi-1−xi)/a yi=yi+(yi-i−yi)/a ただし、xi、yiはiオブジェクトのx、y座標、aは
定数、である。
Description
【0001】
【産業上の利用分野】本発明はコンピュータゲーム装置
において、蛇のように長く連結したオブジェクトを動か
す方法に関する。
において、蛇のように長く連結したオブジェクトを動か
す方法に関する。
【0002】
【従来の技術】従来、コンピュータゲーム装置において
は、蛇のような長い表示物は多数のオブジェクトの複合
体として表現しているために、これをひとつの連続体と
して動かすには、各動作ごとの個々のオブジェクトの座
標を記憶させておく必要があった。図1がその例であ
る。
は、蛇のような長い表示物は多数のオブジェクトの複合
体として表現しているために、これをひとつの連続体と
して動かすには、各動作ごとの個々のオブジェクトの座
標を記憶させておく必要があった。図1がその例であ
る。
【0003】
【発明が解決しようとする課題】しかしこのような方法
を用いると、ワークエリアが多数必要となり、メモリを
圧迫する原因となっていた。このため、ワークエリアを
減らすためにオブジェクト数を減らしたり、動きのパタ
ーンを減らしたりしてきた。その結果、貧弱な表示物と
なったり、不自然な動きを余儀なくされてきた。
を用いると、ワークエリアが多数必要となり、メモリを
圧迫する原因となっていた。このため、ワークエリアを
減らすためにオブジェクト数を減らしたり、動きのパタ
ーンを減らしたりしてきた。その結果、貧弱な表示物と
なったり、不自然な動きを余儀なくされてきた。
【0004】本発明は、使用するワークエリアを減少さ
せる多数オブジェクトからなる表示物の動きをコントロ
ールする方法を目的とする。
せる多数オブジェクトからなる表示物の動きをコントロ
ールする方法を目的とする。
【0005】
【課題を解決するための手段】蛇の首を押さえれば、蛇
は動けなくなることはよく知られている。これと同じ
で、蛇のように長いキャラクタを表示する場合も、重要
なのは頭の部分である。頭の位置がどこにあるかという
ことが、ゲームではとくに重要である。もちろんその後
ろの存在もなくてはならないが、頭(先頭)ほどには重
要でないことが多い。
は動けなくなることはよく知られている。これと同じ
で、蛇のように長いキャラクタを表示する場合も、重要
なのは頭の部分である。頭の位置がどこにあるかという
ことが、ゲームではとくに重要である。もちろんその後
ろの存在もなくてはならないが、頭(先頭)ほどには重
要でないことが多い。
【0006】とりわけ動きは頭の部分が決まれば、その
後ろの動きもそれに沿った<らしさ>を表現できるもの
になっていれば、ゲーム全体が引き締まったものとして
表現できる。
後ろの動きもそれに沿った<らしさ>を表現できるもの
になっていれば、ゲーム全体が引き締まったものとして
表現できる。
【0007】したがって、従来のように動き全体をあら
かじめテーブルで用意しておかなくてもいいような表現
ができればよいわけである。
かじめテーブルで用意しておかなくてもいいような表現
ができればよいわけである。
【0008】そこで本発明では、長いキャラクタの動き
を表す次のような計算式を用いるものである。 xi = xi+(xi-1−xi)/a yi = yi+(yi-i−yi)/a
を表す次のような計算式を用いるものである。 xi = xi+(xi-1−xi)/a yi = yi+(yi-i−yi)/a
【0009】ここでxi、yiはiオブジェクトのx、y
座標である。aは適当な定数で、aの値によって胴の長
さがある程度決ってくる。
座標である。aは適当な定数で、aの値によって胴の長
さがある程度決ってくる。
【0010】頭にあたるx0、y0は動く位置をプログラ
ムで決めていく部分であるから、あらかじめテーブルに
記憶しておく。しかし1以上のiに対するオブジェクト
については、現時点の座標値だけでよいから、すべての
動作に関する内容は保存しておく必要はない。
ムで決めていく部分であるから、あらかじめテーブルに
記憶しておく。しかし1以上のiに対するオブジェクト
については、現時点の座標値だけでよいから、すべての
動作に関する内容は保存しておく必要はない。
【0011】すなわち、図2のようなテーブル管理で、
キャラクタの動きを表せる。図1では(n+1)×s×
(座標に使う長さ)のワークエリアが必要であるのに対
して、図2では{(n+s)×(座標に使う長さ)}の
ワークエリアですむ。
キャラクタの動きを表せる。図1では(n+1)×s×
(座標に使う長さ)のワークエリアが必要であるのに対
して、図2では{(n+s)×(座標に使う長さ)}の
ワークエリアですむ。
【0012】たとえば、n=20、s=100、(座標
に使う長さ)=4バイトとすれば、前者は8400バイ
トのワークエリアが必要なのに対して、後者は480バ
イトのワークエリアで賄える。約4Kバイトのメモリ節
約が行える。
に使う長さ)=4バイトとすれば、前者は8400バイ
トのワークエリアが必要なのに対して、後者は480バ
イトのワークエリアで賄える。約4Kバイトのメモリ節
約が行える。
【0013】
【実施例】本発明の一実施例として、ランダムウォーク
くする蛇を例に挙げよう。
くする蛇を例に挙げよう。
【0014】ランバムウォークすることから、頭の部分
(X0,Y0)はテーブルの形でこの座標をもつのでな
く、乱数で決定する。すなわち、
(X0,Y0)はテーブルの形でこの座標をもつのでな
く、乱数で決定する。すなわち、
【0015】X0=X0+Rx×X0 Y0=Y0+Ry×Y0
【0016】と求める。ここでRxとRyは乱数で決める
値で、毎回、乱数テーブルあるいは乱数発生ロジックで
決定する。なお右辺のX0、Y0は、ひとつ前の表示に使
った座標値である。
値で、毎回、乱数テーブルあるいは乱数発生ロジックで
決定する。なお右辺のX0、Y0は、ひとつ前の表示に使
った座標値である。
【0017】i番目のオブジェクトの座標は、本発明の
計算式を使って Xi=Xi+(Xi-1−Xi)/A Yi=Yi+(Yi-1−Yi)/A
計算式を使って Xi=Xi+(Xi-1−Xi)/A Yi=Yi+(Yi-1−Yi)/A
【0018】と求める。右辺のXi、Yiは前回表示に使
った座標値、Xi-1、Yi-1は新たに計算されたひとつ前
のオブジェクトの座標値である。Aは適当な定数である
が、ある程度試行錯誤で決める必要はあろう。
った座標値、Xi-1、Yi-1は新たに計算されたひとつ前
のオブジェクトの座標値である。Aは適当な定数である
が、ある程度試行錯誤で決める必要はあろう。
【0019】図3は、A=3、N=30で本プログラム
を実行したときの表示例である。ここでNはオブジェク
ト数、先頭は正方形、後続のオブジェクトは円で表示し
ている。
を実行したときの表示例である。ここでNはオブジェク
ト数、先頭は正方形、後続のオブジェクトは円で表示し
ている。
【0020】図4は、A=10に変えたときの実行例で
ある。オブジェクトとオブジェクトの間の間隔が長くな
っている。
ある。オブジェクトとオブジェクトの間の間隔が長くな
っている。
【0021】さらに図5は、A=2、N=100のとき
の実行例である。オブジェクトとオブジェクトとの間隔
は狭くなるが、オブジェクト数が100となっているた
めに、長蛇になっている。
の実行例である。オブジェクトとオブジェクトとの間隔
は狭くなるが、オブジェクト数が100となっているた
めに、長蛇になっている。
【0022】オブジェクトの座標を記憶しておくテーブ
ルは0〜(N−1)のN個でよいから、オブジェクト数
が増えることによるワークエリアへの圧迫はほとんどな
い。新しく表示するオブジェクトの座標は計算で求まる
からである。
ルは0〜(N−1)のN個でよいから、オブジェクト数
が増えることによるワークエリアへの圧迫はほとんどな
い。新しく表示するオブジェクトの座標は計算で求まる
からである。
【0023】しかも、頭の部分も計算で求まるから、プ
ログラムであらかじめテーブルの形でもつ必要もない。
ただし、ランダムウォークでない場合には、動きに合わ
せて(Rx,Ry)をテーブル化しておけばよい。もちろ
ん、(X0、Y0)の座標値をテーブル化してもよい。
ログラムであらかじめテーブルの形でもつ必要もない。
ただし、ランダムウォークでない場合には、動きに合わ
せて(Rx,Ry)をテーブル化しておけばよい。もちろ
ん、(X0、Y0)の座標値をテーブル化してもよい。
【0024】以上の処理を流れ図にしたのが図6であ
る。(Xi,Yi)の初期化では、Aの初期化も行ってお
く。(X0,Y0)の計算は上記の乱数計算で求まるが、
あらかじめ初期化テーブルの形でもっている場合には、
テーブルからの値設定、すなわち代入文となる。
る。(Xi,Yi)の初期化では、Aの初期化も行ってお
く。(X0,Y0)の計算は上記の乱数計算で求まるが、
あらかじめ初期化テーブルの形でもっている場合には、
テーブルからの値設定、すなわち代入文となる。
【0025】
【発明の効果】本発明を用いれば、簡単な計算式で、蛇
のような長い物体を自然な動きとして表現できる。しか
も、今までこのような多数のオブジェクトからなるキャ
ラクタを、少ないワークエリアで管理できるようにな
る。
のような長い物体を自然な動きとして表現できる。しか
も、今までこのような多数のオブジェクトからなるキャ
ラクタを、少ないワークエリアで管理できるようにな
る。
【0026】一般に、コンピュータゲーム機の場合には
メモリ上の制約が多く、このようなキャラクタはなかな
か実現できなかっったが、本発明を用いればオブジェク
ト数の寡多にかかわらず、手軽に利用できる効果があ
る。
メモリ上の制約が多く、このようなキャラクタはなかな
か実現できなかっったが、本発明を用いればオブジェク
ト数の寡多にかかわらず、手軽に利用できる効果があ
る。
【図1】従来のオブジェクト座標管理テーブルの例を示
す説明図である。
す説明図である。
【図2】本発明を利用した場合の座標管理テーブルを示
す説明図である。
す説明図である。
【図3】本発明の実施例で、A=3、N=30で描いた
キャラクタ(Nはオブジェクト数)を示す図である。
キャラクタ(Nはオブジェクト数)を示す図である。
【図4】本発明の実施例で、A=10、N=30で描い
たキャラクタ(Nはオブジェクト数)を示す図である。
たキャラクタ(Nはオブジェクト数)を示す図である。
【図5】本発明の実施例で、A=2、N=100で描い
たキャラクタ(Nはオブジェクト数)を示す図である。
たキャラクタ(Nはオブジェクト数)を示す図である。
【図6】多数のオブジェクトからなるキャラクタを表示
する処理ルーチンの流れ図である。
する処理ルーチンの流れ図である。
Claims (1)
- 【請求項1】 コンピュータゲーム装置において連結し
た複数のオブジェクトからなるキャラクタの動きをコン
トロールする方法において、該オブジェクトのi番目の
オブジェクトのxy座標を xi=xi+(xi-1−xi)/a yi=yi+(yi-i−yi)/a ただし、xi、yiはiオブジェクトのx、y座標、aは
定数、とすることを特徴とする連結オブジェクトからな
るキャラクタの表現方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20709792A JP3154823B2 (ja) | 1992-07-10 | 1992-07-10 | 連結オブジェクトからなるキャラクタの表現方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20709792A JP3154823B2 (ja) | 1992-07-10 | 1992-07-10 | 連結オブジェクトからなるキャラクタの表現方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07633A true JPH07633A (ja) | 1995-01-06 |
| JP3154823B2 JP3154823B2 (ja) | 2001-04-09 |
Family
ID=16534154
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20709792A Expired - Fee Related JP3154823B2 (ja) | 1992-07-10 | 1992-07-10 | 連結オブジェクトからなるキャラクタの表現方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3154823B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001112957A (ja) * | 1999-10-18 | 2001-04-24 | Sanyo Product Co Ltd | 遊技機 |
| JP2009261921A (ja) * | 2008-03-31 | 2009-11-12 | Copcom Co Ltd | ゲームプログラム、記憶媒体およびコンピュータ装置 |
| JP2013200429A (ja) * | 2012-03-23 | 2013-10-03 | Mitsubishi Electric Corp | 制御装置及びリモコン装置 |
-
1992
- 1992-07-10 JP JP20709792A patent/JP3154823B2/ja not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001112957A (ja) * | 1999-10-18 | 2001-04-24 | Sanyo Product Co Ltd | 遊技機 |
| JP2009261921A (ja) * | 2008-03-31 | 2009-11-12 | Copcom Co Ltd | ゲームプログラム、記憶媒体およびコンピュータ装置 |
| JP2013200429A (ja) * | 2012-03-23 | 2013-10-03 | Mitsubishi Electric Corp | 制御装置及びリモコン装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3154823B2 (ja) | 2001-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3028338B2 (ja) | 電子グラフィックシステム | |
| JPS63158091A (ja) | 表示装置に表示されているプレーフイールド上の物体を表すデータレコードを迅速に処理して、プレーフイールドの一部にどの物体を表示するかを決定する方法および装置 | |
| JPH07633A (ja) | 連結オブジェクトからなるキャラクタの表現方法 | |
| Appel et al. | Aspects of display technology | |
| JPS642953B2 (ja) | ||
| JP2949594B2 (ja) | 動画表示装置 | |
| JPH02130689A (ja) | 図形処理装置 | |
| JP2751211B2 (ja) | 文書作成装置 | |
| JP2616443B2 (ja) | 図形描画装置 | |
| KR100273334B1 (ko) | 캐드 시스템의 벡터 폰트 구현방법 | |
| JPS6461883A (en) | Clipping processor | |
| JPH04188278A (ja) | 形状設計装置 | |
| JPH07117823B2 (ja) | カラー表示装置 | |
| JP2846165B2 (ja) | 文字学習装置 | |
| JP2610947B2 (ja) | 乱数を利用した樹木画像の自動生成装置 | |
| JPH08272995A (ja) | 画像オブジェクトの動き制御方法 | |
| JPH01173267A (ja) | 画像処理装置 | |
| JPH0457177A (ja) | 描画処理における閉領域塗り潰し方法 | |
| Terzidis | Daedalus the architectural transformation system | |
| JPH0380294A (ja) | 文字パターン生成方式 | |
| JPH0322183A (ja) | 直線描画制御方法 | |
| JPH04180116A (ja) | キーボード | |
| JPH05298108A (ja) | 多次元メンバシップ関数設定装置 | |
| JPH04236680A (ja) | 描画装置 | |
| JPS61253583A (ja) | 漸近面の作成方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |