Giter Club home page Giter Club logo

sylife's Introduction

SyLife

インタラクティブ生態系シミュレータ

Introduction

インタラクティブかつマルチプラットフォームで動作可能な生態系シミュレータです。

  • 生き物をユーザー自身がデザインし、生態系の構築とシミュレーションが可能
  • Windows, macOS, (Linux), (Web Browser)に対応
  • タッチパネルによる操作に対応

Requirements

すべてのRequirementsはOpenSiv3D v6.5.0に基づきます。

Platform Requirements
Windows Windows 7 SP1 / 8.1 / 10 / 11 (64-bit)
Microsoft Visual C++ 2022 17.3
Windows 10 SDK
Intel / AMD CPU
macOS macOS Mojave / Catalina / Big Sur / Monterey
Xcode 11.3 or newer (Big Sur requires Xcode 12.5 or newer)
Intel CPU / Apple Silicon (Rosetta mode)
OpenGL 4.1 compatible hardware
Linux GCC 9.3.0 (with Boost 1.71.0) / GCC 11.2 (with Boost 1.74.0)
Intel / AMD CPU
OpenGL 4.1 compatible hardware
Web Web browser with WebAssembly and WebGL2 support

How to build

Windows

macOS

  • OpenSiv3Dをインストールする。
  • /Applicationssiv3d_v0.6.5_macOSを配置し、内部のexamplesもしくは同様のフォルダ内にSyLifeリポジトリをクローンする。 /Applications/siv3d_v0.6.5_macOS/projects/SyLife
  • プロジェクトを開いてビルドする。

Linux

  • OpenSiv3Dをインストールする。
  • mkdir build && cd build && cmake .. && cd .. && cmake --build build
  • 完成した実行ファイルをAppフォルダに移動する。
  • resourcesフォルダにengineフォルダを移動し、実行する。

Web

License

SyLife is made available under the MIT License.

sylife's People

Contributors

aspjt avatar machiinagatoshi avatar sknjpn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

teamtest57

sylife's Issues

地形生成の処理時間

アプリ起動時に地形生成を行うと重すぎて時間がかかるので、
・マルチスレッドにして同時並行での処理
・ファイルに地形データの保存

などの対策を取る必要がある。

グリッドシステムの実装

グリッドシステムの実装によって高速処理が実現できることが見込まれる。
また、マップの大きさとグリッドの大きさを定義する必要がある。

シーンサイズとタイトル画面

2560x1440 以外の解像度や、2560x1440 でも OS で UI スケールを 100% 以外に設定している場合、タイトル画面でボタンが表示されません。
20220105-194935-441

関連するかはわかりませんが、v0.6 で Scene のリサイズの仕組みが変更されている点に注意です。
https://zenn.dev/reputeless/books/siv3d-documentation/viewer/tutorial-scene#15.1-%E4%B8%89%E3%81%A4%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA

解決策として、

  Window::SetStyle(WindowStyle::Sizable);
  Scene::Resize(2560, 1440);

  // Window設定
  if (GeneralSetting::GetInstance().m_fullScreenEnabled) {
    Window::SetFullscreen(true); // ここでシーンのサイズが変わる
  } else {
    Window::Maximize(); // ここでシーンのサイズが変わる
  }

  Window::SetStyle(WindowStyle::Sizable);
  Scene::SetResizeMode(ResizeMode::Keep); // シーンのサイズは、ウィンドウサイズが変わっても変わらないようにする
  Scene::Resize(2560, 1440);

  // Window設定
  if (GeneralSetting::GetInstance().m_fullScreenEnabled) {
    Window::SetFullscreen(true);
  } else {
    Window::Maximize();
  }

に変更することで、手元の環境では正しく表示されるようになりました。

ViewerManagerの深刻なバグ

Delete()内部の処理にeraseを入れるのはイテレータ破壊のため非常に危険。
nullptrを代入する処理に変更するべき。

Curtainの問題

FieldViewerのCurtainが機能していない。

durationtimeの設定が失敗していると思われる

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.