Hiragi(GKUTH)の日常
理系大学生の日記

初めてゲームというものを作成中。

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

初めてゲームというものを作成中。

投稿記事 by Hiragi(GKUTH) » 10年前

 なんというか、DXライブラリとCを触ってから何年もたつというのに、しっかりとした一つとしてのゲームを未だ
一人の力だけで作ったことがないという状況にあることを最近ふと気づきました。 マズい。

 どんなに簡単なもんでもいいからとりあえず作らなければ...というわけで、ブロック崩しでも作ってみようかなぁと
考えて、2時間ほど書いているところです。
 バーとボールのあたり判定で躓いてるあたりヤバいなぁと思います。バーとボールに関しては矩形対矩形でも問題ない
判定ですので(見た目は丸いけど)いいんですが、ブロック対ボールとなると円と矩形のあたり判定ですしなんか無理な感じが漂ってますが...
自分であたり判定実装するの面倒だからどっかから適当にソースコードコピペしちゃおうかな(殴)

 んなことで、プログラミング歴4年にして、やっと一つのゲームを作ろうと、決心したところです。
つっても規模が規模なゲームですしとりあえずmain関数に全部書いてしまうところがヤバい、
ま、まぁゲームにスコア機能とかいろいろつけていったら大きくなるし、その時ちゃんとクラスで管理するし...(震え声

つーかいい加減C++の書き方に慣れていこうぜ俺... もっとスマートに書きたい。
► スポイラーを表示

アバター
usao
記事: 1889
登録日時: 12年前

Re: 初めてゲームというものを作成中。

投稿記事 by usao » 10年前

>ブロック対ボールとなると円と矩形のあたり判定

ブロックも円形にすれば解決ですね.


バーを動かして玉を跳ね返すんじゃなくて
クリックした位置にブラックホールを発生させて玉の起動を捻じ曲げるとかいう宇宙的なルールをなんとなく思いついた.
玉の近くに発生させれば急激に方向転換させられるけど
よくばりすぎると玉がブラックホールに飲み込まれてアウトだよ!みたいな.

ISLe
記事: 2650
登録日時: 14年前

Re: 初めてゲームというものを作成中。

投稿記事 by ISLe » 10年前

ブロック崩し自体はゲームプログラムにフレームレートの概念のないころからあるものなので、いまのゲームプログラミングの流儀に合わせようとするとわりと難しくて、見た目が簡単そうだからと手を出すとハマる題材のひとつですね。

現代風にやるなら物理演算ということになるのでしょうが、バーの、ボールの来た方側で打つと跳ね返すギミックとか逆に難しくなってしまう(というか不可能)のが難点ですね。
当時もただ落ちないように拾うだけのブロック崩しはありましたけど人気は出なかったですね。

アバター
usao
記事: 1889
登録日時: 12年前

Re: 初めてゲームというものを作成中。

投稿記事 by usao » 10年前

ブロック崩しってボールが跳ね返る方向の法則性が掴めなくて
>ただ落ちないように拾うだけ
のプレイになる.

アバター
夢幻ノ月夜
記事: 143
登録日時: 10年前

Re: 初めてゲームというものを作成中。

投稿記事 by 夢幻ノ月夜 » 10年前

ブロック崩しなんて落ちないように拾うだけだよなw

アバター
axis
記事: 10
登録日時: 10年前

Re: 初めてゲームというものを作成中。

投稿記事 by axis » 10年前

円と短形の判定は龍神録プログラミングの館さんに乗ってましたよ~

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: 初めてゲームというものを作成中。

投稿記事 by Hiragi(GKUTH) » 10年前

usao さんが書きました:>ブロック対ボールとなると円と矩形のあたり判定

ブロックも円形にすれば解決ですね.


バーを動かして玉を跳ね返すんじゃなくて
クリックした位置にブラックホールを発生させて玉の起動を捻じ曲げるとかいう宇宙的なルールをなんとなく思いついた.
玉の近くに発生させれば急激に方向転換させられるけど
よくばりすぎると玉がブラックホールに飲み込まれてアウトだよ!みたいな.
おぉ...ゲーム性なんて考えもしてませんでした。何しろまだ試行錯誤の段階ですし。
ブロックが円形になるとブロック崩しじゃなくなりますね。

ブラックホールの件は興味ありますね、ソースコードを整理して、見やすくなったらやってみようかと思います。
というか、ゲームプログラミングのための基本的な設計の仕方とかあまり理解してない....なんとかせねば

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: 初めてゲームというものを作成中。

投稿記事 by Hiragi(GKUTH) » 10年前

ISLe さんが書きました:ブロック崩し自体はゲームプログラムにフレームレートの概念のないころからあるものなので、いまのゲームプログラミングの流儀に合わせようとするとわりと難しくて、見た目が簡単そうだからと手を出すとハマる題材のひとつですね。

現代風にやるなら物理演算ということになるのでしょうが、バーの、ボールの来た方側で打つと跳ね返すギミックとか逆に難しくなってしまう(というか不可能)のが難点ですね。
当時もただ落ちないように拾うだけのブロック崩しはありましたけど人気は出なかったですね。
CUIの時代からあるようなゲームだということでしょうか、なんかまんまと見た目が簡単そうだとかいう理由ではまっちゃいましたね、まぁ作りますけど。
ブロック崩しとして人気を持たせるためにはいろいろと工夫する必要があるんでしょうねぇ...まぁ第一作目ですし、それほどゲーム性を
求めているわけではなく、一つの完成品として目指しているだけですのでやらないでしょうが...(物理演算めんどそう)
というか高品質な物理演算を求めるならDXライブラリとかいうレベルから作るのではなく、Unityなどの強力なゲームエンジンを使うべきなのかもしれませんねぇ、

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: 初めてゲームというものを作成中。

投稿記事 by Hiragi(GKUTH) » 10年前

夢幻ノ月夜 さんが書きました:ブロック崩しなんて落ちないように拾うだけだよなw
ゲーム性(ry

面白さはあんまり求めてないのでハードルを上げないでください^^

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: 初めてゲームというものを作成中。

投稿記事 by Hiragi(GKUTH) » 10年前

axis さんが書きました:円と短形の判定は龍神録プログラミングの館さんに乗ってましたよ~
ありますねぇ、知ってましたが、当たる場所によって反射方向など求めるとなると、ベクトルの計算が必要になってきて、
知識も技術もない範囲になるのでとりあえず今のところはそれっぽく見えればいいかなぁって(逃げ

ISLe
記事: 2650
登録日時: 14年前

Re: 初めてゲームというものを作成中。

投稿記事 by ISLe » 10年前

Hiragi(GKUTH) さんが書きました:CUIの時代からあるようなゲームだということでしょうか、なんかまんまと見た目が簡単そうだとかいう理由ではまっちゃいましたね、まぁ作りますけど。
ブロック崩しとして人気を持たせるためにはいろいろと工夫する必要があるんでしょうねぇ...まぁ第一作目ですし、それほどゲーム性を
求めているわけではなく、一つの完成品として目指しているだけですのでやらないでしょうが...(物理演算めんどそう)
というか高品質な物理演算を求めるならDXライブラリとかいうレベルから作るのではなく、Unityなどの強力なゲームエンジンを使うべきなのかもしれませんねぇ、
見た目のことではなくて、コンピュータの命令の実行に掛かる時間がそのままゲームの進行速度だった、ということですよ。
いまのように描画をまとめるとかでなくて、ボールを動かしたいときに動かして…それがそのまま画面に反映されるみたいな。
アルゴリズムというかパラダイムが異なります。

ブロック崩しのアレンジが難しいのは、既にほぼ完璧に記号化されているからです。
シンプルであるがゆえに要素を分解して応用することが難しい。

現代風だとタイトーのアルカノイドとか有名ですが、あれもいろいろとゲームとして成立させるためふつうに考えるとおかしな動きをします。
よほどやり込んでいないと気付かないかもしれませんが。