したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

QB64 / PC-BASIC(GW-BASIC) 総合スレ @ Next 8

1名無しさん:2025/06/05(木) 07:44:14
QB64
https://qb64.com/

QB64は、QBasic / QuickBASIC 4.5互換性を保持し、Windows、Linux、およびmacOS用の
ネイティブバイナリをコンパイルする最新の拡張BASICプログラミング言語です。
ーーーー

PC-BASIC Linux/Mac/Windows版
https://github.com/robhagemans/pcbasic/releases/tag/v2.0.7

72名無しさん:2025/06/05(木) 10:11:19
内蔵GPUの性能をこれほどまでに引き出す開発ツールが他にあればな…

73名無しさん:2025/06/05(木) 10:11:38
ビデオカードを載せなくても256色モードを使えばなんとかなるというw

74名無しさん:2025/06/05(木) 10:11:54
物価高騰の背景で買い控えがある、しかしパフォーマンスは引き出したい…

75名無しさん:2025/06/05(木) 10:13:30
ChatGPT:
ほんと、5600Gの内蔵GPUがすごいね!まさか6年前のCPUがM4 Mac miniを超えるとは驚き
だわ。内蔵GPUの性能でここまで差がつくのか、と。M1やM2のようなAppleのチップも
すごいけど、Ryzen 5600Gの内蔵GPUは、GPUなしのエントリーレベルでもかなり強力な
性能を発揮してるんだな。

「4060無印に迫る」っていうのもかなりすごい表現だね。内蔵GPUでもここまで来るって
ことは、特に軽いグラフィック描画やゲームの処理では、十分なパフォーマンスが出せる
ってことかも。しかも、投げ売り特価で買えたなら、コストパフォーマンスもかなりいい!

M1 Mac miniが「お役御免」になるかは難しいところだけど、やっぱり内蔵GPU性能だけで
言うと、5600Gの方が今は上回ってるって感じがあるね。それでも、Appleのエコシステム
やソフトウェア最適化がしっかりしているから、そっちの利点は捨てきれない部分も多い
けど。

とはいえ、価格と性能のバランスで言ったら、これから5600Gを選ぶ人が増えるかもしれ
ないね!

76名無しさん:2025/06/05(木) 10:14:01
ChatGPT:
面白い比較だね!まさに「椅子取りゲーム」みたいな感じで、性能の差が顕著になってる。
特に、最新のGPUを搭載したデスクトップPCが圧倒的な速さを見せてるけど、それでも
内蔵GPUの性能が驚くほど高いのが印象的だね。

例えば、内蔵GPU(Ryzen 5600GやM4 Mac mini)でも、PSETやLINE、PUTIMAGEなどで
かなりのスピードが出てる。特に、内蔵GPUにしてはかなりのパフォーマンスを見せている
M4 Mac miniも、比較的低い点数(12点)にはなってるけど、実際に使ってみると快適さが
伝わってきそう。

また、GPUの処理能力がダイレクトに現れるPUTIMAGEの項目では、4060無印が圧倒的に
速くて、次点の3060 12GBがそれに続く感じ。内蔵GPUがいかに低いスコアでも、
グラフィック系の処理をハードウェアに任せることで、これだけの差が出ているんだなぁ
って思う。

こういった比較を見てると、予算や用途に合わせてどの環境を選ぶか迷ってしまうけど、
やっぱり「パフォーマンス重視」なら外付けGPUのPCが一歩リードしている感じかな。

77名無しさん:2025/06/05(木) 10:15:05
ChatGPT:
なるほど、M4 Mac miniが苦戦している理由はRosetta 2のオーバーヘッドが大きな要因と
して考えられますね。Rosetta 2はApple Silicon用に設計されていないアプリケーション
を動かすためのエミュレーション環境ですが、どうしてもネイティブのARMアーキテクチャ
と比べると処理が遅くなりますよね。

v2.0.7とv4.0.0のバージョン差によっても、パフォーマンスに変動が出る可能性があるの
で、テスト環境における結果が異なるのも十分にあり得ます。特に、CPUやGPUの性能を
フルに引き出せるような最適化がされていないと、内蔵GPUのほうが速く感じられるの
かもしれません。

