Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
141 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61154
次のページ(過去)
返信[12]
親投稿
おちゃめ ochame_nako
超々極太筆ではこんなド迫力の文字が書けます。 普通のお絵かきソフトのブラシではこんな文字は書けないためこの「簡易毛筆」ならではだと思います。
0そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
しかし、個人的には超極太筆(Aボタンで選択)や超々極太筆(Bボタンで選択)も使ってみて欲しいところです。 例えば超極太筆ではこんな文字が描けます。
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
普通に使うならば十字ボタンで選択可能な細筆~極太筆がメインになると思います。(Lボタンによる極細筆は細かい文字専用) ということで参考までに太さの目安を用意しました。 筆をさらにゆっくり動かした場合にはこれより太くなるし、すばやく書けばこれよりもかなり細くなるためあくまで「私が(書道をイメージして)普通に書いた場合」の例です。
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
この簡易毛筆 for 3DSの開発話をこちらのトピックスで書きました。 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0flviIwFA 「にじみ」や「かすれ」の原理も簡単に説明しているため上記の改造によって、なぜ調整できるかもこれを読んでもらえたら分かると思います。 これ以上詳しい説明はあまりに長くなるためMiiverseでは辛いですね。
0そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
プログラミングに限ったことではないですが「分からないことはやってみる」ことが一番重要です。 特にプチコン3号によるプログラミングの場合は間違ったことをやっても人的被害があるわけでもないし、本体が壊れるということもありません。 これは、どんな失敗であろうと気にせず試せるということです。 今回の簡易毛筆の例も試行錯誤の重要性を分かってもらうために書きました。 個人的には「試行錯誤」こそがプログラミングの面白さだと思います。 これは、「思ったように動けばそれが正解」となるためです。 とはいえ、試行錯誤だけですべて解決できるわけではありません。 自分でやった上で分からないことはネット等を使い自分で調べればいいしそれでも分からなければその時はMiiverse等で他人に質問すれば良いのです。 長文になりましたが、プチコン3号によって初めてプログラミングに触れた人にとって何らかの参考になれば幸いです
3そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
その試行錯誤を行うにも過去の経験の有無は重要です。 実際にブラシで描画する処理を作ったことがないとそもそも「にじみ」や「かすれ」の実装方法なんて思いもつかないでしょう。 もちろん、ネットで検索すれば良い方法が見つかるのかもしれませんが「それを考えること自体が楽しい」と私は思っています。 すべて自力でプログラムを作るのか、分からないことを人に聞いたり調べたりするのかは、初めてプレイするゲームを自力でプレイするのか攻略本を見ながらプレイするのかの違いに似ています。 前者の方が楽しいと感じている人はぜひ試行錯誤で自分なりの方法を見つけ出してください。 これは後者を否定しているわけではなくという人も「自力でやりたいけど手がかりが全く無くてずっと立ち往生している人」「それによって嫌いになる人」よりは良いことだと思います。
1そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
処理の高速化はループ内の処理の極限までの軽量化を行いました。 例えばプチコン3号では乗算より除算の方が速いため乗算処理をすべて除算に書き直しています。 軽量化処理と最適化処理によって実効速度は約3倍になり旧3DS(2DS)では20~30fpsしか出なかったデフォの極太筆も60fpsをキープできるようになりました。 というわけで、これが最新のver.1.1.0です。 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0flPl_jhQ 簡易毛筆QSPが出来てから簡易毛筆 for 3DSが出来るまでの流れ(1年以上の期間があるけど実質3日分)を書いてみましたが、最初から頭の中だけでできる処理というのは案外少ないもので多くのものが試行錯誤によって実現されています。 これはどんなジャンルのプログラムにおいても変わらないと思います。
1そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
「簡易毛筆 for 3DS」は元々解像度が高いプチコンBIGでの動作を想定しているため「にじみは抑えられてる」わけだし、旧3DSでの動作は全く考慮されてない(デフォ筆でも20~30fpsしか出ないため厳しい)ということもあり、「簡易毛筆 for 3DS」の改良版を作ることにしました。 改良するにあたり「にじみ量の調整」「処理速度の向上」は重要な要素ですが、それに加えて実際に「書き初め大会」での使用者を見ると「太すぎて使いにくい」とか「(普通の鉛筆書きと同じくらいの速度で書いているため)線が細くなり毛筆っぽさが全然でない」という人もあり、それを改善したイージーモードを用意することにしました。 自分だけで作っているソフトの場合は「分かっていること」前提でバランス調整してしまいがちです。 しかし、そのソフトを使ったことがない初心者が相手ならば「分からないことを前提」にしなくてはなりません。
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
BIG版となる「簡易毛筆 for U」がとりあえず完成してやはり次はプチコン3号版となる「簡易毛筆 for 3DS」を作ってみようとなったわけですが、BIGでさえギリギリ処理落ちしないレベルのものをプチコン3号でまともに動くのかというのが懸念材料でした。 そんなのやってみないと分からないため解像度だけをプチコン3号用にコンバートした作品を作ってみたところNew 3DSで動かせばデフォの極太筆でも60fpsをキープでき処理落ちしませんでした。 これは画面解像度が低い分だけブラシを小さくしている(半径では約1/2、面積では4分の1)のが理由でプチコンBIGより3倍くらい遅い(New 3DSで動作する)プチコン3号でプチコンBIG用のプログラムをほとんど変更無しに動かすことができました。 これでようやく「簡易毛筆 for 3DS」の初期版(ver.1.0.1)が完成しました。
1そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
普通のエアブラシだとブラシの「中央付近が濃く」「端の方は薄い」という処理になるためループ回数を減らしたら端の方からどんどん薄くなるのですが、この乱数を複数発生させたドーナツ型のブラシが幸いして「いい感じ」でかすれが発生しました。(端だけではなくブラシの中央もかすれてくる) 普通のエアブラシでループ回数を減らせばブラシ中央もかすれるようになるのですが、その場合は周辺はさらにかすれた感じになりエッジが完全に無くなります。 「いい感じ」になったのは「ブラシ中央が薄いため」だけではなくブラシの半径単位で線形補間をしたためです。 これによってある程度エッジが効いた状態でかすれが発生するようになりましたが、これも試行錯誤でループ回数を調整していい感じになるようにできました。 上記の例では1ドットあたり乱数を4回発生させていますが、この数が多いほどドーナツははっきりとした形状になります。
1そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
「にじみ」ができれば「かすれ」はループ回数を増減によってコントロール可能になります。 (面積あたりの)ループ回数が減ればドットの密度が減ってかすれたようになり、ループ回数が増えればドットの密度が上がって濃くなるわけです。 同じループ回数ならばペンを速く動かせば必然的に面積当たりではループ回数が減るためどの速度以上ならばかすれが多く発生するかさえ分かれば良いです。 これも頭の中で考えるのは難しいため実際に動作させて調べてみました。 速く動かすと線が細くなる(ブラシの半径が小さくなる)ような処理になっているため「速く動いている」というのは線の太さとのバランスも考える必要があります。(十分太い線になっているのにかすれているということがないようにしなければならない)
1そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
複数発生させて平均を取れば平均付近の値が出やすくなるということは平均付近を離れた値は出にくくなるわけで乱数の発生回数によって簡単ににじみをコントロールできるというわけです。 どれくらいが適切なのかは考えてもすぐには出てこないため実際にプチコンBIG上で動かして確かめてみました。 発生させる乱数の数によってどの程度変わるかはプチコンBIGで確かめたところ1ドットあたり4回くらいがちょうど良い感じに思えました。 この「にじみ処理」はかなり重い処理となるわけですが、簡易毛筆QSPでは線形補間の処理(ペンを速く動かした場合に線が途切れないようにその間を埋めていく処理)を1ドット単位で行っていたのに対して「簡易毛筆 for U」はブラシの半径分の線形補間(これより大きいと隙間ができてしまう)によって処理落ちせず60fpsをキープできました。
1そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
「にじみ」「かすれ」といってもそんなものは作ったことがないのでどこから手を付けるかで迷いましたが、単純にエアブラシを作ってみたところ「ふわふわするだけで全然毛筆っぽくない」ためこれをどのようにしたら毛筆っぽくなるかで考えることにしました。 そこで、思いついたのが乱数に意図的な偏りを持たせるというものです。 これは以前も書きましたが、乱数を複数発生させてその平均を取ると中心極限定理によって正規分布に近づくというのが知られています。 https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0fQKcdeZg 簡単に言えば、発生させる数が多いほど平均付近の値が出やすくなるということです。 その考えに基づいたブラシがこれです。 半径がRとするとブラシの中央からR/2付近の値が出やすくなるためこのようなドーナツ型のブラシになるわけです。
1そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
毎年恒例となる書き初め大会を今年はプチコンBIGコミュでもやりたい。   ↓ 簡易毛筆QSPをプチコンBIGで動作させてみたところBIGのバグによって正常に動かないことが発覚。   ↓ それならばプチコンBIG用に作り直せばいい。   ↓ 単純移植だとつまらないのでBIGならではの要素が欲しい。   ↓ 高解像度だけではインパクトに欠けるので行数制限無しで作るならば「にじみ」「かすれ」にも対応してみたい。 というわけで、プチコンBIG専用の簡易毛筆を作り始めたのでした。 しかし、12月29日でお正月の書き初め大会に間に合わせるのは3日しかないという状況下でした。
1そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
私はBASICを初めてから30年以上経ちますが未だに試行錯誤の連続です。 一例として冒頭にある簡易毛筆について少し書いてみます。 ご存じの人も多いかと思いますが、私は小さいプログラムを作るのが好きでQSP(WIDTH 16を使用時の1画面プログラム)も多く作っています。 そんな私が1年少々前に作ったのが簡易毛筆QSPです。 https://miiverse.nintendo.net/posts/AYMHAAACAAADVHkm7urBQQ これはリンク先に書いているようにペンを動かす速さによって「入り」「抜き」が表現されています。(しかも、QSPで) これは、すでに単色お絵かきソフトであるPETIT PAINT QSPを作っていたからこそできたのでそこから語る必要がありますが、長くなるので「入り」「抜き」対応の簡易毛筆QSPがあるという段階でスタートします。
1そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
試行錯誤することでプログラミングは上達します。 成功しても失敗してもそれが自分の力になるためです。 何も経験がない初心者の場合は「『こんなの作りたい』→『実際に作ってみよう』」がなかなかできないかもしれないですが、その場合はできる範囲内のことをやれば良いし、分からない場合はその段階でそれを行うのに必要な命令等を覚えれば良いのです。 「命令がたくさんあるから順番に覚えていかないといけない」と考えて自分がいつ必要になるかも分からないような命令を必死で覚える必要はありません。 そんな「どこで使えるのか分からない」「何の役に立つのか分からない」という段階で覚えても身に付かないしやっていてつまらないことが多いです。 「必要になったときに必要なことを覚える」というのが一番無駄が無いだけではなく、やる気を削がれず「長続きするコツ」です。
3そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
さて、プログラミングというと「きちんとフローチャートを書いて」とか形から入るようにしている人(もしくは、そのように教えている人)も居ますが、そんなにきちんと考える必要なんてありません。 「こんなの作りたい」→「実際に作ってみよう」 これでいいのです。 「思ったように動かない」「エラー」が出たという場合に理由を考えて対処すればいいのです。 こんな行き当たりばったりのプログラミングだと大勢で共同開発したり大規模なプログラムを作る場合にはどこにバグがあるのか分からないからダメみたいに考える人もいると思いますが、初心者がいきなり「共同開発」とか「大規模なプログラム」とか作るはずがないので無用な心配です。 むしろ、頭の中(もしくは紙の上)でばかり考えて「実際に動かしてないのにあれこれ悩んで前に進まない」というのが一番ダメなパターンだと思います。
3そうだね
プレイ済み
プレイ日記
おちゃめ ochame_nako
プログラミング初心者の方へ捧ぐ! プチコン3号を購入によって初めてプログラミングを行う初心者も多いと思います。 プログラミングにおいて重要なのは「実際にプログラムを作る」ということです。マニュアルや講座等を見て頭を悩ませるだけではプログラミングの楽しさは分かりません。 「自分で考えたものが実際にプチコン上で動く」ことこそがプログラミングの一番の楽しさだと私は思います。 そこで私の経験を元にしたプログラミングの上達方法や楽しさについて少し書いていきます。 実際の例として先日公開した「簡易毛筆 for 3DS」での開発話(「にじみ」や「かすれ」の原理など)とかも書いています。
31そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
「何を作ればよいか?」というのであれば「自分が作りたいもの」を作ると良いですよ。 自分が作りたいものであれば難しくても挫折しにくいです。 プログラミングの上達に必要なのは「(自分で完成させた)経験」です。 作りたいものを作るのには技術が大幅に足りないという場合は「作りたいものを簡略化したもの」「一要素のみを抜き出したもの」にすれば良いです。 配列変数については変数を「箱のように値を収納するもの」と仮定すればロッカーのように整列した収納スペースです。番号で収納場所を指定できる便利なものです。 とはいえ、配列変数に限らず「何に使ったら良いのか分からない」というのは現状において自分には不要なものです。無理に覚える必要はありません。必要になってから勉強すれば良いと思います。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
私は連打ゲームのようなシンプルなゲームが好きなので自分でも良く作っていますが、MIKIさんと同じく「クリアまでのタイム」とかの数字が出る方が断然燃えます。
0そうだね
プレイ済み