Open6

bigaruの制作【Webサービス】

Yoshiki IzumiYoshiki Izumi

Webとスマホで使えるサービスを作ろうと思いました。

ログインと画像アップロードを実装した。
現在は、管理画面を制作中。

Yoshiki IzumiYoshiki Izumi

htmlタグにもCSSをあてることが出来るのを今まで知らなかった。
今まではbodyタグまでしかCSSをあてることが出来ないと思っていたけど、1番外側にあるhtmlタグにもCSSをあてることが出来るようです。

<html>
    <head>
    </head>
    <body>
    </body>
</html>
html {
    width: 100%;
    height: 100%;
}
body {
    margin: 0;
}
Yoshiki IzumiYoshiki Izumi

socket.ioを導入しました。
バージョンが4.4.0になっていて、前のバージョンから使い方が少し変わっていました。

Yoshiki IzumiYoshiki Izumi

socket.ioをアプリでも動かせるように実装した
重要なのは

  • Node.js側で {allowEIO3: true} を指定してやるところ
  • Swift側でJSONSerializationを2回使ってやるところ
    が重要でした。

Node.js

var server = https.createServer(options, app);
const { Server } = require("socket.io");
const io = new Server(server, {allowEIO3: true});
var dragData = [];
io.on('connection', (socket) => {
  ...
  ...
  ...
}

Swift

socket.on("drag"){data, ack in
    do {
        let jsonData = try JSONSerialization.data(withJSONObject: data)
        let json = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.allowFragments) as! NSArray
        self.dataList = json[0] as? NSArray
    } catch {
        print("#####error")
        return
    }
}

Yoshiki IzumiYoshiki Izumi

■仮タイトル)bigaru

多人数対戦ダンジョンRPG

■システム
他プレイヤーとエンカウントすると
1、話す
2、戦う
3、売買する
4、逃げる
が選べる

■プレイヤーの目的
アイテムを収集するのが目的

■開発言語
Node.js、Swift、Kotlin、MongoDB

■時期
2022年12月末までアイデアを練り、
2023年1月から本格開発、
2025年公開開始

■ターゲットプレイ環境
Webブラウザ、iPhone、余力があればAndroidも