Siv3D Slack コミュニティをオープン

Siv3D ユーザのための Slack https://slack.com/ チームをオープンしました。 チームでは他のユーザや開発者とチャットで気軽に意見交換・交流できます。 チームからの退会はいつでも可能です。お気軽にご参加ください。 現在の public チャンネル一覧 参加…

Siv3D May 2014 をリリースしました

Siv3D アップデート May 2014 をリリースしました。 March 2014 から 2 か月ぶりの更新です。ダウンロードはこちら→ Play Siv3D! | Siv3D のダウンロード 更新内容一覧は Play Siv3D! | What's New で確認できます。主な新機能を 6 つ紹介します。 角が丸い…

Siv3D ユーザ作品紹介 ~ HamSketch, Laser Maze

最近リリースされた作品を紹介します。 HamSketch by HAMSTRO 体験版が公開されました。 当初の動画よりも速度が向上しています。 Laser Maze by Rinifisu イライラ棒とパズル要素を組み合わせたゲーム。 操作とコンテンツが豊富です。 ステージエディット、…

Siv3D ユーザー助け合い所

Siv3D のフォーラムを試験的に始めました。Siv3D の質問、機能の要望、意見、作品の宣伝など、気軽にスレッドを作って投稿してください。初心者歓迎です。Siv3D ユーザー助け合い所 (β)

Siv3D ユーザ作品紹介~自動でお絵かきするソフトなど

最近の投稿から。 flappybirdもどきを作ってみるよ! | SYSKEN ONLINESiv3D で作った作品を公開したら教えてください。ブログで紹介します!

98 行でシューティングゲームを作る (C++/Siv3D)

短いコードにゲームのエッセンスを詰め込むのは俳句に似た楽しさがあります。 98 行 (58 論理行) でシューティングゲームを作ってみました。 hamukun8686 さんの Qiita | STGを200行以内で@280行 へのアンサーです。 目標 疾走感のある背景 難易度ア…

Siv3D March 2014 をリリースしました

Siv3D アップデート March 2014 をリリースしました。 January 2014 から 2 か月ぶりの更新です。ダウンロードはこちら→ Play Siv3D! | Siv3D のダウンロード 更新内容一覧は Play Siv3D! | What's New で確認できます。主な新機能を 7 つ紹介します。 Leap …

さらば Format()

(開発メモ)Print() / Println() / LOG() で導入した Variadic Templates による文字列フォーマットを Font::operator() で使えば、コードの大部分から Format() を削除できることに気付いた。非常に書きやすく読みやすい。図形の .draw() と一貫性がある。…

Siv3D January 2014 をリリースしました

今年最初の Siv3D アップデート January 2014 をリリースしました。December 2013 から 1 か月半ぶりの更新です。ダウンロードはこちら→ Play Siv3D! | Siv3D のダウンロード 更新内容一覧は Play Siv3D! | What's New で確認できます。主な新機能を 7 つ紹…

Siv3D Winter of Code 2013 の解答

昨年末に出題した Siv3D Winter of Code 2013 の解答です。 解答例 # include "Shapes.hpp" namespace codeIQ { std::vector<Vec2> CreateRect(double x, double y, double w, double h) { return{ { x, y }, { x + w, y }, { x + w, y + h }, { x, y + h } }; } s</vec2>…

開発中の機能 | Sprite

あけましておめでとうございます。今年の Siv3D の開発作業をスタートしました。今日は、Siv3D January 2014 で追加される機能 Sprite を紹介します。 Sprite は頂点座標、UV 座標、頂点色、頂点インデックスを自由に設定できる描画オブジェクトで、従来の T…

セーブとロード

メリークリスマス、Siv3D Advent Calendar 2013, 25 日目の記事です。 今日は BinaryWriter と BinaryReader を使って、簡単なゲームデータのセーブとロードに挑戦しましょう。BinaryWriter はデータをテキストではなくバイト列としてファイルに書き込みます…

Circular 型

Siv3D Advent Calendar 2013, 24 日目の記事です。 今日は平面極座標を表現する Circular 型を紹介します。Circular 型のメンバ r, theta はそれぞれ平面極座標の動径 r と偏角 θ に対応します。 極座標から直交座標への変換は、Siv3D では次の通り行われま…