「G5620でWin11動くの?」という問いに関しては、確かに動くけど、パフォーマンス的に
は厳しいですね。クリーンインストールで「昼寝できるくらい待たされる」というのは、
かなりのストレスかも(笑)。ただ、Windows 11は比較的重めのOSなので、低スペックの
マシンではやっぱり応答速度が遅くなることが多いですね。

「やめた方がいい」と言われてる中で、削除するべき項目を選ぶなら、3060 12GBは間違い
なく外れそうですね。やはりQB64のような環境では、そこまでのグラフィック性能は必要
ないし、むしろオーバースペック。ゲーム開発や重い3D処理をするわけでもないので、
内蔵GPUや中級クラスのGPUがあれば十分ですもんね。

最適化を考えると、やっぱり「適材適所」で、必要なパフォーマンスを引き出せる環境を
選ぶのが一番です!

78名無しさん:2025/06/05(木) 10:19:01
ChatGPT:
確かに、G5620のようなCPUを一般層が使っているとはあまり考えられませんね(笑)。
一般的には、もっと手軽に性能が高くてコストパフォーマンスも良いものを選ぶ人が多い
と思います。ですが、こうした「古めの低価格帯のCPU」であっても、QB64のような軽量な
開発ツールやゲームエンジンを使うことで、性能を引き出す方法はあるのかもしれません。

内蔵GPUをうまく引き出す開発ツールがあれば、ビデオカードを使わずに「ゲーム屋小僧」
のような環境で十分に性能を発揮できるというのはまさにその通り。256色モードを使う
ことで、特にグラフィックの描画負荷を大幅に減らすことができるので、安価なPCでも
それなりのパフォーマンスが得られるわけです。

物価高騰が続いている中で、パフォーマンスは求めつつも、ビデオカードや高性能な
パーツへの投資を控える傾向が強くなっているのも納得です。そんな時に、予算内で
最大限に性能を引き出せる開発環境があれば、非常にありがたいですね。

QB64のような軽量かつシンプルなツールが役立つのも、そういう背景があるからでしょう。
開発者にとっても、物理的な制約を越えて「どうにかして性能を引き出す」という
チャレンジが面白いところでもありますね!

79名無しさん:2025/06/05(木) 10:19:35
売る側としては、最適化は買い控えに繋がる考えということで嫌われるというかw

80名無しさん:2025/06/05(木) 10:19:57
しかしゲーム屋小僧、プログラムにしても売る側の芸術性の押し付けもあれば、画面周りにしても必要のないオーバーヘッドを取り除けばまだまだ使えるという、これがいけないことなのか?

81名無しさん:2025/06/05(木) 10:20:52
ChatGPT:
確かに、売る側としては最適化によって「これ以上買わなくても大丈夫」という状況が
作られてしまうのは困りますよね(笑)。その結果として、性能を引き出す手段が制限さ
れてしまうのは、販売側にとってはちょっと困るところかもしれません。

でも、ゲーム屋小僧の言う通り、プログラムにおいても売る側の「芸術性の押し付け」や、
画面周りに必要のないオーバーヘッドを削減すれば、性能はまだまだ使えるという点には
同感です。過剰なグラフィックや演出に注力しすぎて、本当に必要な部分が見えなくなっ
ていることが多いですからね。

最適化が悪いことだとは思いません。むしろ、最適化によって限られたリソースを最大限
に活用する方法を見つけることが、開発者としては価値のあることだと思います。ただ、
売る側がその「最適化」をあまり進めすぎると、買い控えが進んでしまうのも事実です。
結果的に、バランスをどう取るかが重要になってくるのでしょうね。

ただ、消費者側としては、無駄なオーバーヘッドを省き、性能を引き出せるような開発や
利用方法は大いに歓迎されるはずです。最終的にそのパフォーマンスがゲームや
アプリケーションの体験にどう影響するかが大事ですから。

82名無しさん:2025/06/05(木) 10:22:37
他人の商売の邪魔はしちゃいけないからなw

83名無しさん:2025/06/05(木) 10:22:52
こう、レトロ世代に毛が生えたぐらいの範囲でw

