2026年2月2日月曜日

祝・100ダウンロード突破!『Game of Civic Strategy』を遊んでくださった皆様へ



こんにちは、GCS-97副管理人兼サポクリエイトステーションのSAPOです。


本日は嬉しいご報告があります。 「ふりーむ!」にて公開中の『Game of Civic Strategy(疑似選挙シミュレーター)』が、ついに累計100ダウンロードを突破しました!


GCS-97やサポクリエイトステーションとしてこれまで様々なゲームを公開してきましたが、100DLの大台を突破したのは本作が初めてとなります。 遊んでくださった皆様、興味を持ってページを開いてくださった皆様、本当にありがとうございます。


このゲームは、「選挙」という少し変わったテーマを扱ったシミュレーションゲームです。 まだ遊んでいない方のために、改めて本作のコンセプトを一言で表すなら……

「民意を読み、戦略で票を奪い取れ。」
※人口多い所に擁立すると勝ちやすい。


ただの運任せではなく、あなたの戦略が選挙戦の行方を左右します。 100人以上の方に「出馬(プレイ)」していただけたこと、開発者として大変光栄に思います。

サクッと遊べる選挙体験ゲームというコンセプトも試していましたが、サクッと65日程度で終わるシミュレーションゲームは画期的だったかもしれませんね。

さて、まだ未プレイの方は、ぜひこの機会に選挙戦の熱気を体験してみてください。 無料配信中です!


▼ダウンロードはこちら(GCOT-R【GCS-97ソフトウェア部門】)

Game_of_Civic_Strategy | GCOT



▼ダウンロードはこちら(ふりーむ!)

Game of Civic Strategy(疑似選挙シミュレーター):無料ゲーム配信中! [ふりーむ!]



これからもGCSの活動を温かく見守っていただければ幸いです。 まずは取り急ぎ、お礼とご報告まで!

2026年1月27日火曜日

【重要】GCS-97 組織再編および部門名称変更のお知らせ

  



日頃よりGCS-97(Global Create Station 97)の活動を応援いただき、誠にありがとうございます。

2026年1月14日をもちまして、当組織はより持続可能でクリエイティブな活動を目指し、組織再編を行いました。

「作る喜びを、分かち合う楽しさに。」というスローガンのもと、以下の通り新体制へと移行しますことをご報告いたします。

1. ゲーム部門の名称変更

ソフトウェア開発部門「GCOT (Game Creative Team)」は、新たなフェーズへの進化を込め、以下の通り改称いたしました。

  • 旧名称: GCOT

  • 新名称: GCOT-R (ジーコット・アール※ジーコッター)

「R」には、鉄道の扇形庫(Roundhouse)の意味を込めています。

多種多様な"車両"(プロジェクト)が集い、整備され、また世界という路線へ旅立っていく拠点。そんな開発チームを目指してまいります。

2. アナログ・写真部門の統合と新設

これまで独立して活動していた「RCW (Resin Crystal Works)」と「フォトファンタジア」を統合し、視覚芸術と物理制作を包括する新部門を設立いたしました。

  • 統合元: RCW、フォトファンタジア

  • 新名称: 【ビジュアルフォトファンタジア】ワークス

    • (英語表記: Visual Photophantasia Works)

「光(Photo)」と「結晶(Resin)」という2つの輝きを融合させ、さらに「工房(Works)」としての機能を強化します。

今後はこの新名称のもと、写真展示やレジンクラフト、ジャンクカメラの関連の活動(?)などを一元化して行ってまいります。

3. AI部門「Synapse-97」の始動(予定)

旧RCWのWEBサイト枠組みを活用し、新たにAI技術に特化した部門の設置を準備しております。

  • 新部門名: Synapse-97 (シナプス97)

  • 位置づけ: GCOT-R直轄 臨時部門

ニューラルネットワークのように知と技術を繋ぐ場所として、AI技術の検証や発信を行っていく予定です。

サイト・表記の切り替えおよび広報について

ポータルサイトや各SNS等の表記につきましては、順次切り替え作業を行ってまいります。

一時的に旧名称と新名称が混在する場合がございますが、ご了承いただけますと幸いです。

また、本再編に伴う詳細な情報やサイトマップにつきましては、Webサイトの構造が整備されている協力組織「SAPO_CREATE_STATION」側でも広報・案内を行ってまいります。情報へのアクセス性を高めるため、そちらも併せてご参照ください。

今回の再編は、リソースを最適化し、一つ一つの作品のクオリティをより高めるための前向きな決断です。

形は変わりますが、私たちの根底にある「ニッチな好きを追求する」精神は変わりません。

新体制となったGCS-97を、今後ともどうぞよろしくお願いいたします。

2026年1月14日

GCS-97 副管理人

2026年1月5日月曜日

【制作秘話】新井青空 名義での一冊。文庫版『始まった生命』が描く、空白の“第3章”

こんにちは、GCS-97のSAPOです。

今日は、以前から水面下で進めていた文庫化プロジェクト、『始まった生命』についてお話しします。

私はこれまでに「小説家SAPO」、「新井青空」、そして「暁野朧」という順で生まれた3つの名義を持って活動してきましたが、今回はその中から「新井 青空(Arai Aozora)」という名義をメインに据えて世に送り出しました。(もちろん、著者欄には他2つの名前も刻んであります)

この本は、単なる過去作の書籍化ではありません。 2024年に新井青空として紡ぎ始めた物語に、「当時、書くことができなかった続き」を加えた完全版なのです。

■『始まった生命』とは?

2024年、あの場所で途絶えていた『始まった生命』が、今ふたたび動き出す。 Web版では語られなかった「第3章」以降を完全書き下ろしで収録。

[あらすじ] 2024年、鮮烈な印象を残して創作された『始まった生命』。 しかし、その全貌は謎に包まれたままだった。

本書では、第1章・第2章において当時のオリジナル原稿を収録しつつ、 第3章からは、一度も世に出ることのなかった「続き」の物語を初公開。

なぜ、生命は始まったのか。そして、どこへ向かうのか。 Web公開時には描かれなかった新たな葛藤、新たな選択、そして衝撃の結末。

これは再録ではない。未完のパズルが埋まる、真実の記録である。

■【制作裏話】なぜ“第3章”から書き下ろしたのか

ここからは少し制作の裏話を。

実はこの作品、原型となる第1章と第2章が書かれたのは2024年のことでした。 当時、Web公開などを通じてその世界観の一端をお見せしていましたが、正直に告白すると、当時の私の中で、この物語は「迷子」になっていたのです。

生命が始まった。でも、その生命をどう導けばいいのか。 当時の自分には、その先の「答え」が出せなかった。だから、第2章で筆が止まっていたのです。

しかし、2026年の今。 様々な創作活動や経験を経て、ふと読み返したとき、「今なら、彼らの行く末がわかる」と確信しました。

そうして生まれたのが、今回の完全書き下ろしとなる「第3章」以降です。

当時の原稿(第1~2章)は、あえてそのまま残しました。 そして第3章に入った瞬間、物語は当時の私が予想もしなかった方向へと加速していきます。 過去の自分と、現在の自分がセッションをして作り上げた、不思議な構成の一冊となりました。

■こんな人に手に取ってほしい

・2024年当時のWeb版を読んでいた方 「あの話、どうなったの?」という疑問に、ついに答えが出ます。

・「人生の途」シリーズが好きな方 独特の少し重たく、静かな空気感は健在です。

・「未完の作品が完成する瞬間」に立ち会いたい方

Webでは決して読めない、紙の本だけの「完結」。 ぜひ、その手でページをめくり、第3章の扉を開けてみてください。

▼最新情報・お問い合わせ(GCS-97広報部門)
Amazon.co.jp: GCS-97 広報部門: 本、バイオグラフィー、最新アップデート




▼書籍紹介 | GCS-97(ポータル) 
書籍紹介 | GCS-97(ポータル)


2026年1月1日木曜日

【2026年】あけましておめでとうございます!今年も多方面に「創る」を楽しみたいと思います。

 あけましておめでとうございます! SAPOです。

旧年中は「SAPO_CREATE_STATION」をご覧いただき、ありがとうございました。 2026年も無事に迎えることができました。

当ブログは「多方面創作」を掲げている通り、ジャンルに縛られず、技術から物語まで様々なモノづくりを発信しています。今年もそのスタンスは崩さず、さらに活動の幅を広げていきたいと考えています。

【2026年の主な活動目標】

今年は以下の分野で新しい挑戦を予定しています!

  • ゲーム・ソフトウェア開発: 昨年からのプロジェクトに加え、今年はシミュレーションゲーム以外にも挑戦したいです。より遊んで楽しい、使って便利なものを作っていきます。

  • 執筆活動: 小説・記事の執筆も継続していきます。迷霧の途などの人生の途シリーズなどを執筆するなど言葉での表現も深めていきたいですね。

  • ハードウェア・電子工作:ラズベリーパイを用いたゲーム機制作など、物理的なモノづくりにも触れていきます。

「作りたい!」と思った衝動を大切に、形にしていく過程をこのブログで共有していきます。 成功も失敗もひっくるめて、創作の楽しさをお届けできれば幸いです。

本年も、SAPOおよび「SAPO_CREATE_STATION」をどうぞよろしくお願いいたします!

2025年12月11日木曜日