カーソルを変更する

Siv3D Advent Calendar 2013, 23 日目の記事です。 今日はカーソルの表示や画像を切り替える方法を紹介します。 カーソルの表示/非表示 システムカーソルの表示/非表示を切り替えるには Window::ShowCursor(bool) を使います。このプログラムでは、画面の右…

進捗報告合宿

Siv3D Advent Calendar 2013, 22 日目の記事です。 今日は未踏の首藤 / 石黒 PM チーム合同の進捗報告合宿に来ています。おもに 10 - 12 月の間に実装した機能や、現在の課題について発表、議論しました。 発表順が 2 番目だったので気楽に過ごせてます。 10…

Siv3D Winter of Code 2013

と Google Summer of Code を真似てみました。Siv3D Advent Calendar 2013, 21 日目の記事です。 今日は Siv3D を使うクリエイターのみなさんに冬休みの宿題です。今度リリースする Siv3D January 2014 の新機能に「正多角形や星形を作成する関数」というも…

Play Siv3D! の拡充

Siv3D Advent Calendar 2013, 20 日目の記事です。 今日は Siv3D の Web サイト整理のお話です。これまで 5 年間にわたって Siv3D の開発記録や機能紹介を発信してきた Google Site の Siv3D ページ を縮小し、今後は Play Siv3D! に情報を集約することにし…

アイコンを変更する

Siv3D Advent Calendar 2013, 19 日目の記事です。 今日は December 2013 の新機能、アプリケーションのアイコンを変更する機能を紹介します。アプリケーションのデフォルトのアイコンは、プロジェクトフォルダにある icon.ico を新しいアイコンに置き換える…

テキストの領域を取得する

Siv3D Advent Calendar 2013, 18 日目の記事です。 今日はテキストが描画される領域を計算する機能を紹介します。Font::region() を使うと、Font::draw() したときにテキストが描かれる領域をあらかじめ RectF で取得できます。領域に応じて、テキストの位置…

画像をログファイルに出力する

Siv3D Advent Calendar 2013, 17 日目の記事です。 今日は画像をログファイルに出力する機能を紹介します。Logger::Write(image) を使うと Image をログファイルに出力できます。 画像の情報は直接 HTML ファイル内に埋め込まれます。 # include <Siv3D.hpp> void Main(</siv3d.hpp>…

図形のグラデーション

Siv3D Advent Calendar 2013, 16 日目の記事です。 今日は December 2013 の新機能、図形のグラデーションを紹介します。グラデーションに対応したのは Line / Rect / Triangle / Quad の 4 つの図形です。draw() メソッドで、単一の Color の代わりに { } …

第 1 回 10 時間 Game Jam

Siv3D Advent Calendar 2013, 15 日目の記事です。今日は 10 時間 Game Jam の司会進行をしてました。いろいろな作業の合間に僕も Siv3D でこんなのを作ってました。後日詳細なまとめ記事を書きます。

作品紹介 | 音階が見えるビジュアライザー

Siv3D Advent Calendar 2013, 14 日目の記事です。今日は @hamukun8686 さんが Siv3D で制作した「音階が見えるビジュアライザー」を紹介します。ソースコードが Qiita | 音階が見えるビジュアライザー に掲載されているので、Siv3D をインストールしていれ…

ゲームとメディアアートのための C++ ライブラリ「Siv3D」のこれまでとこれから

C++ Advent Calendar 2013 および Siv3D Advent Calendar 2013, 13 日目の記事です。「Siv3D」 は C++ で楽しく簡単にゲームやメディアアートを作ることを目的としたライブラリです。2008 年から開発を始め、2012 年に α 版を公開、今年 9 月には IPA 未踏事…

GUI のテーマカラーと背景を変更する

Siv3D Advent Calendar 2013, 12 日目の記事です。 今日は GUI のビジュアルを変更する機能を紹介します。GUI の見た目は GUISkin で設定します。 GUISkin は設定項目が多いので、通常は GUISkin::Default(Color) 関数を使って初期化します。このときの Colo…

イベントタイマー

Siv3D Advent Calendar 2013, 11 日目の記事です。 今日は December 2013 で追加されたイベントタイマー機能を紹介します。EventTimer は Timer の強化版で、設定したイベント時間の通過を教えてくれます。イベントの設定は EventTimer::set(event, time) あ…