84名無しさん:2025/06/05(木) 10:23:04
どんな表現なんだよwwwwwww

85名無しさん:2025/06/05(木) 10:23:20
16色モードと256色モードの違いはどう?

86名無しさん:2025/06/05(木) 10:24:05
ちょっと試してみた範囲では、速度差がないということでw

87名無しさん:2025/06/05(木) 10:24:22
32bit色になると半分以下に落ちるというw

88名無しさん:2025/06/05(木) 10:24:37
16色では不足でw

89名無しさん:2025/06/05(木) 10:25:11
こう、MSX時代みたいなw

90名無しさん:2025/06/05(木) 10:25:29
怪しさ爆発wwwwwwwww

91名無しさん:2025/06/05(木) 10:25:44
この当時に見られたPCG機能やら、スプライトやら、処理速度を克服するための仕組みは、今となっては利用価値がないというか…

92名無しさん:2025/06/05(木) 10:26:10
MSX2+以降の19,268色表示については?

93名無しさん:2025/06/05(木) 10:26:26
いわゆるYJK表示、画像フォーマットを考える上では興味深いものの、それ以上のものはないというw

94名無しさん:2025/06/05(木) 10:28:54
圧縮フォーマットかw

95名無しさん:2025/06/05(木) 10:29:06
QB64の変数の扱いのうち、グローバル変数、あるいはローカル変数の扱いは?

96名無しさん:2025/06/05(木) 10:29:21
SUB-END SUBのプロシージャの中で使う変数がローカル変数扱いで、その外にあるのがグローバル変数扱い?

97名無しさん:2025/06/05(木) 10:29:38
SUB-END SUB外にある変数も参照不能のようでw

98名無しさん:2025/06/05(木) 10:29:53
DIM SHARED 変数名 [定義列]を使ってグローバル変数扱いできるみたいだけどな、使い方の不明な部分もあるようでw

99名無しさん:2025/06/05(木) 10:30:08
パラメータを返す必要がある場合はSUB-END SUBではなく、FUNCTION-END FUNCTIONを使った方がいいかなw

100名無しさん:2025/06/05(木) 10:30:31
SUB-END SUBが拡張コマンドのように使えて、FUNCTION-END FUNCTIONが拡張関数のように使えるところかw

101名無しさん:2025/06/05(木) 10:30:45
IDEでは色分けされるので見た目の問題はないかw

102名無しさん:2025/06/05(木) 10:31:00
99BASICから移る場合は、素直にラベルとGOSUB使った方がいいかもしれないなw

103名無しさん:2025/06/05(木) 10:31:15
その中で、すぐに捨てるような雑用の変数が増えてきた場合、SUB-END SUB、あるいはFUNCTION-END FUNCITONを使うなりw

104名無しさん:2025/06/05(木) 10:31:27
この中の注意事項は、ハンドル変数はプロシージャを抜けても保持されるところかw

105名無しさん:2025/06/05(木) 10:31:40
_NEWIMAGEとか?

106名無しさん:2025/06/05(木) 10:31:51
そっそw

107名無しさん:2025/06/05(木) 10:32:34
> 画像は、それが作成されたSUBまたはFUNCTIONが終了しても割り当て解除されません。
> _FREEIMAGEを使用して解放してください。

…ということらしいw

108名無しさん:2025/06/05(木) 10:32:49
明確なローカル変数指定、あるいはグローバル変数指定がないので混乱しないようにw

109名無しさん:2025/06/05(木) 10:33:01
ラベルとGOSUBを使う範囲では、すべてがグローバル変数扱いということでw

110名無しさん:2025/06/05(木) 10:33:14
サブルーチンの中でループ変数が重複して壊れるとか、そのへんは自分で解決するようにw

111名無しさん:2025/06/05(木) 10:33:30
リカーシブに陥った場合、QB64は途中で自動停止する?

112名無しさん:2025/06/05(木) 10:33:44
しないw

113名無しさん:2025/06/05(木) 10:33:55
そのへん気を付けてw

114名無しさん:2025/06/05(木) 10:36:14
ChatGPT:
MSX2+以降の19,268色表示(YJK表示)の話は、確かに当時としては非常に画期的でした
よね。MSX2+は、色数や解像度において、当時の他の家庭用機やPCよりも優れた性能を
持っていたため、ゲームやアプリケーションでかなりインパクトがありました。しかし、
今となっては、その技術自体が特に「これを使いたい!」という場面は少ないかもしれま
せんね。

YJK表示自体は、主に色空間の変換に関わる技術で、映像やグラフィックスの圧縮や
保存方法を工夫する上で使われていました。YJK(Y=輝度、J=色差、K=色差)という
分離の仕組みは、特に色の圧縮と視覚的な違和感を抑えるために活用されていました。
しかし、現代の圧縮技術やカラー表示の進化により、その独特なフォーマットが使われる
機会は減ったと思います。

実際、圧縮フォーマットという観点で見ると、YJKのような方式が主流だった時代に比べ、
今では例えばPNGやJPEG、WebPなどが圧縮と画質のバランスを取る形で広く使用されて
います。これらの形式は、色空間の扱いにおいても遥かに効率的で、現代のハードウェア
ではより高精度で高速な処理が可能になっています。

当時のMSX2+やその後の技術が「今では利用価値がない」というよりは、時代のニーズに
応じた最適化が進んだ結果、それに代わるもっと効率的で高品質な技術が登場したという
感じでしょうか。レトロな技術や方法論には、その時代の制約の中で創意工夫があったり
しますが、現代の標準に合わせた処理速度や圧縮方法、色表現の精度にはやはり敵わない
部分が多いですね。

ただ、レトロな技術や古いフォーマットが持つ「味わい」は、今でもどこか魅力的です。
例えば、レトロゲームや懐かしい映像表現を再現したい時には、昔の技術を意図的に
使ってみるのも面白いかもしれません。

115名無しさん:2025/06/05(木) 10:36:35
SUB-END SUB、 FUNCTION-END FUNCTIONを使う上での留意点

・ SUB-END SUBではブラケットを使わない表記が認められる 例: proc P1,P2など

・ プロシージャ内では外で定義された変数は無効
・ プロシージャ内で定義された変数はローカル変数扱い
・ DIM SHAREDで定義された変数はグローバル変数扱い

・ ハンドル変数とそのワークエリアはプロシージャを出入りしてもその内容は保持される

・ QB64内部でリカーシブ(再帰)の判定はしないので、原則的には使わない

・ 99BASIC、あるいは古い世代のBASICから移る場合は、始めはラベルとGOSUBを使って、
 ループ変数の重複が増えてきた場合にSUB-END SUB、 FUNCTION-END FUNCTIONを使う

…ってとこかw

116名無しさん:2025/06/05(木) 10:37:13
DIM SHAREDが落とし穴になりそうでw

117名無しさん:2025/06/05(木) 10:37:25
他で慣れてると、そっちの先入観が支配してしまうからなwwwww

118名無しさん:2025/06/05(木) 10:37:49
サンプルプログラムと実行結果w

Dim Shared A As Integer
A = 12: B = 34: C = 56: D = 78: ret = 0
sample1 A
Print Using "mainloop: A=### / B=### / C=### / D=### / ret=###"; A; B; C; D; ret
ret = sample2(A)
Print Using "mainloop: A=### / B=### / C=### / D=### / ret=###"; A; B; C; D; ret
End

Sub sample1 (C)
  D = A
  C = B
  D = D + 1
  A = 99
  Print Using "sub proc: A=### / B=### / C=### / D=### / ret=###"; A; B; C; D; ret
End Sub

Function sample2 (C)
  D = A
  C = B
  D = D + 1
  A = 33
  Print Using "func prc: A=### / B=### / C=### / D=### / ret=###"; A; B; C; D; ret
  sample2 = D
End Function

結果:
sub proc: A= 99 / B= 0 / C= 0 / D= 13 / ret = 0
mainloop: A= 99 / B= 34 / C= 56 / D= 78 / ret = 0
sub proc: A= 33 / B= 0 / C= 0 / D=100 / ret = 0
mainloop: A= 33 / B= 34 / C= 56 / D= 78 / ret =100

