スライド概要 2022年12月に開催されたXR Kaigi 2022の登壇資料です。講演動画はこちらです。 https://www.youtube.com/watch?v=58f8Hzi24zI&t=195s Godot XR Toolsについて紹介したXR Kaigi 2023のスライドがあります。 https://www.docswell.com/s/korinVR/ZJLD71-godot-xr-tools
オンラインゲームを作ろう!と思ったことがある方は、 こちらの講演記事を1度は見たことがあるのではないでしょうか。 www.4gamer.net こちらの講演は、具体例を交えながら非常に分かりやすくオンラインゲームの主な同期方式が説明してあり、 2024年現在でもオンラインゲームの基礎を学ぶ資料として真っ先に名前を上げる最高の資料です。 しかしながら講演は2010年のものであり、オンラインゲームはこの10年余りで進化しています。 この辺りの進化の話を簡単にまとめつつ、オンラインゲームの同期方式の選び方を紹介します。 (上記講演記事の知識/用語を前提としているため、先に上記記事をお読みください。) オンラインゲームの民主化について 技術の話をする前に。 近年、「マルチプレイヤーゲーム」と聞いてオフラインの画面分割ゲームを想像する人はいないと言って良いほど オンラインゲームは民主化されてきました
ジョブシステム (Job System) ゲームエンジンの勉強をしているとジョブシステムの話がよく出てくるので、実際にC++20で実装してみました。マルチスレッドに慣れていないため、正しいアプローチである確信はありません。重要なミスがあったら教えていただけると助かります。 コードは標準ライブラリにある機能は素直に使い、シンプルな実装を目指します。また、この記事の全てのコードはパブリックドメインとします。 これから、3つのステップでジョブシステムを実装していきます。 ジョブを並列実行する機能 ジョブ同士に依存関係を設定する機能 大きなジョブを分割して並列化する機能 この記事ではステップ1の最も基本的なジョブシステムを実装することを目標にします。 実装に入る前に、雰囲気を伝えるために、各ステップにおけるインターフェイスを示します。 // スレッド数4としてジョブシステムを作成 JobSyste
自分は Ebiten という 2D ゲームエンジン (ゲームライブラリ) を趣味で開発しています。使用しているプログラミング言語は Go です。 2013 年 6 月に最初のコミットを行ったので、現在 8 周年の 9 年目です。 Ebiten は「くまのレストラン」などのモバイル及び Nintendo Switch 向けゲームで使われており、一定の実績があります。 ゲームエンジンの開発は一朝一夕では終わりません。Unity や RPG ツクールといった既製品がある中、ゲームエンジンをわざわざ自作することは酔狂かもしれません。ではなぜそのようなことをしたのでしょうか。端的に言うと「ミニマムな API で実用的な 2D ゲームが作れるかどうか」ということを証明したかったのです。自分の美的感覚の追求です。この目的に気づいたのは割と最近のことです。やっていくうちに「自分がやりたかったのはこういうこ
JavaScript is cool (don't @ me), but how can a machine actually understand the code you've written? As JavaScript devs, we usually don't have to deal with compilers ourselves. However, it's definitely good to know the basics of the JavaScript engine and see how it handles our human-friendly JS code, and turns it into something machines understand! 🥳 | Note: This post is mainly based on the V8 eng
2019 Javascriptエンジン俯瞰 こんにちは 2019 Javascript Advent Calendarの11日目です 2019はJSエンジンが新たに2つもリリースされた まずFacebook産のhermes もう一つがFFMPEG作者のbellardが実装したquickjs この2つを見ていこうと思う ちなみにhermesは以前にも書いたので正直あまり書くことは無い http://abcdef.gets.b6n.ch/entry/2019/07/22/142510 特徴 hermes C++ FacebookがReact Nativeの高速化用に実装したエンジン レジスタマシンのバイトコードインタプリタを搭載 flowを解釈できる commonjsを解釈して実行できる バイトコードのexportとimportも可能でスタートアップタイムを高速化することが可能 JITはx86
こんにちは。メディアロジック分析部の米田 (@mathetake) です。 今日はGunosy社とKDDI社が共同で運営するニュースパスというニュースアプリケーションで使われている関連記事推薦のアルゴリズムについて書きたいと思います。 特に、約半年前に私が導入しKPIの改善に成功した新しいアルゴリズムと、そこでコアとなる近似近傍探索(Approximate Nearest Neighbor search)の技術について述べます。 関連記事推薦とは この記事で紹介する関連記事推薦とは、「特定のニュースに関連したニュースを推薦すること」です。 より具体的には、特定の記事をクリックした後に記事閲覧画面を下にスクロールすると登場する「おすすめ記事」の枠に対して、関連したニュースを検索して表示することを指します: このような枠が設置されている事は一般的なアプリケーションにおいてごく自然ですが、推薦シ
SQLAlchemyと文字コードにハマる(UTF-8, Unicode) 問題 自分でMySQLに入れたデータだと問題なくsqlalchemyで取り出して文字化けが起こらないのに、友人からもらったdumpファイルで入れたデータだとsqlalchemyで取り出すと文字化け/(^o^)\ 解決策 sqlalchemyを使ってデータを出し入れする場合、 挿入(insert)と取り出し(select)では必ず同じ文字コード(設定)を使う。 解説 今回、以下のような基本的?な接続を行おうとしていました。 # -*- coding: utf-8 -*- from sqlalchemy import create_engine, from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarati
Scala関西 Summit 2015での発表で触れていたN+1クエリ問題をなんとかするためのライブラリを公開した. 発表は以下のもので, ここでは「関係モナド」という名前で紹介していたけれど, これは口頭でも説明したように便宜上てきとーにつけた名前であって, とくにそういう名前のよく知られたモナドがあるというわけでもなければ, そもそもモナドであるかどうかはあまり本質的ではない. この発表のあとに, Rails (Active Record)でのbulletのようにN+1問題の検出をScalaでやる方法はないだろうか, と言っている人がいたので, そういうものを探していて辿りつけるとよかろうということで, bullet-scalaという名前にした. もちろんN+1問題の検出のためのライブラリというわけではないし, 動的に検出するのではなく原理的に問題が発生しないようにするものなので, 思
最近、久しぶりにEmacsの環境を再構築しましたが、その際に、色々なelispも一緒に最新になったのですが、いくつか動作が変わったりとかいうのがありました。 その中で一番びっくりしたのが、tuaregが最新になったのを忘れて.mlファイルを開いたときです。まず何が違うって、 faceがかなり変わっている インデントがびっくりするくらい変わっている 特に2番目が深刻で、どうやっても直ってくれずに途方に暮れていましたが、よくソースを見たら、一つ変数の値を設定するだけでなんとかなることがわかりました。 (setq tuareg-use-smie nil)これで今迄通りのインデントになりました。 smie? SMIEは、Simple Minded Indentation Engineの略で、インデントのための様々なヘルパーやエンジンを提供しているものです。24.3から新しく提供されたらしいです。
Unsupported web browser - Use a modern browser to view this website! Apache FreeMarker™ is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. Templates are written in the FreeMarker Template Language (FTL), which is a simple, specialized language (not a full-blown programming language lik
2. 自己紹介 • HNはalwei • Twitter @aizen76 • 最近アンリアルフェスで喋りました • 関西方面のUEの人 • 元ゲームプログラマー • 今は割りとなんでも屋 • ちょっとイラスト描くのにハマり気味 アンリアルフェスではこんなゲームを作った( ´ ▽ ` ) 3. ブループリントって? • Unreal Engine4で搭載されたビジュアルスクリプティングシステム • 今までプログラマーが専任していた部分をゲームデザイナーやアーティストといった人で も扱えるように直感的にロジックが制御できるようになったシステム • もちろんこの仕組み自体がスクリプトのようなものなので、プログラマー自身も恩恵を 受けることができます。 • 何よりもスクリプティング、デバッキング、トライ&エラーといった仕組みが全てエディター 上でグラフィカルに行なえるというのが大きい。
このあたりで一度まとめておこうと思ったのでいい機会でした。@moznionさん、ありがとうございました。 なお、スライド中の「arity」は、この直前のトークで「ASTのnodeの種類を表すのにarityという単語を使っているのは意味が違うのではないか」と質問されたので急遽いれたものです。これは、『ビューティフル・コード』でDouglas Crockfordが演算子優先順位構文解析法によってJavaScriptのparserを実装しており、その中でtokenの種類を表すのにarityという単語を使っていたからなのでした。Xslateはそのparserをもとにしているのでarityという言葉を使っています。 ビューティフルコード (THEORY/IN/PRACTICE) 作者: Brian Kernighan,Jon Bentley,まつもとゆきひろ,Andy Oram,Greg Wilso
Python 2 / 3 両対応のライブラリをメンテナンスしている人にとって、 Python 3 の メリットは享受できずメンテナンスコストだけが上がるつらい状況がずっと続いています。 しかし、「Python 3 への移行が大変」というのは、Python 2 を捨てるのが大変、 Python 2/3 両対応の ライブラリをメンテナンスするのが面倒という意味です。 アプリケーションであれば、 Python 2 対応のプロジェクトを Python 3 に対応させると同時に Python 2 への対応を切れるのでずっと楽ですし、さらに新規プロジェクトを Python 3 で始めるのは もっと楽です。 特に Web 系では、 (Google App Engine などの例外はあるものの)自分で Python のバージョンを 選べることが多いし、主要なライブラリも Python 3 対応ができている
等間隔爆発が生む澄んだサウンドと低振動性を持ち、以前はF1マシンにも搭載されていたV型12気筒エンジンは理想のエンジンレイアウトの1つとも言われています。一方で高い精密度とパーツの品質管理が求められるために手のかかるV12気筒エンジンですが、スペインのある男性は「手のひらサイズ」と呼べるサイズのV12気筒エンジンを自作で再現していることが知られており、さらにエンジニアリングに対する熱い思いを語っています。 El motor V-12 más pequeño del mundo.(Smallest V-12 engine of the world) 手のひらほどの大きさしかないカムシャフト。 エンジンの最も重要な部品であるピストンまわりは指先ほどの大きさしかありません。 エンジン内部で回転するクランクシャフトの長さは15cmほど。 ずらりと並べられたパーツ。 組み立てを開始。その作業は非常に
この記事は↓に移転しました。 laysakura.github.io
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く