zerogram

元ゲームプログラマー、内製のゲームエンジン作ってました。 JavaScriptを使った動的なWebページやアプリの制作、公開しています。 (音ゲー練習アプリ、楽器練習支援アプリなど) これまで公開してきたアプリの制作ノウハウや思いついたアイデアを投稿していく予定です。

zerogram

元ゲームプログラマー、内製のゲームエンジン作ってました。 JavaScriptを使った動的なWebページやアプリの制作、公開しています。 (音ゲー練習アプリ、楽器練習支援アプリなど) これまで公開してきたアプリの制作ノウハウや思いついたアイデアを投稿していく予定です。

    最近の記事

    間違いだらけのピアノイラスト ピアノの鍵盤を計算で描くプログラム (JavaScript)

    身の回りの本などに描かれたピアノの鍵盤のイラスト、ほとんどが間違っているようです。ピアノを題材にした漫画アニメ、ピアノ教則本でさえ! イラストなのでピアノと分かればいいのですが、正確なピアノの鍵盤を描画するプログラム(JavaScript)を作ってみました。 ピアノの鍵盤イラスト普通はこんなイメージ? ほとんどの人が鍵盤のイラストを描くとこうなると思います。これでもいいのですが、気になります。 等分割 プログラム失敗例 なんかずれてる。単純に1オクターブを白鍵7等分、

    有料
    300
      • 画像の拡大縮小(バイキュービック Lanczos)+高速化o(n^2)⇒o(n) for JavaScript

        ※Nは解像度ではなく影響範囲 N*N ⇒ (1+1/scale)*N ※計算誤差等により処理結果が微妙に異なります 有名な拡大縮アルゴリズムを実装してみました。高解像度では計算に時間がかかるため高速化もしてみました。 デモツール(Webアプリ)を無料公開、ソースコード(TypeScript)は有料 デモツール拡大画像比較 計算方法基本計算式 画像の拡大縮小はピクセル間の色補間です。 すべての方法で同じ計算を行います。異なるのは、重み関数の計算式だけです。 重み関数

        有料
        600
        • 数学@ゲーム ポリゴンの面積を求める

          ゲームの判定処理の基本、ポリゴン(多角形)の面積を求める方法です。 ゲームプログラムや3DCGでは処理を単純化するために、すべて三角形に分割して計算することが多いです。 多角形を三角形に分割、それぞれの面積を足し合わせることで多角形の面積を求めます。 三角形の面積 外積で簡単に求まります。ベクトルの外積の長さは、2つのベクトルでできる平行四辺形の面積なので、2で割れば2つのベクトルでできる三角形の面積になります。3次元では、外積は三角形の法線になります。 多角形を三角形

          • 数学@ゲーム 線分と線分の交点を求める

            ゲームの判定でよく使用される線分と線分の交点を求めるプログラムです。 数学的?(連立方程式)ではなく、プログラムにとってシンプルになるように作りました。シンプル⇒計算速度と保守性 計算式 テキストだと説明し難いので画像で 小さいかもしれないので ソースコード TypeScript(JavaScript) 自作のベクトル演算使ってます。 export function IntersectionLineLine( p0 : Vector, p1 : Vector,

            VisualStudio2022で始める3Dプログラミング / OpenGL / Windows10

            ※ブログで公開していた記事の抜粋(OpenGL)です。 Windows&C++で3DプログラミングするならDirectXかOpenGLだと思いますが、最新バージョン(DirextX12など)は、性能重視のため手軽にプログラミングができなくなっています。 なので古いバージョンで使えるものを調べて、プログラミングができる環境を作ってみました。 作成した環境は、OpenGL1.1、OpenGL4.5、DirectX9、DirectX11、DirectX12で、初期化と画面クリア、

            Bullet SoftBodyでぬいぐるみを作ってみる / 簡易形状によるスキニング

            ※ブログで公開していた記事です。情報が古いかもしれません。 SoftBodyを使って、ぬいぐるみを再現しみます。 SoftBodyのポリゴン数に制限があるようなので、ローポリモデルをソフトボディーで動かし、その動きをハイポリモデルに反映するという方法を採用します。これでSoftBodyの制限回避と計算負荷を軽減しつつ、見た目の良いハイポリモデルを動かすことが可能になります。 今回、解説動画を作成しました。大まかな説明は動画で行って、 ここではローポリとハイポリモデルの連動

            Bullet Physics SoftBodyを使ってみる / C++ / VS2022

            ※ブログで公開していた記事です。情報が古いかもしれません。 Bullet PhysicsのSoftBodyが前から気になっていたので試してみます。 ソフトボディーと聞いてまず"ぬいぐるみ"を思い浮かべたので、ぬいぐるみっぽい動きを実現することを目標にします。 まずは、任意形状のポリゴンモデルをSoftBody機能を使って動かすために 必要な準備やパラメータ設定を調べ、実験用プログラムの作成。 Soft Body物理エンジンでよく使われる剛体とは異なり、衝突など力が加えられ

            Bullet Physics, Visual Studio 2022ゲーム用ビルド / float / C++ / Windows

            pybullet(Python)、VRなしのプロジェクト生成バッチ(build_visual_studio_without_pybullet_vr.bat)が動かなかったのでメモ書き premake5が失敗する、自分の環境だけか不明 Bullet3.24 バッチファイル cd build3premake4 --targetdir="../bin" vs2010 dubleを使うなら --double 追加 更新16:50 --enable_multithreadin

            Bullet Physicsで簡単なゲームを作ってみる / ゲーム制作に必要な機能 / C++ Windows

            ※ブログで公開していた記事です。情報が古いかもしれません。 物理エンジンといえば、建物を破壊したりリアルな挙動を実現する派手なゲームを思い浮かべますが、その様なゲームでなくても物理エンジンを活用可能です。 物理エンジンには形状同士の衝突を検出する機能があり、多数の形状同士の衝突判定を高速に行うことができます。キャラクターの移動、攻撃判定、イベントトリガなどを物理エンジンを利用すれば簡単かつ高速に判定することができます。 使い方に少しコツがいるためにゲーム制作に必要な機能を

            有料
            400

            YouTubeとかの埋め込み動画を無反応にする 音ゲー練習アプリ / JavaScript for iPad, iPhone, Android

            最初に 公開禁止、個人利用のみでお願いします。使い方によっては著作権や利用規約違反の可能性あり。 簡単なJavaScriptだけで音ゲー練習アプリが作れます。プレイ動画はYouTubeとかの動画サービスを利用します(※著作権や利用規約に注意!) 動画をタップすると再生停止、UIが出てきたり・・・これらを無効/有効にできるプログラムです。JavaScriptなので特殊な開発環境は不要です。 開発環境構築 こちらをみてください。 ソースコード(有料) 上の環境構築記事

            有料
            300

            pybullet - Visual Studio 2022でビルド&実行 / Bullet Physics / Windows

            物理エンジンBullet Physics(C++)をPythonから操作するpybulletの開発環境を作成する方法です。C++のビルド、Pythonのインストール、pybulletの実行、すべてVisual Studio 2022で! 動作確認はWindows10のみです。 用意するもの Visual Studio 2022 Bullet Physics SDK Visual Studio 2022のインストール 学生、個人なら無料です(2022/6/15) 必

            JavaScriptで簡単な動画解析 某音ゲーのGREATを検出してみた

            某音ゲーのALL PERFECT狙う際に、どこでGREATが出ているか判り難かったので作ってみました。開発環境はTypeScript+Webpack、確認済みの実行環境はiPadのブラウザとWindowsのEdgeです。 必要なもの プログラミン環境(PCなど) 実行環境(PC、iPadなど) プレイ動画(解析対象、ブラウザで再生できる形式) 画像編集アプリ(判定画像作成) 環境構築、iPhone/iPadでのJavaScriptの実行については以下の記事を 解

            有料
            300

            アプリ自給自足 PCで書いたJavaScriptをiPhone/iPadで実行する方法 LAN(Wi-Fi)Androidもね

            PC(Windows,Macなど)で作ったJavaScriptをiPhoneやiPadのブラウザで実行させる方法です。知っておくと便利。 どうやって? JavaScriptとHTMLを書く PCでローカルHTTPサーバーを立ち上げ iPhone/iPadのブラウザからアクセス JavaScript実行! 必要なもの PC(Windows,Macなど) テキストエディタ ローカルHTTPサーバーのアプリ LAN(Wi-Fi)環境 iPhone/iPad、A

            ゲームループ ゲームを作るならこれから JavaScript/TypeScript

            JavaScript/TypeScriptでのゲームループの作り方。 動きのあるインタラクティブなアプリやゲームを作るには、一定間隔で処理を実行するゲームループ処理があると便利です。というかないとできないかも。 これまでJavaScriptのアプリ製作で試行錯誤を重ねた結果なので信頼と実績あり! まず思いつく方法(やってはいけない) function gameLoop(){ while(1){ // ゲームの処理や描画 } // 無限ループ

            有料
            200

            【時短】 TypeScriptでHello World / Webpack npm Node.js

            余計な説明なし!すぐにブラウザにTypeScriptでHello World表示。 対象⇒簡単なプログラミングができる人 使用人口の多い有名なツールを使います。安心! 必要なもの Node.js Visual Studio Code Live Server 上記が実行できる環境(PCなど) ※環境構築の一例です Node.jsのインストール 使用許諾の同意、nextボタンを押していけば終了します。 できなかったら調べてください。 Visual Studio

            noteはじめました / プロフィール 記事の方針など

            TypeScript/JavaScriptを使った動的なWebページやアプリの制作、公開しています。 音ゲー練習アプリ、楽器練習支援アプリなど。これまで公開してきたアプリの制作ノウハウや思いついたアイデアを投稿していく予定です。 プロフィール 元ゲームプログラマー、主に内製のゲームエンジン担当(~2010)。3DCG、サウンド、物理計算、スクリプト言語の設計、ゲームプログラム、製作ツール、なんでも屋です。 関わったゲームの販売本数は100万本以上、ちょっと技術が古いかもし