約 3,873,518 件
https://w.atwiki.jp/gameprogramming/pages/16.html
サイト紹介 ブログ 楽しくC言語ゲームプログラム HP ガーディアン オブ ウォーリア (内容は未定です) サイト管理人紹介 名前 ナタク 活動分野 プログラム、イラスト(グラフィック) 備考 なし 使用言語 C言語、C++、DXライブラリ 完成済み・制作中の作品 C言語ロールプレイングゲーム1 ガーディアンオブウォーリアRPG(仮) (制作中) サイト・作品に関するコメント ご自由にメッセージをどうぞ。感想は互いの励みになります。 名前 コメント
https://w.atwiki.jp/test5656/
プログラマー・システムエンジニアになる人のブログです。 気軽に編集したり閲覧して頂けたら幸いです。 よろしくお願いいたします!
https://w.atwiki.jp/vipgm/pages/26.html
プログラマー ●● スクリプター 〇〇とかがよさげ
https://w.atwiki.jp/wikiwiki2/pages/649.html
コーリー・アルソフ『独立プログラマー』 日経BP社 2018.2 市立007ア (補章)訳者による。 1.Python関連のプログラミング書籍やサイト 退屈なことはPythonにやらせよう プログラムの絵本 翔泳社 しろ いちばんやさしいPythonの教本 インプレス 第2版 こ Python Boot Camp Text pycamp.pycon.jp/index.html Python チュートリアル docs.python.org/ja/3/tutorial/index.html みんなのPython第4版 しだ2016 2.Python関連の開発全般 Pythonエンジニア ファーストブック Pythonプロフェッショナルプログラミング 秀和システム(こ 初版) エキスパートPythonプログラミング(こ 初版) 3.ツールなど わかばちゃんと学ぶ Git使い方入門 し Web制作者のためのGitHubの教科書 インプレス Learn Git Branching learngitbranching.js.org アルゴリズムの絵本 翔泳社 あだ(医) アルゴリズム図鑑 翔泳社 だ(医) Python Tutor pythontutor.com explainshell.com explainshell.com 詳説正規表現第3版 だ 正規表現の視覚化ツール www.deguggex.com, regex101.com 4.プログラミングの基礎、エッセイ 改訂新版 これからはじめるプログラミング 基礎の基礎 2008 けあ これから始めるプログラミング 作って覚える基礎の基礎 2016(scratch) 新装版 達人プログラマー職人から名匠への道 け SOFT SKILLS 人生マニュアル こ ハッカーになろう cruel.org/freeware/hacker.html 5.プログラミングについてのQ Aサイト Stack Overflow ja.stackoverflow.com teratail teratail.com 6.日本のPythonコミュニティ www.python.ja/pages/community.html 7.プログラミング学習サービス PyQ pyq.jp ProjectEuler projecteuler.net CheckIO checkio.org Paiza paiza.jp
https://w.atwiki.jp/goodweather/pages/20.html
プログラマー班の連絡・報告版。後はプログラマー班の方でページをデコレートして下さい。 ■連絡事項 2010/08/12(木) A 〇EnemyManagerの仕様に関しての追記 Enemyの生成ルールは 1.最大8体まで(何もしないでほっておいた場合) 1.2~5秒で1~3体の敵をランダムで配置 1.同じ位置に出現できる敵の数は一体のみ A 〇Stage切り替えからゲームに移行する時の仕様に関しての追記 プレイヤーにゲームをする準備時間を与えるために、 ゲーム開始までのカウントダウンを行う。「....3....2....1...スタート」 *数字は画像で表示。カウントを始める前にも時間の余白 A 発言の際はイニシャルを先頭につけてお願いします。書き込みをした日付も書いてもらえると幸いです。 A 画像に関しては、今の段階では仮の画像(単純図形)を作って使用してください A 音楽に関しても同様です ■進行状況の報告 8/16 W 音楽が上がってきたので実装。様々なバグを修正。見た目の調整。仮音声の実装。ゲームオーバー画面、タイトルの仮実装。アップローダーに最新ファイルを掲載。 old w えー、すまん、一言言わせてもらうと仕様書おせえよ!w あまりにも遅かったので今まで勝手に動いて、大体実装済みなんだわ…相談必須かも。 あと、音楽はすでにO氏に発注済み。 ゲーム画面用の、せわしない感じの和楽器を使用した曲 タイトル画面用の、落ち着いた感じの和楽器を使用した曲 敵を刺した時に気持ちの良い効果音 この3点を発注しました。 すでに、(自分としては)だいたい完成版までこぎつけてる。 http //ux.getuploader.com/goodweather/download/2/Tentyu.zip 暫定版のzip。パスは仕様書と同じところに。 とりあえず一度動かしてみて、メッセかスカイプで話し合うべき。 メールだとおっつかないよ絶対w http //ux.getuploader.com/goodweather/download/3/src.zip //source プロジェクトのトップページ オープンキャンパス2010年8月21日
https://w.atwiki.jp/wiki11_sirokuma/pages/38.html
達人プログラマー―システム開発の職人から名匠への道 達人の哲学 割れた窓を放置しておかないこと 悪い設計、間違った意思決定、質の悪いコードを放置すると、そこから崩壊していく。 大きな構想を忘れないようにすること 小さな変化から崩壊が始まる。 品質要求を明確にすること 十分によいソフトウェアを作る。やりすぎない。 伝達しよう 聞き手を理解するための合言葉 WISDOM W what 聞き手に何を知ってほしいのか I interest 言いたいことの中の聞き手の興味は何か S sophisticate 言いたいことはどれくらい洗練されているか D detail 聞き手はどの程度詳細を知りたがっているのか O own 誰に知ってもらいたいのか M motivate 聞いてもらうためにはどうするのか 達人のアプローチ 二重化の過ち DRY Don t Repeat Yourself 繰り返しを避けること 再利用しやすいようにしておくこと 直交性 関係のないもの同士の影響を排除する → コンポーネント間の依存度を下げる 可逆性 DRY原則、結合度の最小化、メタデータの使用ーによって可逆性が高まる 曳光弾 まず最小限度のすべての機能が動作するコードを作成し、修正、肉付けを行う プロトタイプ 特定の機能についての詳細を作成する 専用の言語 ユーザーの問題領域に近いところでプログラミングを行う。 ミニ言語を作成する。 見積もり システムをモデル化する → コンポーネントに分割する → コンポーネントを見積もる コーディングによりスケジューリングを繰り返す 基本的なツール プレーンテキスト データはプレーンテキストに保存すること シェル遊び コマンドシェルの力を使うこと パワーエディット ひとつのエディタを熟知すること ソースコード管理 常にソースコード管理を使用すること デバッグ 非難しないこと パニックに陥らないこと "select"はおかしくない 仮定せずに、証明すること テキスト操作 テキスト操作言語を学ぶこと コードジェネレータ コードを生成するコードを作成すること 妄想の達人 あなたは完璧なソフトウェアを作ることはできない 契約による設計 Design by Contract(DBC) 事前条件、事後条件、クラス不変表明ーにより、ルーチンの設計を行う DBCをチェックする → C言語による実装? 死んだプログラムは嘘を付かない 早めにクラッシュさせること トラッシュ(めちゃくちゃにする)ではなくクラッシュ(停止) 表明プログラミング 起こり得ないことは表明によりチェックする assertなどを用いる いつ例外を使用するか 例外は例外的な場合のみに使用すること リソースのバランス方法 始めたことは終わらせること → リソースを確保した人が解放する 曲げるか壊すか 柔軟性の高いコードを記述する 結合の最小化とデメテルの法則 デメテルの法則により、結合の最小化を実現する 機能に対するデメテルの法則 オブジェクト中のすべてのメソッドは、以下のいずれかに属するメソッドのみを呼び出すべきである ・自分自身 ・メソッドに渡されたパラメータ ・自身が生成したオブジェクト ・直接保持しているコンポーネントオブジェクト メタプログラミング 設定できるものを統合しないこと → システム設定を動的に変更できるようにする 抽象概念はコード上に、詳細はメタデータ上に置くこと 時間的な結合 ワークフローを分析し、並列実行可能なアクションを明記すること サービス(一貫性のあるインタフェースを持ち、独立した並列オブジェクト)を使って設計を行うこと 常に並列性を意識した設計を行うこと 単なる見かけ モデルからビューを分離すること コーディング段階 偶発的プログラミングを行わない 常に何をやっているのかを意識する 完全に理解していないことをしようとしない 明確なプランを持ってすすめる 信頼のおけるものだけを前提とする 仮定をドキュメント化する → 契約による設計を行う 仮定が正しいことをテストする → 表明によるプログラミングを行う 作業に優先順位をつけ、重要なことに時間を使う 過去のしがらみにとらわれない → リファクタリングを行う アルゴリズムのスピード アルゴリズムの処理速度を見積もり、見積の検証を行う リファクタリング リファクタリングを早めに、こまめに行うこと リファクタリングのタイミング ・二重化の解消 ・直交性の確保 ・変更した要求の修正 ・パフォーマンスの向上 リファクタリングと機能の追加を同時に行ってはならない 小さな修正を行う 頻繁にテストを行う テストしやすいコード 契約による設計とし、契約に対するテストを行うこと テストコードを作成すること 邪悪なウィザード 理解できないウィザードのコードを使用しないこと プロジェクトを始める前に 要求の落とし穴 要求は拾い集めるものではなく、掘り起こすものである 要求をドキュメント化する 抽象は詳細より息が長いものである プロジェクトの用語集を作ること 不可能なパズルを解く 制約条件にとらわれずに考えるのではなく、本当の制約条件を見つけ出すこと 準備ができるまでは 心の声に耳を傾け、準備ができてから開始すること 仕様の罠 解説しないほうが良い場合もある → 過剰な仕様書を書かない 丸と矢印 形式的方法論にとらわれない 達人のプロジェクト 達人チーム システムの機能ごとにチームを編成する どこでも自動化 手作業は危険である ・プロジェクトのコンパイル ・ビルドの自動化 ・最終ビルド ・管理の自動化 容赦ないテスト 早見にテスト、何度もテスト、自動でテスト テストが全て終わるまでコーディングは終わらない コードのカバレージではなく、状態のカバレージをテストすること 複数のバグを一度にみつけること すべてはドキュメント ドキュメントは組み込むものである 大きな期待 ユーザーの期待をやや上回ること 誇りと愛着 あなたの作品に署名すること
https://w.atwiki.jp/magamorg/pages/1331.html
アクア・プログラマー ベリーレア 水 コスト8 パワー4000 リキッド・ピープル ■自分のクリーチャーを召喚できる時、マナゾーンのカードを3枚タップしても良い。そうした場合、山札の一番上のカードを裏向きのまま、バトルゾーンに出す。そのカードは文明は水、名前は『プログラム』、種族は『リキッド・ピープル』、レアリティはベリーレア、コスト3、パワー6000、効果にWブレイカーを持つクリーチャーとして扱う。プログラムがバトルゾーンを離れる時、代わりに山札の一番下に置く。 (F)プログラム製造おっけー! サイバーロードも驚きの一品だゼ! 作者:紅鬼 ちなみに、出てくるのはこんな奴です↓ プログラム ベリーレア 水 コスト3 パワー6000 リキッド・ピープル ■Wブレイカー
https://w.atwiki.jp/yaruhara/pages/41.html
もくじー ゲームプログラムTips ゲームプログラムTipsこれは何? 当たり判定当たり判定は「円」で充分 衝突応答は、複数回に分けて判定を行うとうまくいく 移動速度が速くて、通り抜けが起こる場合 敵のバランス リプレイ実装の副産物 数学一定のフレームでAからBに移動させる 物理物理は複雑 AIAIの使い道 リファクタリング トークンの選択・追加 トークン生成の定義の副産物 飽和点を認識する ミニマップ バージョン管理Subversion TortoiseSVN あとは ネットワーク経由でバージョン管理したい場合 これは何? ゲームプログラムしていて、気が付いたことを書き留めておくものです。 当たり判定 当たり判定は「円」で充分 「円」による判定は、汎用的で、直感的に分りやすいためバグも出にくく、コストパフォーマンスが高いです。 なにか特別な理由がある(地形との当たり判定とかニードル(縦長の弾)など)以外は、「円」で判定を行ったほうが良いみたいです。 衝突応答は、複数回に分けて判定を行うとうまくいく 例えば、地形にぶつかった場合押し戻す、という処理を実装する場合、 XY方向の判定をまとめて行うのではなく、 X方向に移動、ぶつかってたら押し戻し Y方向に移動、ぶつかってたら押し戻し というように、2回に分けて判定を行うと、うまくいきます。 移動速度が速くて、通り抜けが起こる場合 以下のどちらかの方法を取ります。 通り抜けが起きない移動量になるよう、制限をかける 通り抜けが起きない移動量になるように、移動量を分割して判定を行う 例えば、シューティングの自機のショットはたいてい高速なので、2回以上に分けて当たり判定を行います。 敵のバランス プレイヤーに不利益となる判定(ex.プレイヤーへの衝突)の場合、敵のサイズを小さくし、 プレイヤーに利益となる判定(ex.プレイヤーの弾の衝突)の場合、敵のサイズを大きくします。 つまり、敵は2つのサイズを持つことになります。 リプレイ実装の副産物 リプレイを実装すると、プレイヤーが楽しめるだけではなく、 バグの再現 レベルデザインの修正 が可能になります。 1は、何らかのバグが発生した場合、 リプレイを再生することで、バグの手順を再現できるということです。 2については、自分が理想とするプレイを再現できるため、 その通過ポイントにアイテムを配置することで、 プレイヤーを「理想のプレイスタイルに誘導」することが可能になります。 数学 一定のフレームでAからBに移動させる 一定のフレームをTとする。 Bまでの方向ベクトル(v)を「B-A」で求める。 |v|でその距離(L)を求める。 「L/T」で1フレームの移動距離(l)が求められる。 vの単位ベクトルにlをかけると1フレームの移動ベクトル(v1)が求められる。 「A+v1」により、そのフレームの移動後の座標が求められる。 これを使うと、 テキトーに動かした敵をある位置まで自動的に戻す 誘導弾 任意の位置にいるプレイヤー座標から開始したエフェクトを特定の位置への線形移動(例えば、メッセージウィンドウなど) といった処理を行うことができます。 物理 物理は複雑 物理計算をして移動量を決定すると、複雑な軌道をシミュレートすることが可能になります。 しかし、それはしばしばゲームの不安定要素となるため、 テーブルと移動開始時間からのタイマーにより移動量を決定すると、移動量が安定します。 AI AIの使い道 AIは複雑なルールを持つゲームにおいて、 敵やNPCの思考ルーチン構築の負担を減らすものであり、 通常は必要ないです。 確実に使えるものとしては、用途の明確な、 LOS追跡アルゴリズム(追いかける) LOS迎撃アルゴリズム(先読み弾) 有限状態機械 A*による経路探索 ぐらいです。 逆に、 ニューラルネットワーク 遺伝的アルゴリズム は、とっても使いどころが難しいです。 リファクタリング リファクタリングとは、 外部から要求される動きを変えずに、ソースを読みやすくする 手法です。 リファクタリングの手法については、例えば、 重複する処理の共通関数化 長すぎるメソッドのサブルーチン化 巨大なクラスの分割 などがあります。 これらの手法をカタログ・パターン化したのがリファクタリングです。 「まあ、動けばいいじゃん」 という思想は、とても正しく、健全です。 リファクタリングをしても、進捗率は1%も増加しません。 ただ、リファクタリングには、 機能拡張・修正を容易にし、未知のバグを検出するなどの メリットがあることを忘れてはいけません。 トークンの選択・追加 ゲームを面白くするのは、トークンの増加です。 ただ、トークンを単純に増やすだけではダメで、 メリット(追加することにより、どんな効果が得られるのか?) デメリット(追加することにより、どんなゲーム性が失われるのか?) をしっかり考察し、自分が重視する価値観を満たすトークンのみを選択・追加する必要があります。 しかしこの考察・選択は、作り手のスキルに依存する部分でもあります。 いざ、追加してみたら予測のできなかった問題が発生した、 というのは、良くあることです。 そこで、実際にゲームに使うかどうかを「保留」できる仕組みを、 前もって作っておくことで、このリスクを回避することができます。 その仕組みとは、 トークンの生成ロジックをプログラムから切り離してしまうことです。 具体的には、 外部スクリプト化 外部マップデータ化 により、トークン生成の定義を外部で行えるようにします。 トークン生成の定義の副産物 トークン生成の定義を外部で行えるようにするようにすると、 生成するための入り口が簡易化されます。 それにより、 「敵トークン」の破壊により、「爆発トークン」を生成する というような、トークン間の「連鎖反応」を実装しやすくなります。 他にも、 「ボストークン」が「雑魚トークン」を生成する という連携や、 「エフェクト1トークン」消滅すると「エフェクト2トークン」を生成する という連携の実装も容易になります。 飽和点を認識する ゲームを作っていると、時々、些細なことが非常に気になったりします。 例えば、 このエフェクトをあと1フレーム伸ばすべきか? などと。 おそらく、その問題を解決したところで得られるものは少ないです。 その問題を解決したい気持ちをグッとこらえて次のステップに進むことが大切です。 このことは、素材作成などについてもいえます。 絵の下手な人が必死でドット絵を描いても、 絵のうまい人が鼻歌交じりで数分で描いた絵には勝てません。 作曲の知識のない人がメロディーを必死に考えても、 一定のレベル以上の曲は作れません。 飽和点を認識することで、無駄な作業を避けるようにしましょう。 ミニマップ ミニマップはスクロールが存在するゲームでの指針となります。 しかし、ミニマップを透明化できない場合(情報がごちゃごちゃある場合など)、フィールドの視界を妨げます。 その場合は、思い切って、上から下まで伸びた枠にしてしまうと、 視界を妨げることがなくなります。 バージョン管理 大きな修正を加える場合、万が一にとバックアップ・コピーを続けると、 コピーファイルだらけになってしまい、なんだかよくわからなくなってしまいます。 個人開発では大げさかもしれないですが、 バージョン管理システムを使うことにより、 ソース管理の簡易化 コメントの付加 コピーを取る手間の削減 などの効果を得ることができます。 Subversion バージョン管理システムの主流となりつつあるのが、Subversionです。 Subversionはここからインストールします。 http //subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 「svn-X.X.X-setup.exe」(Xはバージョン)だとインストーラーつきで簡単にインストールできます。 ただ、素のSubversionはコマンドプロンプトから起動することになるので、 便利に使えるようにするGUIツール「TortoiseSVN」を使います。 TortoiseSVN http //tortoisesvn.tigris.org/download.html ここから、Download pageのリンクをぺちっと押すと、SourceForgeのページに飛びますので、 TortoiseSVN-X.X.X.XXXX-svn-X.X.X.msi」(Xはバージョン)を落とし、インストールします。 また、デフォルト英語なので、 http //tortoisesvn.tigris.org/download.html のLanguage Packsのリンクから、SourceForgeのページに飛び、 「LanguagePack_X.X.X_ja.exe」(Xはバージョン)を落とし、インストールします。 あとは http //www.saisse.jp/pukiwiki/pukiwiki.php?Subversion#zf8c1d62 ここを参考に、TortoiseSVNの日本語化、リポジトリ作成、コミットなどをためしてみます。 (手抜き?) これで、一人でもチーム開発の気分が味わえます(w ネットワーク経由でバージョン管理したい場合 http //www.strikeout.jp/technote/?Subversion%2FWindows%A4%D8%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB ここを参考に、Apacheをインストールして、必要な設定をします。
https://w.atwiki.jp/tokimeki_dictionary/pages/1474.html
Game Creator ゲームクリエイター【げーむくりえいたー】 『4』に登場する主人公の進路の一つ。 デバッグの経験値が100以上になると、 3年目の2月4日に就職しないかと誘われて2月下旬の進路選択時に選ぶ事が可能になる。 デバッグは体調の減少が少ないのが何より有り難い。 運動とモラルが下がるので皐月優やエリサ・D・鳴瀬の登場を防ぐ際にも 有効なアルバイト先である(容姿も下がる)。 名称こそ『2』のクラブマスター進路であるゲームプログラマーと似ているが、 ゲームプログラマーは部活経験値が多く必要なうえにそれまでに加わるストレスも膨大なので、 それに比べるとずっと楽にたどり着けてしまう。 「いつか世界一のゲームを作るためにがんばるつもりだ」との事。 土木作業員とほぼ同じ台詞。もう少し違いを出して欲しかったところである。 関連項目 進路 アルバイト デバッグ
https://w.atwiki.jp/ymst/pages/66.html
【作品名】 バトルプログラマーシラセ 【名前】 バトルプログラマーシラセ 【大きさ】 バトルプログラマーシラセ並み 【攻撃力】バトルプログラマーシラセ並み 【防御力】バトルプログラマーシラセ並み 【素早さ】 バトルプログラマーシラセ並み 【特殊能力】機械類は問答無用で操る 女には無条件で負ける 【戦法】 機械類は操る。それ以外は為す術なし 【備考】バトルプログラマーシラセとは運動音痴な大学生ということである 名前 コメント