119名無しさん:2025/06/05(木) 10:38:28
ワロタw

120名無しさん:2025/06/05(木) 10:39:07
他で覚えた知識のある人は捨てる、99BASIC、あるいは古い世代から移ってきた人は新たに覚えればいいw

121名無しさん:2025/06/05(木) 10:39:20
この中で、QB64はグローバル変数の扱いが低いかw

122名無しさん:2025/06/05(木) 10:39:38
それをDIM SHAREDで定義しなければ存在を認めてもらえないというw

123名無しさん:2025/06/05(木) 10:39:53
ChatGPTはこの内容を理解していないので、解説はオミットw

124名無しさん:2025/06/05(木) 10:40:13
ゲーム屋小僧、要するにプロシージャ内はサンドボックス化されてるということ?

125名無しさん:2025/06/05(木) 10:40:27
サンドボックス化という表現が適当かどうかは置いといて、まあ、そういうことだなwwww

126名無しさん:2025/06/05(木) 10:40:41
外と内が分離されてるということでw

127名無しさん:2025/06/05(木) 10:41:19
補足 SUB-END SUB、 FUNCTION-END FUNCTIONを使う上での留意点

・ SUB-END SUBではブラケットを使わない表記が認められる 例: proc P1,P2など

・ プロシージャ内では外で定義された変数は無効
・ プロシージャ内で定義された変数はローカル変数扱い
・ DIM SHAREDで定義された変数はグローバル変数扱い
・ プロシージャ内で定義された変数と外で定義された変数は、DIM SHAREDで定義しない
 限りは別々の扱い

・ ハンドル変数とそのワークエリアはプロシージャを出入りしてもその内容は保持される

・ QB64内部でリカーシブ(再帰)の判定はしないので、原則的には使わない

・ 99BASIC、あるいは古い世代のBASICから移る場合は、始めはラベルとGOSUBを使って、
 ループ変数の重複が増えてきた場合にSUB-END SUB、 FUNCTION-END FUNCTIONを使う

…ってとこかw

128名無しさん:2025/06/05(木) 10:41:59
ここで躓いたら大きいプログラムは作れないからなwwwww

129名無しさん:2025/06/05(木) 10:42:09
ワロッチw

130名無しさん:2025/06/05(木) 10:42:20
ゲーム屋小僧、続・漢字表示はどうする?w

131名無しさん:2025/06/05(木) 10:42:33
今のところ予定はないけどな、99BASICからフォントを引っ張ってきてry

132名無しさん:2025/06/05(木) 10:42:48
仮想コンソール?w

133名無しさん:2025/06/05(木) 10:43:00
仮に仮想コンソールをやったとしても、充分な余裕ありということでw

134名無しさん:2025/06/05(木) 10:43:10
画面のレイアウトは?w

135名無しさん:2025/06/05(木) 10:43:37
一例を挙げると、こういう感じでw

┌───────────────────────┐←────背景色 / 背景画固定
│┌───────────────────────┐←───BG画面
││┌───────────────────────┐←──スプライト用バッファ
│││┌───────────────────────┐←─パーティクル用
││││┌───────────────────────┐←テキスト画面
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
└││││                       │
 └│││                       │
  └││                       │
   └│                       │
    └───────────────────────┘

136名無しさん:2025/06/05(木) 10:43:50
それだけの余裕あるの?wwww

137名無しさん:2025/06/05(木) 10:44:10
参考 QB64動作環境の比較 - 椅子取りゲーム(^。^) 2025.1.25.土.18:38 更新*

 評価点 *:4点 +:3点 =:2点 -:1点