色のいろんな作り方

Siv3D Advent Calendar 2013, 10 日目の記事です。 今日は Siv3D での色の作り方を紹介します。Color 型のコンストラクタ Color(Palette) 140 種類の Web カラーネーム が定義されています。 # include <Siv3D.hpp> void Main() { while (System::Update()) { Circle(10</siv3d.hpp>…

ペンタブレットを使う

Siv3D Advent Calendar 2013, 9 日目の記事です。 今日はペンタブレット入力の機能を紹介します。※この記事は Siv3D December 2013 に基づいています。最新の Siv3D のコードは リファレンス | ペンタブレット で入手できます。主要な関数は 3 つです。 地面…

文字の TextureRegion を取得して「大破」する

Siv3D Advent Calendar 2013, 8 日目の記事です。 今日は December 2013 で追加された機能の 1 つ、Font から指定した文字の TextureRegion を取得する機能を紹介します。これまでの Font を使った文字描画では、文字単位での描画や変形をサポートしていませ…

スクリーンショットを保存する

Siv3D Advent Calendar 2013, 7 日目の記事です。 今日は Siv3D のスクリーンショットに関する機能を紹介します。 スクリーンショットを指定したファイル名で保存する Graphics::SaveScreenshot(path) を呼ぶと、現在のフレームの描画が完了したときに、指定…

Siv3D で音楽プレイヤーを作る

Siv3D Advent Calendar 2013, 6 日目の記事です。 今日は Siv3D の GUI と Sound 機能を使って音楽プレイヤーを作ってみました。このプログラムのソースコードと解説は Qiita | Siv3D で音楽プレイヤーを作る に掲載しています。GUI の使い方に慣れる良いチ…

開発中の機能 | 手書き文字認識

Siv3D Advent Calendar 2013, 5 日目の記事です。 今日は開発中の機能の 1 つ「手書き文字認識」を紹介します。 このように、書いている途中でも候補の文字を高速に取得できます。判定には機械学習アルゴリズムを用いた文字認識エンジン Zinnia を使っていま…

手拍子をカウントする

Siv3D Advent Calendar 2013, 4 日目の記事です。 今日はマイク入力を使って手拍子を認識するソフトを作ってみましょう。まずは Play Siv3D! のチュートリアルからマイク入力のサンプルを持ってきます。 チュートリアル | マイク入力 | 録音した波形の解析 |…

Circle の描画関数

Siv3D Advent Calendar 2013, 3 日目の記事です。 今日は Circle の描画関数を紹介します。基本の円描画 draw(color) # include <Siv3D.hpp> void Main() { Circle(30, 30, 20).draw(Palette::Yellow); Circle(100, 100, 50).draw(Palette::Skyblue); Circle(400, 400, </siv3d.hpp>…

INI ファイルからデータを読み込む

Siv3D Advent Calendar 2013, 2 日目の記事です。今日は INI ファイルからデータを読み込む方法を紹介します。 INI ファイルは設定を記述するのに便利なテキストフォーマットです。test1.ini [AAA] aaa = 50 bbb = 1.234 ccc = Hello ; コメント [BBB] aaa =…

Siv3D December 2013 リリース | おすすめ機能

昨日 Siv3D December 2013 をリリースしました。5 か月ぶりの安定版です。 たくさんの更新内容 の中で、僕が特に気に入ってる 8 つのトピックを紹介します。 インストール時間が短くなった June 2013 で Visual Studio プロジェクトテンプレートを導入、そし…

Siv3D が 2013 年度 IPA 未踏事業に採択されました

Siv3D が 2013 年度 IPA 未踏 IT 人材発掘・育成事業 に採択されました。 採択テーマは「メディアアートのためのプログラミングライブラリの開発」です。来月から 9 か月間、東京工業大学の首藤一幸先生 と IPA の支援のもと Siv3D の開発を加速させていきま…

「ゲーム開発者のための C++11 / C++14」を公開しました

C++

全日本学生ゲーム開発者連合(全ゲ連)第 14 回交流会 での講演「ゲーム開発者のための C++11 / C++14」を SlideShare にアップロードしました。 ゲーム開発者のための C++11/C++14SlideShare のページから PDF 版をダウンロードできます。SlideShare アカウ…

