New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@akashic/playlog

Package Overview
Dependencies
Maintainers
6
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@akashic/playlog

The interface definition of Playlog, the serialization format of Akashic game execution

  • 3.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
50
decreased by-93.14%
Maintainers
6
Weekly downloads
 
Created
Source

playlog

Akashicのゲームの実行ログの仕様及び、TypeScriptの型定義を提供します。 本リポジトリは型の定義のみを提供しています。 Akashic Engineの詳細な利用方法については、 公式ページ を参照してください。

仕様

EventTick の仕様を定義します。

これらは、通信路を流れる際のオーバヘッドを少なくするため、配列型のデータとなっています。

オプショナルYES となっているものは、 null 又は配列末尾のデータであれば省略することができます。

numberは数値型、stringは文字列型を表します。

Event

Event はゲームに発生した出来事を表すデータです。

EventCodeイベント
0x0プレイヤー参加
0x1プレイヤー離脱
0x2時間の記録
0x3プレイヤー情報
0x20汎用的なデータ
0x21ポイントダウン
0x22ポイントムーブ
0x23ポイントアップ
0x40操作プラグイン

Event 共通のデータ・フォーマットは以下のようになります。

Indexオプショナル説明
0numberNOEventCode
1numberNOイベントフラグ
2stringNOプレイヤーID

インデックス2番以降は各イベントのデータがセットされます。

イベントフラグ

EventFlags は以下のビットフラグをからなる数値を表します。

下位ビット説明
0プライオリティ
1プライオリティ
2予約フィールド
3非永続化フラグ

下位0ビット目と1ビット目はプライオリティを表します。

下位3ビット目は非永続化フラグを表します。このビットが1の場合、そのイベントは任意のタイミングで欠落しうること許容します。

JoinEvent (0x0)

プレイヤーの参加イベントを表します。

Indexオプショナル説明
3stringNOプレイヤー名
4StorageData[]YESストレージデータ

StorageData[] は 参加したプレイヤーに紐づくデータを表します。 StorageData のデータ・フォーマットは TypeScriptの型定義 を参照してください。

LeaveEvent (0x1)

プレイヤーの離脱イベントを表します。

TimestampEvent (0x2)

時間の記録を表すイベントです。

Indexオプショナル説明
3numberNO時間を示す値

時間を示す値同士を比較したときに、大きい値が未来の時間を表します。

PlayerInfoEvent (0x3)

プレイヤーの情報を表すイベントです。

Indexオプショナル説明
3stringNOプレイヤー名
4anyYESユーザ定義データ
MessageEvent (0x20)

汎用的なデータを表すイベントを表します。

Indexオプショナル説明
3anyNO汎用的なデータ
PointDownEvent (0x21)

ポイントダウンイベントを表します。

Indexオプショナル説明
3numberNOポインターID
4numberNOX座標
5numberNOY座標
6numberYESエンティティID
PointMoveEvent (0x22)

ポイントムーブイベントを表します。

Indexオプショナル説明
3numberNOポインターID
4numberNOX座標
5numberNOY座標
6numberNOポイントダウンイベントからのX座標の差
7numberNOポイントダウンイベントからのY座標の差
8numberNO直前のポイントムーブイベントからのX座標の差
9numberNO直前のポイントムーブイベントからのY座標の差
10numberYESエンティティID
PointUpEvent (0x23)

ポイントアップイベントを表します。

Indexオプショナル説明
3numberNOポインターID
4numberNOX座標
5numberNOY座標
6numberNOポイントダウンイベントからのX座標の差
7numberNOポイントダウンイベントからのY座標の差
8numberNO直前のポイントムーブイベントからのX座標の差
9numberNO直前のポイントムーブイベントからのY座標の差
10numberYESエンティティID
OperationEvent (0x40)

操作プラグインイベントを表します。

Indexオプショナル説明
3numberNO操作プラグインコード
4(number|string)[]NO操作プラグインデータ

Tick

Tick はゲームの1フレームを実行するために必要なデータです。

Indexオプショナル説明
0numberNOフレーム番号
1Event[]YESイベント
2StorageData[]YESストレージデータ

StorageData のデータ・フォーマットは TypeScriptの型定義 を参照してください。

Tick は通信路を流れる際に、以下のような最適化を実施することが望まれます。

number

Tick にフレーム番号しか含まない場合は、配列ではなくフレーム番号(number)のみを送信します。

TickList

TickList はフレーム番号の続く複数の Tick を表します。

Indexオプショナル説明
0numberNO開始フレーム番号
1numberNO終了フレーム番号
2Tick[]YESTick[1]又はTick[2]が存在するTick

TypeScript型定義

インストール

npm install @akashic/playlog

利用方法

import * as playlog from "@akashic/playlog";

開発

ビルドテスト

cd test
tsc

ライセンス

本リポジトリは MIT License の元で公開されています。 詳しくは LICENSE をご覧ください。

ただし、画像ファイルおよび音声ファイルは CC BY 2.1 JP の元で公開されています。

FAQs

Package last updated on 15 Jun 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc