cal.diy: cal.com のオープンソース・コミュニティ版です。

2026/04/22 2:58

cal.diy: cal.com のオープンソース・コミュニティ版です。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Cal.diy は、商用生産環境で使用するための企業が求める機能を含んでおらず、個人プロジェクトおよび開発用途に限定されることを意図した、MIT ライセンス付きのオープンソース系フォークとして Cal.com に特化しています。完全にオープンソースであるものの、セルフホスティングには高度なサーバー管理スキルと特定の技術的プリレクヅィット(Node.js (>=18.x)、PostgreSQL (>=13.x)、Yarn など)が必要です。本プラットフォームは、暗号鍵 (

NEXTAUTH_SECRET
CALENDSO_ENCRYPTION_KEY
) や Web Push 通知認証情報 (
NEXT_PUBLIC_VAPID_PUBLIC_KEY
VAPID_PRIVATE_KEY
) などの重要な環境変数を手動で生成しない限り、生産環境では機能しません。Google Calendar、Microsoft Graph、Zoom、HubSpot などの主要サービスとの統合は API クレデンシャル経由でサポートされていますが、プロフェッショナルなスケジューリングニーズを有する組織には、公式の Cal.com プラットフォームの利用が強く推奨されます。標準的なオープンソースエコシステムのようにコントリビューションが中央のリポジトリに反映されるのではなく、Cal.diy 向けのアップデートや修正はその独自のリポジトリ内で孤立して行われます。また、より早期バージョンからのアップグレードにはデータベースミグレーションの適用が必要です。デプロイは Docker Compose、Railway、Render、Northflank などを含む多种プラットフォーム経由で行うことが可能ですが、この開発者向けツールの複雑な手動設定を試みる場合、深い技術的専門知識が不足していると不安定状態を引き起こす可能性があります。

本文

警告

ご自身の責任でのご使用となります。

Cal.diy は、Cal.com のオープンソース・コミュニティエディションです。自前の Cal.diy インスタンスをホストしたいユーザー向けに用意されています。個人利用かつ非本番環境における利用が強く推奨されます。インストールおよび設定手順はすべてよくご確認ください。サーバー管理、データベース管理、機密データの保護に関する高度な知識がないと自己ホスティングは実行できません。これらの責任を負うことが可能ですか?

商用代替案

商用および企業導入向けのスケジューリングインフラについては、Cal.com(Cal.diy ではありません)をご利用ください。ホストされた環境へのアクセスまたはオンプレミス・エンタープライズ版への招待はこちらから:https://cal.com/sales


Cal.diy について

Cal.diy は、コミュニティが主導する完全なオープンソースのスケジューリングプラットフォームです。Cal.com から企業用/商用コードをすべて取り除いたフォーク(派生版)です。

  • ライセンス: 「エンタープライズエディション」機能は一切なく、100% MIT ライセンスに基づいています。
  • ターゲット層: 商用依存関係を持たず、スケジューリングインフラに対する完全なコントロールを希望する個人や自己ホスター向けに設計されています。

Cal.com とは異なる点は何ですか?

  • エンタープライズ機能なし: チーム、組織、Insights(分析)、ワークフロー、SSO/SAML、および EE 専用の他の機能すべてが削除されています。
  • ライセンスキー不要: ボックスドロップで使用可能です。Cal.com アカウントやライセンスは不要です。
  • 100% オープンソース: コード全体が MIT ライセンスで利用可能(「オープンコア」的な分裂はありません)。
  • コミュニティによるメンテナンス: 寄稿を歓迎しており、それらはすべてこのプロジェクトに直接反映されます(詳細は CONTRIBUTING.md を参照)。

注意: Cal.diy は自己ホスト型のプロジェクトです。ホスト済み/マネージド版はありません。独自のインフラストラクチャ上で実行します。

技術スタック

  • Next.js
  • tRPC
  • React.js
  • Tailwind CSS
  • Prisma.io
  • Daily.co

始め方

ローカル環境で動作させるためのサンプルを取得するには、以下の手順に従ってください。

前提条件

Cal.diy を実行するための必要なものは以下の通りです:

  • Node.js(バージョン:>=18.x)
  • PostgreSQL(バージョン:>=13.x)
  • Yarn(推奨)

利用可能な統合機能を有効化したい場合は、それぞれ追加の認証情報が必要になる場合があります。詳細は下の Integrations セクションをご覧ください。

開発環境のセットアップ

1. リポジトリのクローン

git clone https://github.com/calcom/cal.diy.git

Windows で実行している場合は、管理者権限を持つ Git Bash で次のコマンドを実行してください:

git clone -c core.symlinks=true https://github.com/calcom/cal.diy.git

2. プロジェクトフォルダへの移動とパッケージのインストール

プロジェクトフォルダに移動し、Yarn を使用して依存関係をインストールします:

yarn install

3.
.env
ファイルの作成

  1. .env.example
    をコピーして
    .env
    にリネームします。
  2. NEXTAUTH_SECRET
    の鍵を生成します:
    openssl rand -base64 32
    
    生成された値を
    .env
    ファイル内の
    NEXTAUTH_SECRET
    パラメータの下に追加します。
  3. CALENDSO_ENCRYPTION_KEY
    の鍵を生成します:
    openssl rand -base64 24
    
    生成された値を
    .env
    ファイル内の
    CALENDSO_ENCRYPTION_KEY
    パラメータの下に追加します。

Windows ユーザー向け注意: Prisma エラー(「変数名に / が含まれています」などの予期せぬ文字)を防ぐため、パッケージまたは prisma/.env のシンクを実際のコピーに置き換えてください:

rm packages/prisma/.env && cp .env packages/prisma/.env

yarn dx
を使用したクイックスタート

Docker と Docker Compose のインストールが完了している必要があります。ローカル Postgres インスタンスおよび数人のテストユーザー(認証情報はコンソールに表示されます)を起動します。

デフォルトで作成された認証情報

メールアドレスパスワードロール
free@example.comfree一般ユーザー
pro@example.comproプロユーザー
trial@example.comtrial試用版ユーザー
admin@example.comADMINadmin2022!管理者ユーザー
onboarding@example.comonboardingオンボーディング未完了

これらのいずれかの認証情報を使用して

http://localhost:3000
でサインインできます。

ヒント: シード(初期データ)された全ユーザー一覧とその詳細を表示するには、

yarn db-studio
を実行し、
http://localhost:5555
を訪れましょう。


開発に関するヒント

メモリ制限の増加

アプリを起動する前に、シェルスクリプトに以下の記述を追加します:

export NODE_OPTIONS="--max-old-space-size=16384"

alternatively(代替案)として、「16384」の部分を割り当てたいメモリの量に置き換えてください。

ログの出力レベルの制御

.env
ファイルに
NEXT_PUBLIC_LOGGER_LEVEL={level}
を追加します。レベルは以下の通りです:

  • 0: silly(きわめて細かく)
  • 1: trace
  • 2: debug
  • 3: info
  • 4: warn
  • 5: error
  • 6: fatal

例:

info
レベル以上のログを有効にするには、次のように実行します:

echo 'NEXT_PUBLIC_LOGGER_LEVEL=3' >> .env

Gitpod セットアップ

下のボタンをクリックして、Gitpod でこのプロジェクトを開きましょう。ブラウザ上で完全構成済みのワークスペースが開き、必要な依存関係はすべて既にインストールされています。

[Gitpod で開く] (ボタンのプレースホルダー)

手動セッティング(ローカル DB)

  1. 環境変数の設定:
    .env
    ファイル内の
    <user>
    ,
    <pass>
    ,
    <db-host>
    , および
    <db-port>
    にそれぞれ適した値を代入します:
    DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>'
    
  2. PostgreSQL のダウンロードとインストール: すでにない場合はローカルで実行します。
  3. 独自のローカル DB の作成:
    createdb <DB name>
    を実行します。
  4. psql シェルの起動:
    psql -h localhost -U postgres -d <DB name>
    
  5. 情報の抽出: psql シェル内で
    \conninfo
    を実行し、ホスト、ポート、ユーザー名、パスワード、データベース名の情報を抽出します。
  6. DATABASE_URL の更新: フォーマットは
    postgresql://postgres:postgres@localhost:5432/Your-DB-Name
    と似ています。

あるいは、Railway.appNorthflank、または Render などのサービスを利用することをお勧めします。

Railway/Northflank/Render を使用した手動セッティング

  1. サービスの指示に従って PostgreSQL データベースをセットアップします。
  2. ダッシュボードから
    DATABASE_URL
    をコピーして、
    .env
    ファイルに貼り付けます。
  3. Prisma スキーマ(
    packages/prisma/schema.prisma
    )を使用してデータベースを設定します。
  • 開発:
    yarn workspace @calcom/prisma db-migrate
  • 本番:
    yarn workspace @calcom/prisma db-deploy

Mailhog の実行(E2E テスト用)

E2E_TEST_MAILHOG_ENABLED
が「1」である場合に必要です。

docker pull mailhog/mailhog
docker run -d -p 8025:8025 -p 1025:1025 mailhog/mailhog

アプリケーションの実行

最初のユーザーを設定する

アプローチ 1: Prisma Studio

  1. データベースの内容を確認または修正するために、Prisma Studio を開きます。
  2. User モデルをクリックして新しいユーザーレコードを追加します。
  3. フィールドに情報を入力します:
    email
    username
    password
    (パスワードは BCrypt で暗号化するのを忘れずに)、そして
    metadata
    {}
    に設定します。
  4. Save 1 Recordをクリックします。
  5. 新しいユーザーはデフォルトで TRIAL プランに設定されます。この動作を調整したい場合は、
    packages/prisma/schema.prisma
    で設定してください。
  6. ブラウザを
    http://localhost:3000
    に開き、最初のユーザーでログインします。

アプローチ 2: ローカル DB のシード(初期化)

ローカル DB にダミーユーザーを追加するには、以下のコマンドを実行します:

cd packages/prisma
yarn db-seed

E2E テスト

環境変数

NEXTAUTH_URL
を正しい値に設定することを確認してください(例:ローカルで動作中は
http://localhost:3000
)。

  1. テストの実行:
    yarn test-e2e
    
  2. レポートの表示:
    yarn playwright show-report test-results/reports/playwright-html-report
    

E2E テスト用ブラウザがインストールされていない場合の問題解決

テスト用ブラウザをダウンロードするには、次のコマンドを実行します:

npx playwright install

以前のバージョンからのアップグレード

  1. 最新バージョンを Pull します。
  2. 依存関係が追加/更新/削除されたか確認します(
    yarn
    )。
  3. データベースマイグレーションを適用:
    • Dev:
      yarn workspace @calcom/prisma db-migrate
      (注意:これは開発用データベースの内容をクリアする可能性があります)。
    • Prod:
      yarn workspace @calcom/prisma db-deploy
  4. .env
    変数の変更があるか確認します。
  5. サーバーを起動します。
  6. 新しいバージョンを楽しんでください。

デプロイメント

Docker Hub イメージ

Docker イメージは https://hub.docker.com/r/calcom/cal.diy で入手できます。

ARM ユーザー向け注意:

{version}-arm
サフィックスを使用してください(例:
docker pull calcom/cal.diy:v5.6.19-arm
)。

要件

  • Docker と Docker Compose がインストールされています。

    注意:Docker ドキュメントによると、

    docker compose
    (ハイフンなし)が主要な方法です。

Docker Compose を使用して実行

  1. リポジトリをリカーシブクローンします:
    git clone --recursive https://github.com/calcom/cal.diy.git
  2. ディレクトリに移動します。
  3. 設定を準備します:
    .env.example
    .env
    にリネームし、内容を更新します。
  4. 必須シークレット鍵: スタートする前に、
    NEXTAUTH_SECRET
    CALENDSO_ENCRYPTION_KEY
    の値を生成してください(下の「重要な実行時変数」を参照)。

重要な実行時変数

変数名説明必須デフォルト値
DATABASE_URL
認証情報を含むデータベース URLはい例を参照
NEXT_PUBLIC_WEBAPP_URL
サイトのベースURL
いいえ
http://localhost:3000
NEXTAUTH_URL
認証サーバーの場所いいえ
{NEXT_PUBLIC_WEBAPP_URL}/api/auth
NEXTAUTH_SECRET
クッキー暗号化鍵(32 バイト)はい
secret
CALENDSO_ENCRYPTION_KEY
認証暗号化鍵(24 バイト)はい
secret

プッシュ通知 (VAPID キー)

Error: No key set vapidDetails.publicKey
のエラーが表示された場合は、VAPID キーを生成してください:

npx web-push generate-vapid-keys

.env
を更新します:

  • NEXT_PUBLIC_VAPID_PUBLIC_KEY=<your_public_key>
  • VAPID_PRIVATE_KEY=<your_private_key>

Cal.diy の起動

  • 完全なスタック(ローカル DB):
    docker compose up -d calcom studio
    
  • リモートデータベース:
    DATABASE_URL
    がリモート DB 用に設定されていることを確認後、実行します:
    docker compose up -d calcom studio
    
  • Web アプリのみ:
    docker compose up -d calcom
    

初回セットアップ: セットアップウィザードが初期化されます。「カレンダーを接続」をスキップしたい場合は、

<NEXT_PUBLIC_WEBAPP_URL>/event-types
に移動して省略できます。

Cal.diy の更新(Docker)

  1. スタックを停止:
    docker compose down
  2. 最新の_changes_ を Pull:
    git pull
  3. 必要に応じて
    .env
    変数を更新します。
  4. 再起動:
    docker compose up -d

ソースコードからのビルド(Docker 使用)

  1. リポジトリをクローンします(ビルドコンテキストのため、非リカーシブ)。
  2. .env.example
    .env
    にリネームし、内容を更新します。
  3. イメージのビルド:
    DOCKER_BUILDKIT=0 docker compose build calcom
    
  4. 「Docker Compose を使用して実行」セクションの手順に従って起動します。

設定(ビルド時変数)

もし自分でイメージをビルドする場合は、ビルド時に以下の情報を提供してください:

変数名説明必須デフォルト値
DATABASE_URL
DB URLはい
...
MAX_OLD_SPACE_SIZE
Nodejs/NPM ビルドオプションはい
4096
NEXTAUTH_SECRET
クッキー暗号化鍵はい
secret
CALENDSO_ENCRYPTION_KEY
認証暗号化鍵はい
secret
NEXT_PUBLIC_WEBAPP_URL
スタティックファイルに注入されるベースURLいいえ
http://localhost:3000
NEXT_PUBLIC_WEBSITE_TERMS_URL
カスタム利用規約 URLいいえ-
NEXT_PUBLIC_WEBSITE_PRIVACY_POLICY_URL
プライバシーポリシー URLいいえ-
CALCOM_TELEMETRY_DISABLED
テレメトリを無効化(1 に設定)いいえFalse

注意: アプリケーションの設定要件により、ビルドプロセス中にも利用可能なデータベースが必要です。

.env
DATABASE_URL
を設定するか、
docker compose up -d database
を実行してローカル DB を起動してください。


トラブルシューティング

SSL エッジターミネーション

ロードバランサーで SSL の処理を担当している場合、以下の記述を追加します:

NODE_TLS_REJECT_UNAUTHORIZED=0

※この設定は、信頼できるサービスやロードバランサーの場合에만行ってください。

無効な 'prisma.user.create()'(空のメタデータ)

metadata
フィールドに空の JSON オブジェクト
{}
を使用することで、この問題を解決できます。
id
フィールドは自動で増加します。

CLIENT_FETCH_ERROR

request to http://testing.localhost:3000/api/auth/session failed
のエラーが発生する場合は、
NEXTAUTH_URL
を設定してください:

NEXTAUTH_URL=http://localhost:3000/api/auth

インテグレーション

Google API 認証情報の入手方法

  1. Google Cloud Console にアクセスし、必要に応じてプロジェクトを作成します。
  2. API を有効化: "Calendar API"を検索して有効化します。
  3. OAuth 同意画面:
    • アプリの種類(内部/外部)を選択し、詳細を入力します。
    • スコープ: スコープを追加または削除します。
      .../auth/calendar.events
      .../auth/calendar.readonly
      を選択します。
    • "Test Users" にあなたの Google アカウントを追加します。
  4. 認証情報: OAuth クライアント ID -> Web アプリケーションを作成します。
  5. リダイレクト URI:
    <Cal.diy URL>/api/integrations/googlecalendar/callback
    および
    <Cal.diy URL>/api/auth/callback/google
    の両方を追加します。
  6. JSON をダウンロードし、内容を
    .env
    GOOGLE_API_CREDENTIALS
    として貼り付けます。

アプリストアでの有効化:

  • cd packages/prisma && yarn seed-app-store
    を実行します。
  • 追加のリダイレクト URI:
    <Cal.diy URL>/api/auth/callback/google
    を設定します。
  • "OAuth 同意画面"の下で、**「PUBLISH APP」**をクリックします。

他のインテグレーション

(同様の OAuth セットアップ手順に従ってください)

Microsoft Graph (Office 365)

  1. Azure App Registration で登録します。
  2. Web リダイレクト URI:
    <Cal.diy URL>/api/integrations/office365calendar/callback
  3. MS_GRAPH_CLIENT_ID
    を設定し、
    MS_GRAPH_CLIENT_SECRET
    のシークレットを生成します。

Zoom

  1. Zoom マーケットプレイス -> Develop -> Build App (General App) にアクセスします。
  2. クライアント ID/シークレットを
    .env
    にコピー(
    ZOOM_CLIENT_ID
    ,
    ZOOM_CLIENT_SECRET
    )。
  3. OAuth リダイレクト URI:
    <Cal.diy URL>/api/integrations/zoomvideo/callback
  4. "Subdomain check" を有効化します。
  5. スコープ:
    Meeting (meeting:write:meeting)
    User (user:read:settings)

Daily.co

  1. Daily.co でアカウントを作成します。
  2. API キーを
    .env
    にコピー(
    DAILY_API_KEY
    )。
  3. オプション:ビデオ記録機能のために
    DAILY_SCALE_PLAN=true
    を設定します。

Basecamp (37 Signals)

  1. インテグレーションダッシュボードへアクセスし、アプリケーションを登録します。
  2. 製品: Basecamp 4。
  3. リダイレクト URI:
    <Cal.diy URL>/api/integrations/basecamp3/callback
  4. クライアント ID/シークレットを
    BASECAMP3_CLIENT_ID
    /
    BASECAMP3_CLIENT_SECRET
    にコピーします。
  5. シークレット形式を設定:
    {your_domain} ({support_email})

HubSpot

  1. HubSpot Developer -> Manage apps -> Create legacy app (public) にアクセスします。
  2. 認証スコープ:
    crm.objects.contacts
    ,
    crm.lists
    (読み取りと書き込み)。
  3. リダイレクト URI:
    <Cal.diy URL>/api/integrations/hubspot/callback

Zoho CRM

  1. API コンソール -> アプリケーション -> Add Client (Server-based) を実行します。
  2. リダイレクト URI:
    <Cal.diy URL>/api/integrations/zohocrm/callback
  3. オプション:同じ DC 間で共有する OAuth のために "Multi-DC" チェックボックスをオンにします。

