/MilliSim

Extensible simulator for THE iDOLM@STER Million Live! Theater Days / アイドルマスターミリオンライブ!シアターデイズ用の拡張可能なシミュレーター / 可扩展的偶像大师百万现场剧场时光模拟器

Primary LanguageC#MIT LicenseMIT

MilliSim

MilliSim was initially designed as a simulator for THE iDOLM@STER Million Live! Theater Days. It has become a general, plugin-based simulator framework.

This repository now only contains the framework itself. For the Theater Days simulator, an example for using this framework, check out TheaterDaysSim. Older binaries and assets in this repository are still kept for archiving.

It can be extended to support other games, such as Arcaea (ArcaeaSim).

Demo videos (Theater Days):

Title Beatmap Author Branch
Death by Glamour hozuki v0.2
dear... MinamiKaze v0.2
茜ちゃんメーカー Sacno v0.3
Downloads Status
GitHub Releases GitHub (pre-)release Github All Releases
AppVeyor (latest development build)
Build Status
Travis (not maintained) Travis
AppVeyor AppVeyor

Stage: alpha

Miscellaneous:

GitHub contributors Libraries.io for GitHub license

Usage

Requirements:

  • Operating System:
    • Windows: Windows 7 SP1 or later
    • macOS and Linux: macOS 10.8 / Ubuntu 16.04 or later
      • and latest Wine (will download wine-mono on launch)
  • Visual C++ 2015 Runtime
  • OpenAL (bundled OpenAL-Soft Win32 build in newer releases)

OpenGL builds (TheaterDays.OpenGL.exe) can run on all platforms, but it is problematic. DirectX builds (TheaterDays.Direct3D11.exe) can only run on Windows.

Note: Video Playback Support

If you want to play videos as the background, you must download FFmpeg binaries (version 3.4.1) from here, and place the binaries into x64 and x86 directories correspondingly. Due to license restrictions, MilliSim builds cannot include FFmpeg binaries, so you have to download them yourself.

File structure:

TheaterDays.*.exe
x64/
  avcodec-57.dll
  avdevice-57.dll
  ...
x86/
  avcodec-57.dll
  avdevice-57.dll
  ...

Without FFmpeg, you must either:

  1. disable background video (comment out plugin.component_factory.background_video in Contents/plugins.yml), or
  2. leave video file path as empty (data-video section in Contents/config/background_video.yml).

Note: If MilliSim Applications Cannot Launch

To enable debug mode, use Command Prompt to run MilliSim like:

MilliSimApp.exe --debug

When MilliSim encounters problems (e.g. app crash), it will write a debug log in log-file.txt. Please open the log and submit it by opening an issue.

A common problem of MilliSim not starting may relate to error 0x80131515. Since MilliSim uses a plugin architecture, it will scan and load plugin DLLs under its directory. That error code means it is not authorized to access those DLLs. Please make sure:
  1. if you run MilliSim in C drive, it must be place somewhere inside your user directory (i.e. C:\Users\YOUR_USER_NAME\SOME_DIR\);
  2. you must unblock the downloaded ZIP file before you extract the EXEs and DLLs (shown as the picture on the right). (thanks @Sacno3)

Building

Please read Building.md.

Developing Plugins

MilliSim is designed to support plugins. Please read the wiki page for more information. (Note: this is mainly about version 0.2 so it may be deprecated. Proceed with caution. Help is appreciated!)

You can find precompiled NuGet packages for plugin development here. (Suspended; help needed.)

Other

Wiki

MilliSim has a wiki on GitHub. It is still under construction but you may find some useful information there.

Naming

The name is an abbreviation of Million Live Simulator.

According to English traditions, it should be written and read as MilliSim. Corresponding Japanese version should be ミリシミュ (MilliSimu/mirisimyu). Both versions are acceptable.

License

MIT