全ゲ連で講演します

C++

9/14(土)に 全日本学生ゲーム開発者連合(全ゲ連)第 14 回交流会 にて、「ゲーム開発者のための C++11 / C++14」というテーマで講演します。 Visual Studio 2010, 2012, 2013 で使えるようになった機能を中心に、最新の C++ でゲーム開発をするためのガイ…

6 月振り返り | ゲームコミュニティサミット2013など

個人的な出来事やニュースなどのまとめ。 Haskell free-game @fumieval さんが開発している free-game という Haskell のゲームライブラリを知りました。まさか Haskell のゲームライブラリを同年代の日本人が開発しているとは思わなかったので驚きでした。 …

Siv3D June 2013 を公開しました

Siv3D のアップデート June 2013 を公開しました。今回のバージョンから Siv3D の導入が大幅に簡単になりました。新しい導入手順 を確認してください。もう一つ大きなニュースとして、Siv3D の入門サイト Play Siv3D! をオープンしました。従来のチュートリ…

Clustered Shading の論文 "Clustered Deferred and Forward Shading" を読みました

先日、CG 論文講読会で HPG2012 の論文 "Clustered Deferred and Forward Shading" を紹介しました。Motion Blur 以来 3 か月振りの発表、個人的に読みたいと思っていたこの論文をチョイスしました。Clustered Shading は Tiled Shading の発展型で、従来の …

Siv3D June 2013 で追加予定の機能

まもなく Siv3D の次期アップデート June 2013 をリリースします。一番の目玉機能は Visual Studio 2012 のプロジェクトテンプレートを使った、セットアップの大幅短縮です。 今まで Siv3D をダウンロードしてからサンプルコードを実行するまでは 5 分以上か…

「Processing によるプログラミング入門 第1回」を slideshare にアップロードしました

大学の研究室で Processing についての講義を担当することになりました。 先日の第1回目の講義では、参加した 30人ほどの研究室メンバーがメディアアート・プログラマーとして華々しく(?)デビューしました。今後も 2 週間ごとに新しいスライドを更新してい…

「Kinect 入門」を slideshare にアップロードしました

先日、大学の研究室で Kinect についての講義を担当しました。 Kinect 入門 from Reputeless 僕の研究室はデザイン系の人が多いので、「プログラムはできないけれど、Kinect で何かを提案してみたい」という人をターゲットに、Kinect とは何か、Kinect で何…

Siv3D May 2013 を公開しました

Siv3D のアップデート May 2013 を公開しました。 導入の手順はこちらです。 http://play-siv3d.hateblo.jp/entry/installおもな新機能を紹介します。 Visual Studio 2012 対応 enum class や <random> ヘッダ、range-based for ループ、emplace_back などの C++11 </random>…

シェーダの最適化についての GDC 2013 講演 "Low-level Thinking in High-level Shading Languages" を翻訳しました

Avalanche Studios Emil Persson 氏の GDC 2013 講演 "Low-level Thinking in High-level Shading Languages" を翻訳しました。HLSL の低水準での最適化について書かれている画期的な資料で、講演者が長い開発経験で得たテクニックの数々が紹介されています…

Perlin Noise を C++ で実装

プロシージャルテクスチャの作成に便利な、Ken Perlin の ImprovedNoise を C++11 で実装しました。https://github.com/Reputeless/PerlinNoiseリファレンス実装には無い、乱数シード設定、1D/2D ノイズ、オクターブノイズといった機能を追加しています。C++…

Siv3D March 2013 で追加予定の機能 [グラフィックス以外]

Visual Studio 2012 対応 ライブラリを Visual Studio 2012 の新しい機能やヘッダに対応させます。 enum class による可読性の向上、<random> ヘッダなど Boost 依存が減ることによるライブラリサイズの削減、その他パフォーマンスの向上を見込んでいます。 ドキュメ</random>…

Unity 勉強会【2】空と水

大学のサークルの Unity 勉強会、第 2 回。 『Unityではじめるゲームづくり』の第 5 章後半を進めました。空の画像が貼られた張りぼて「Skybox」をシーンに置き、視点からの距離に応じてフォグの色をブレンドする「Distance Fog」を適用します。さらに太陽が…