Zoho Calendar / Bigin / Pipedrive

それぞれのベンダーのドキュメントに従ってください(リンクは主に README に記載されています)。


Unkey を使用したレート制限(オプション)

レート制限を有効化したい場合は:

  1. unkey.com で登録します。
  2. ratelimit.create_namespace
    ratelimit.limit
    の許可を持つルートキーを作成します。
  3. ルートキーを
    .env
    UNKEY_ROOT_KEY
    としてコピーします。

コントリビュート

私たちがコントリビューションを歓迎します!誤字の修正、ドキュメントの改善、新機能の開発など、あなたの助けは Cal.diy をより良くします。

重要: Cal.diy はコミュニティによるフォークです。このリポジトリへのコントリビュートは、Cal.com の本番プラットフォームに反映されません。詳細については CONTRIBUTING.md を参照してください。

  • コントリビュートガイドをご覧ください。
  • GitHub Discussions で議論に参加しましょう。
  • コーディング基準とコミットメッセージの慣習に従ってください。
  • Good First Issues: スコープの限定的なバグや機能を持つ、始めたばかりの方におすすめの課題です。

翻訳

コーディングをせずともコントリビュートしたいですか?Discussions に参加し、Cal.diy をあなたの言語に翻訳しましょう。


謝辞

Cal.diy は Cal.com と多くの貢献者によって築かれた基盤の上に構築されています。特別感謝申し上げます:

  • Vercel
  • Next.js
  • Day.js
  • Tailwind CSS
  • Prisma

同じ日のほかのニュース

一覧に戻る →

2026/04/22 2:14

Vercel の侵害事件:OAuth 攻撃によるプラットフォーム環境変数のリスク浮上

## Japanese Translation: 最も重要な教訓は、攻撃者がサードパーティの OAuth の侵害を利用して、2024 年 6 月頃に始まり公開された 2026 年 4 月 19 日まで約 22 カ月到達した間、Vercel の内部システムへの侵入を成し遂げたという点です。この期間中、敵対者は顧客の機密情報や従業員のデータ、OpenAI のようなサービスにリンクされた認証情報を盗みました。この侵害は Vercel の環境変数モデルによって拡大されました:「sensitive」と明示的にマークされていない変数は静態で暗号化されて保存されていたため、内部へのアクセスが得られた時点で読み取ることができました。これにより、侵害された OAuth アプリケーションから従業員の Google Workspace アカウントへ、さらに非機密の環境変数の列挙および下流の認証情報の悪用への横移動が可能になりました。 Vercel の CEO ガビエル・ロイシュは、攻撃者の驚くべき速度と Vercel に対する深い理解を AI の拡張作用に帰因しました。地下フォーラムで ShinyHunters と関連するハッカー集団が従業員のレコード約 580 件、トークン、および API キーの保有を主張していますが、公式な確認が出るまでこれらの主張は検証されていません。この出来事は、LiteLLM(2024 年 3 月 24 日)、Axios(2024 年 3 月 31 日)、Codecov(2021 年)、CircleCI(2023 年)、Snowflake(2024 年)などの主要ソフトウェア提供者を標的とするサプライチェーン攻撃のより広範な 2026 年の傾向を反映しています。 即時の是正策として、すべての非機密 Vercel 環境変数を再設定し、アプリケーションを再起動する必要があります。パスワードのみの再設定では、すでに古い認証情報を既に使用していた以前のデプロイメントが無効化できないためです。調査は困難に直面しており、デフォルトの Google Workspace ログがわずか 6 ヶ月間のみ保持されるため、正確なエントリーポイントや最も早期の侵害活動が隠れてしまう可能性があります。究極的には、セキュリティ環境は、現代のサプライチェーン構成において「非機密」というラベルが静的な未暗号化データを保護することを失敗するという危険なギャップを開示しています。

2026/04/22 0:29