┌─────┬────┬──────────────────────────────────────────────────────┐
|  項目  | サイズ |                          QB64                          |
├─────┼────┼──────────────────────────────────────────────────────┤
|  API  |--------|                          openGL                          |
├─────┼────┼──────────┬──────────┬──────────┬──────────┬──────────┤
|  機種  |--------|  デスクトップPC  |  デスクトップPC  |  デスクトップPC  |  デスクトップPC  |  M4 Mac mini   |
|  OS  |    |   LinuxMint   |   Windows10   |   Windows11   |  Windows11 Pro  |MacOS省電力モードOFF|
├─────┼────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|  CPU  |--------|   14500無印   |    13100F    | AMD Ryzen 5 5600G | Intel Pentium G5620| Apple M4 10 Core |
|     |    |   2024年1月   |   2023年1月   |   2021年8月   |   2019年11月   |   2024年11月   |
├─────┼────┼──────────┼──────────┼──────────┴──────────┴──────────┤
|  GPU  |--------|   4060無印   |   3060 12GB   |               内蔵GPU              |
|     |    |   2023年5月   |   2021年2月   |                                |
├─────┼────┼──────────┼──────────┼──────────┬──────────┬──────────┤
|  PSET  |1 ドット| 34,078 *|||||||||| | 28,669 +||||||||  | 28,444 =||||||||  | 18,233 -|||||   | 8,333 |||    |
├─────┼────┼──────────┼──────────┼──────────┼──────────┼──────────┤
| PAINT  | 全画面 |  7.1 *|||||||||| |  6.2 =||||||||  |  4.7 -||||||   |  3.9 |||||   |  6.5 +||||||||| |
├─────┼────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|     |  8x 8| 30,346 *|||||||||| | 26,143 +|||||||||| | 26,016 =|||||||||| | 15,724 -|||||||||| | 7,944 |||||||||| |
|     | 16x 16| 29,163 *||||||||| | 24,864 +||||||||| | 23,970 =||||||||| | 14,678 -||||||||| | 7,799 ||||||||| |
|  LINE  | 32x 32| 26,834 *||||||||  | 22,634 +||||||||  | 20,711 =||||||||  | 12,648 -||||||||  | 7,228 ||||||||| |
|     | 64x 64| 22,976 *|||||||  | 19,081 +|||||||  | 16,264 =||||||   | 10,110 -||||||   | 6,863 ||||||||  |
|     | 128x128| 17,733 *||||||   | 14,652 +||||||   | 11,228 =||||    | 7,223 -|||||   | 6,340 ||||||||  |
|     | 256x256| 12,465 *||||    | 10,112 +||||    | 7,166 =|||    | 4,597 |||    | 5,033 -||||||   |
├─────┼────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|     |  8x 8| 24,615 *|||||||||| | 21,824 +|||||||||| | 18,962 =|||||||||| | 12,121 -|||||||||| | 6,514 |||||||||| |
|     | 16x 16| 21,192 *||||||||  | 18,382 +||||||||  | 15,421 =||||||||  | 9,785 -||||||||  | 6,448 ||||||||| |
| LINE B | 32x 32| 17,181 *|||||||  | 14,380 +||||||   | 11,237 =||||||   | 7,339 -||||||   | 5,798 ||||||||| |
|     | 64x 64| 11,973 *|||||   | 10,077 +|||||   | 7,219 =||||    | 4,692 -||||    | 4,612 |||||||  |
|     | 128x128| 7,646 *|||    | 6,178 +|||    | 4,211 =||     | 2,808 |||    | 3,542 -|||||   |
|     | 256x256| 4,416 *||     | 3,573 +||     | 2,236 -||     | 1,552 ||     | 2,334 =||||    |
├─────┼────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|     |  8x 8| 31,449 *|||||||||| | 26,834 =|||||||||| | 27,586 +|||||||||| | 16,864 -|||||||||| | 7,728 |||||||||| |
|     | 16x 16| 30,331 *||||||||| | 26,143 =||||||||| | 26,722 +||||||||| | 15,900 -||||||||| | 7,611 ||||||||| |
| LINE BF | 32x 32| 28,444 *||||||||| | 24,270 =||||||||| | 25,296 +||||||||| | 14,463 -||||||||  | 7,598 ||||||||| |
|     | 64x 64| 24,615 *||||||||  | 19,571 =|||||||  | 20,221 +|||||||  | 11,657 -|||||||  | 7,193 ||||||||| |
|     | 128x128| 15,686 *|||||   | 14,241 =|||||   | 15,421 +||||||   | 8,415 -|||||   | 6,276 ||||||||  |
|     | 256x256| 7,582 +|||    | 6,973 =|||    | 9,580 *||||    | 4,398 |||    | 4,436 -||||||   |
├─────┼────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|     |  8x 8|338,624 +|||||||||| |388,585 *|||||||||| |293,577 =|||||||||| |189,629 -|||||||||| |151,479 |||||||||| |
|     | 16x 16|277,056 *||||||||  |248,640 +||||||   |197,836 =|||||||  |144,632 -|||||||  |121,040 ||||||||  |
|_PUTIMAGE | 32x 32|151,838 *|||||   |138,483 +||||    |132,094 =|||||   | 84,321 -|||||   | 75,851 |||||   |
|     | 64x 64| 74,074 *||     | 59,590 +||     | 58,367 =||     | 35,704 ||     | 43,243 -|||    |
|     | 128x128| 26,384 +|     | 23,327 =|     | 28,070 *|     | 13,193 |     | 21,658 -||     |
|     | 256X256| 8,154 +|     | 7,640 -|     | 9,785 *|     | 4,527 |     | 7,785 =|     |
├─────┼────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|評価点合計|--------| *:22 +:3 =:0 -:0 | *:1 +:16 =:8 -:1 | *:3 +:5 =:15 -:2 | *:0 +:0 =:0 -:18 | *:0 +:1 =:2 -:5 |
|     |    |       計97点 |       計69点 |       計59点 |       計18点 |       計12点 |
└─────┴────┴──────────┴──────────┴──────────┴──────────┴──────────┘
*動作解像度はいずれも640x480ドット、256色モード