【Pythonゲーム開発 】#4.ゲームの心臓「メインループ」を作ろう(QTimer編)

 はじめに

 前回、画面に四角形を描くことができましたが、まだ動きません。 ゲームとは、パラパラ漫画のように「少しずつ動かした絵」を高速で切り替えることで成立しています。多くの初心者はここで「while Trueループで回せばいいんでしょ?」と考えますが、GUIアプリでそれをやると画面がフリーズして死にます。今回は、PySide6における正しいループの作り方、「QTimer」の使い方をマスターしましょう。


§1. なぜ「while True」はダメなのか?

 #2で解説した通り、GUIアプリは常に「イベントループ(待機状態)」の中にいます。もし自分で while True: を書いてしまうと、プログラムがそこで全力疾走を始めてしまい、ウィンドウの描画やクリックを受け付ける余裕がなくなります。結果、アプリは「応答なし」になります。


§2. 正解は「QTimer(キッチンタイマー)」

そこで使うのが QTimer です。 これは、「指定した時間ごとに、ベル(合図)を鳴らす」機能です。

設定: 「0.016秒(約16ミリ秒)ごとに合図して!」

動作:0.016秒経つ。

合図が鳴る → 「キャラの座標を+1する」

合図が鳴る → 「画面を書き直す(再描画)」

(待機)

また0.016秒経つ...

この隙間があるおかげで、アプリはフリーズせずに動き続けることができます。 ちなみに 1秒 ÷ 60回 ≒ 0.016秒 なので、これで滑らかな60FPSが実現できます。


§3. 実践コード:四角形を走らせろ!

四角形が左から右へ自動で動くコードです。 コピーして実行してみてください。

pythonコード

はじまり---------------------------------------------

import sys

from PySide6.QtWidgets import QApplication, QWidget

from PySide6.QtGui import QPainter, QBrush, QColor

from PySide6.QtCore import QTimer, Qt

class GameLoopWindow(QWidget):

    def __init__(self):

        super().__init__()

        self.setWindowTitle("動け!四角形")

        self.resize(500, 300)

        # ★ 変数の準備

        self.rect_x = 0  # 四角形のX座標(最初は0)

        # ★ 1. タイマーの準備

        self.timer = QTimer(self)

        self.timer.timeout.connect(self.update_game) # 時間が来たら呼ぶ関数を指定

        self.timer.start(16) # 16ミリ秒ごとにスタート!

    # ★ 2. 定期的に実行される「ゲームの更新処理」

    def update_game(self):

        # 座標を少し右にずらす

        self.rect_x += 2

        # 画面の端まで行ったら左に戻す(ループ)

        if self.rect_x > 500:

            self.rect_x = -50

        # 重要:「画面を書き直して!」とOSに依頼する

        self.update() 

    # ★ 3. 描画処理(update()されると呼ばれます)

    def paintEvent(self, event):

        painter = QPainter(self)

        # 背景を塗りつぶす(これがないと残像が残る!)

        painter.fillRect(self.rect(), Qt.white)

        # 変数(self.rect_x)の位置に描く

        painter.setBrush(QBrush(Qt.green))

        painter.drawRect(self.rect_x, 100, 50, 50)

if __name__ == "__main__":

    app = QApplication(sys.argv)

    window = GameLoopWindow()

    window.show()

    sys.exit(app.exec())

おわり---------------------------------------------


§4. コードの仕組み(リスト解説)

今回追加された「動き」の仕組みを表にまとめました。

ブロック役割コードの要点解説
準備タイマー設置

self.timer = QTimer()


self.timer.start(16)

「16ミリ秒ごとに update_game を実行せよ」とセットします。


これがゲームの心臓の鼓動になります。

計算座標の更新

def update_game(self):


self.rect_x += 2

変数の数字だけを変化させます。


※ここでは描画はしません。

通知再描画の依頼self.update()

「データが変わったから、画面を描き直して!」という命令です。


これを呼ぶと、自動的に paintEvent が実行されます。

描画表示

def paintEvent...


drawRect(self.rect_x...)

変化した新しい self.rect_x を使って、四角形を描きます。

今日のまとめ

  • 「変数」を変える。

  • 「QTimer」で定期的に変える。

  • 「update()」で画面に反映する。

この3ステップの繰り返しが、どんな複雑なゲームでも共通する「メインループ」の正体です。


次回予告

勝手に動く四角形は作れましたが、まだ操作できません。 次回は、あなたのキーボード操作でキャラを動かす「入力処理(Input)」を実装します。

Next Step: 【Vol.5】WASDで自由自在!キー入力でキャラを動かそう


祝・100ダウンロード突破!『Game of Civic Strategy』を遊んでくださった皆様へ

こんにちは、GCS-97副管理人兼サポクリエイトステーションのSAPOです。 本日は嬉しいご報告があります。 「ふりーむ!」にて公開中の『Game of Civic Strategy(疑似選挙シミュレーター)』が、ついに累計100ダウンロードを突破しました! GCS-97やサポク...