CrabTrap:実環境におけるエージェントを保護するための、LLM を採用した「審査官」として機能する HTTP プロキシ

## Japanese Translation: Capital One の完全子会社であり、米国ユタ州ソルトレイクシティ 650 S 500W スイート 300 に本社を置く Brex LLC は、コア・バンキングサービスにおいて関係ないパートナー銀行を利用する金融プラットフォームとして運営されています。支払いサービスは Brex Payments LLC(免許を受けた資金送金業者)が管理しており、Vault fonds には即座に FDIC の保険が付与され、Treasury fonds はパートナー・プログラム銀行へ転送される際に FDIC 資格を取得します。証券は Brex Treasury LLC を通じて提供され、同社は各株式で $1.00 の価値を維持することを目的とするファンドへの投資を行うが、これは保証されておらず、収益は市場状況によって変動し、元本損失の可能性もあることに注意すべきです。クレジットカードは製品により異なります:Brex Mastercard® Corporate は Emigrant Bank、Fifth Third Bank N.A.、または Airwallex(オランダ)B.V. が発行し、Brex Commercial Card は Visa ライセンスの下で Sutton Bank が発行します。現在、ATM アクセスは利用できませんが、すべてのローンには承認が必要です。また、Brex LLC は法的、税務、直接的投資アドバイスを提供しません。料金プランはユーザー 1 人あたり月 $0 から開始し、高度な機能を必要とする場合はユーザー 1 人あたり月 $12 です。資金を投入する前に、これらの構造的ニュアンス、パートナー依存関係、および本質的な市場リスクを考慮する必要があります。

2026/04/18 19:53

スティーブンのソーセージロールは、今なお最も影響力の大きいパズルゲームの一つとして確立されている。

## Japanese Translation: この原稿は『Stephen's Sausage Roll』の 10 周年を祝い、パズルゲームの定義を継続的に確立し続けてきたタイムレスな傑作として位置づけています。2016 年 4 月に PC でリリースされ、ゲームプレイについてほとんど何も明らかにしない予告編と共に登場したこの oversized fork-based ソコバンタイトル(プレイヤーがブロック、ラダー、フォークを使用して肉を焼くためにソーセージを押す)は、細心の注意を払った設計、深いパズル層、そして公平だが困難な難易度を通じて直ちにプレイヤーを魅了しました。ゲームは Stephen Lavelle 氏(Increpare Games)によってデザインされており、ソコバンの設計を探求するグリッドベースのパズルの作成を可能にする PuzzleScript も以前にリリースしています。開発者は『Stephen's Sausage Roll』を「削ぎ落とされた純粋さ」の傑作として評価し、「ソーセージのような」ゲームや新しい世代のソコバンタイトルを鼓舞していると述べています。Alan Hazelden 氏(*A Monster's Expedition*)はそれを「少ないもので多くのことを成し遂げるためのマスタークラス」と呼び、Patrick Traynor 氏(*Patrick's Parabox*)はそれが純粋なパズルデザインを追求するようそしてタイトルに自分の名前を含めるよう刺激したと述べています。Gwen Frey 氏(*Kine*, *Lab Rat*)はそれを「ソコバンへのゲートウェイ薬物」と呼び、彼女のキャリアを変えたと言っています。Corey Martin 氏(*Bonfire Peaks*)はその純粋さを「1976 年の Ramones」に例え、Joseph Mansfield 氏(Thinky Games)はそれが手慣れた古典的なソコバンから深みのある焦点を当てた設計への転換を標記していると指摘しています。Thinky Games は開発者の証言をフィーチャーした 10 歳の誕生日祭りを開催しており、これにより『Stephen's Sausage Roll』がどのようにジャンルを形成し続けているかが強調され、その遺産がリソースに制約のある志の高い創作者のための成功したブループリントとして検証され、新しい世代のパズル愛好家に enduring するために確保されています。

cal.diy: cal.com のオープンソース・コミュニティ版です。 | そっか~ニュース