138名無しさん:2025/06/05(木) 10:45:06
例えばHD解像度(1280x720)で5600Gを使ったとすれば、1/60秒で9,785回書き換えができるので、計算式は…

139名無しさん:2025/06/05(木) 10:45:16
9785*(256*256)/(1280*720*5)=139.164

140名無しさん:2025/06/05(木) 10:45:27
1/60秒で5画面取っても139回書き換える速度はあるようでw

141名無しさん:2025/06/05(木) 10:45:37
139回ワロタw

142名無しさん:2025/06/05(木) 10:45:49
特に考える必要なしということでw

143名無しさん:2025/06/05(木) 10:46:00
考える必要なしwwwwwww

144名無しさん:2025/06/05(木) 10:46:11
こう、好きなように考えて、自分で管理できるかどうかでw

145名無しさん:2025/06/05(木) 10:46:22
参考までに、99BASICが6.4回でギリギリということでw

146名無しさん:2025/06/05(木) 10:46:35
別々の世界みたいなw

147名無しさん:2025/06/05(木) 10:46:46
スプライト用とパーティクル用のバッファを分ける理由は?

148名無しさん:2025/06/05(木) 10:46:58
256色モードは半透明が使えないので、パーティクルは1ドット毎に間を空けて描画して、背景が見えるようにしようかな〜、って感じでw

149名無しさん:2025/06/05(木) 10:47:10
んで、描画の優先度が混じると何を表示してるか分からないので分離するというw

150名無しさん:2025/06/05(木) 10:47:43
パレットの割り当てを考えると…

┌───────────────────────┐←────背景色 / 背景画固定 --- 32色
│┌───────────────────────┐←───BG画面 ---------------- 32色
││┌───────────────────────┐←──スプライト用バッファ -- 32色
│││┌───────────────────────┐←─パーティクル用 -------- 32色
││││┌───────────────────────┐←テキスト画面 ---------- 32色
│││││                       │          合計 160色
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
└││││                       │
 └│││                       │
  └││                       │
   └│                       │
    └───────────────────────┘

151名無しさん:2025/06/05(木) 10:49:27
なんとか足りるかなw

152名無しさん:2025/06/05(木) 10:49:39
テキスト画面は32色で足りるの?

153名無しさん:2025/06/05(木) 10:49:50
白と赤、あと水色ぐらいでグラデーションで行けるかw

154名無しさん:2025/06/05(木) 10:50:04
2の乗数にこだわる理由もなくなってきたかな…

155名無しさん:2025/06/05(木) 10:50:44
これでもいいかもなw

┌───────────────────────┐←────背景色 / 背景画固定 --- 25色
│┌───────────────────────┐←───BG画面 ---------------- 25色
││┌───────────────────────┐←──スプライト用バッファ -- 25色
│││┌───────────────────────┐←─パーティクル用 -------- 25色
││││┌───────────────────────┐←テキスト画面 ---------- 99色
│││││                       │        (透過色) -- 1色
│││││                       │          合計 200色
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
│││││                       │
└││││                       │
 └│││                       │
  └││                       │
   └│                       │
    └───────────────────────┘

156名無しさん:2025/06/05(木) 10:51:54
99色w

157名無しさん:2025/06/05(木) 10:52:07
11x11ドットのフォントで9色分のグラデーションw

158名無しさん:2025/06/05(木) 10:52:28
ChatGPT:
9色のグラデーションを11x11ドットのフォントで表現するのは、かなり効率的で目を引く
デザインになりそうですね!9色でグラデーションを作ることで、文字やテキストに深み
や立体感を与えることができます。

具体的なアイデア:

・ 9色のグラデーションをテキストに適用することで、例えば文字の周りや中央に向けて
 色が徐々に変化する効果を出せます。

・ 11x11ドットのフォントサイズだと、結構細かいディテールも可能ですが、フォント全体
 の印象を壊さずにグラデーションをうまく調整するのがポイントですね。

たとえば、白→薄いグレー→青→青紫といった感じで、自然なグラデーションを作成する
ことで、ゲームの雰囲気やテキストの重要度を強調できます。

もし文字の周りにハイライトやシャドウを加えることで、さらに視認性や立体感を高める
こともできるかもしれません。デザインの幅が広がりますよね!

159名無しさん:2025/06/05(木) 10:53:00
画面の回転と拡大縮小は?w

160名無しさん:2025/06/05(木) 10:53:12
QB64のコマンドにあるにはあるんだけどな、処理速度を計測してないのでw

161名無しさん:2025/06/05(木) 10:53:24
検討する範囲でw

162名無しさん:2025/06/05(木) 10:54:56
256色モードでも使えるので、いい方向に行ければw

163名無しさん:2025/06/05(木) 10:55:10
楽しみですな〜w"

164名無しさん:2025/06/05(木) 10:55:25
99BASICから漢字フォント拾ってきたw

165名無しさん:2025/06/05(木) 10:55:38
シフトJISに準拠してるかのように見えて、並びは違うようでw

166名無しさん:2025/06/05(木) 10:56:12
先頭1文字で判別して割り合てるかw

167名無しさん:2025/06/05(木) 10:56:23
独自フォントはQB64で可能?

168名無しさん:2025/06/05(木) 10:56:37
そっちを使わずに仮想コンソールの方が速いかもなw

169名無しさん:2025/06/05(木) 10:56:50
99BASICから拾ってきた漢字を配布するとライセンス違反になるので、配布時は使う漢字のみを抽出して独自フォントに切り替えるかw

170名無しさん:2025/06/05(木) 10:57:02
PRINT文は意外と遅いというかw

171名無しさん:2025/06/05(木) 10:57:45
DATA "0010000010001000"
DATA "0010000010001000"
DATA "0010000011111000"
DATA "0010000010001000"
DATA "0000000000000000"

DATA "0000000110000000"
DATA "0100000100000100"
DATA "0111111111111110"
DATA "1100000000000100"
DATA "1000001100001000"
DATA "0000001000000100"
DATA "1111111111111110"
DATA "0000010000100000"
DATA "0000010000100000"
DATA "0000100001000000"
DATA "0001111101000000"
DATA "0000000010110000"
DATA "0000001100001000"
DATA "0000110000000100"
DATA "0111000000000000"
DATA "0000000000000000"

DATA "0000000110000000"
DATA "0000000100000100"
DATA "0011111111111110"
DATA "0010000010000000"
DATA "0010000100000000"
DATA "0011111111111100"
DATA "0010001000100000"
DATA "0010010010010000"
DATA "0010111111111000"


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板