Code Monkey home page Code Monkey logo

alien's Introduction

Hi there ๐Ÿ‘‹

  • ๐Ÿ”ญ Iโ€™m currently working on a simulation tool for physics and artificial life.
  • ๐Ÿ‘ฏ Iโ€™m looking to collaborate on software projects for artificial life and to exchange ideas.
  • ๐Ÿค” Iโ€™m looking for help with my current project alien (see Issues).
  • โšก Academic profiles: ResearchGate and Google Scholar
  • ๐Ÿ“ซ How to reach me: [email protected]

alien's People

Contributors

chrxh avatar dguerizec avatar mpersano avatar tlemo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alien's Issues

Simulator Keeps crashing

The simulator crashes from time to time using the multiplier tool or when i hit (play) start, there is no error message of any kind the app exits immediately, it happens with an empty world or full world, so I assume it has something to do with something deeper in the engine.

What could this be?

Can't initialize alien.exe in Windows 11

I'm using Windows 11 and I have the latest NVIDIA 3090 drivers. Each time I try to open alien, I just see a quick black screen appearing rapidly and a termina, but then they disappear.

Ubuntu support?

Any plans to support this on ubuntu?
Or perhaps a docker container?

CUDA error 222 on Geforce GTX 1650 Ti

Hi,

when trying to launch alien I keep getting the following critical error:

CUDA error at CudaSimulation.cu:382 code=222(<unknown>) "cudaMemcpyToSymbol( cudaSimulationParameters, &parameters, sizeof(SimulationParameters), 0, cudaMemcpyHostToDevice)"

I'm on Windows 10 21H1, NVIDIA Geforce GTX 1650 Ti with latest CUDA version 11.3.1 installed.
Any idea how to fix this?

Thanks

Can't read from files

When ever I try to open an simulation I get 'The selected file could not be opened.'
It is cause the Serializer::deserializeDataDescription throws "no data found".
Any idea why it does this?

Linux Ubuntu build failing

steve@swebb-76:~/alien/build$ cmake .. -DCMAKE_BUILD_TYPE=Release
-- Running vcpkg install
Detecting compiler hash for triplet x64-linux...
The following packages will be built and installed:

  • boost-algorithm[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-algorithm/338f795a1e6d73ab25444f64fe7ba1d617128813
  • boost-align[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-align/5e733503d18c7e82478961e1155a40a95af0ab42
  • boost-any[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-any/cf8bdfd2ce434a981620383dcc07d46c0a071ca1
  • boost-array[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-array/fb008cce0de1c6a34ac5222d03d7e1069d135dc4
  • boost-assert[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-assert/db6b88ce332c6752f87f8f0c098a832e23610303
  • boost-atomic[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-atomic/c5f02ea8b6555b20b6cc8901bdae9e9628086640
  • boost-bind[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-bind/a1764edb5aaa4cf532e6e2d60d56420240dec410
  • boost-build[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-build/d12d4a6f44a7356c4262b27adcda834fe893b576
  • boost-chrono[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-chrono/f0143b4dd81e3de932ea886e69efd196452d81b3
  • boost-concept-check[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-concept-check/9bdfb3a9b14b35dc1833bc559226c7925096ff57
  • boost-config[core]:x64-linux -> 1.77.0#2 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-config/0f7b70c02bfb43bbdc8f62bd49c8a5339a65f48c
  • boost-container[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-container/9af11f40e9b9fc2ebdda7e8885f9f49dea1923d7
  • boost-container-hash[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-container-hash/76c8d3c46db10b6774d6986822e53d1140934667
  • boost-conversion[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-conversion/5b591e95244353857eaade53621ee895b1d9e0a6
    boost-core[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-core/a56c8546828ee16a442a336c2385f9986f8c055f
  • boost-date-time[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-date-time/e2ca710f2484af3cbeee428e063a7e4269510110
  • boost-detail[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-detail/57dabb22a4f9dfe872c6f007c9dbae7bf0847514
  • boost-endian[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-endian/6950c45ffb4e112920b6dd50c1cddde07b30d61d
  • boost-exception[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-exception/d60d712de012657effc2314a5d8781e453097129
  • boost-foreach[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-foreach/95983cd3eb11558e24d1f63a68a2ee944da927df
  • boost-format[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-format/15c6449aa221b65139b38cc6c6ef91f32e2d2b1d
  • boost-function[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-function/092af2f7e20c516fc02e8a39d8887f2301bb1fd9
  • boost-function-types[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-function-types/7675770af935fb375c0350c7a5fc561f9bc31432
  • boost-fusion[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-fusion/e33ce42cfab1b757d73fc0c4ac7edacaefd0be58
  • boost-integer[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-integer/375a2af7e2d5d620aa9f42064255c269b0c73f5a
  • boost-intrusive[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-intrusive/9fb49266dc300d8914a0485972738b960ccf4339
  • boost-io[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-io/83ec8bab1f1bbd6eb1e2883a26747c7982d5c34f
  • boost-iterator[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-iterator/7bec2abc5b714c2bd975178406937ef59a73f29b
  • boost-lexical-cast[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-lexical-cast/3a265d9296755adc81f3c02b273d758798903b0c
  • boost-modular-build-helper[core]:x64-linux -> 1.77.0#4 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-modular-build-helper/aea8b4dbb8063db29d8ac843ef6aac35478bebaa
  • boost-move[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-move/d912a2a9e0b705919dae22cd8af6a4467e209e4e
  • boost-mpl[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-mpl/1b0bd80c486b32952b76c2b9539555cff5d2f911
  • boost-multi-index[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-multi-index/e993a57f4569f76310bc8c203372ebe472395005
  • boost-numeric-conversion[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-numeric-conversion/78140f78c6400520bd4ce340c68236e083a504e9
    boost-optional[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-optional/4a1ddf516bc0edc855ab4d9b8d134f338ba51a94
  • boost-phoenix[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-phoenix/2926d1b537106cb231bb9f3a657f6fde6c8530f8
  • boost-pool[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-pool/7794803f75109db0ca64a48d2f1cbd76100b153d
  • boost-predef[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-predef/a291dbfb68391a25f04944f9caa924f570b26d41
  • boost-preprocessor[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-preprocessor/6abad213e30df5ed168164b2612dba2041c7e8c1
    boost-property-tree[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-property-tree/959191d822cc095e02a3f6d9af5b68aeb823a0d1
  • boost-proto[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-proto/5d33f62f1117da9bac418c4b85d1a1bd96c547a4
    boost-range[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-range/737f4f322e661e01459862fbe73f748390b59c3d
  • boost-ratio[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-ratio/724fa7b1c0e1d78a9c29595b042443090e53a8ee
  • boost-rational[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-rational/d54d04de158ddaf33d7b8a6815532e8ee2771515
  • boost-regex[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-regex/c7c4497156a2c9e4f3227ee3807512630242307d
  • boost-serialization[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-serialization/bdb25d2d55569534825b139f62cf29a2f7aaba6e
    boost-smart-ptr[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-smart-ptr/700532550b70d03254c77f1467ab4c01a2c6e62a
  • boost-spirit[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-spirit/bc66c5a9ccd7f7bde95426392bc7ff62189f920d
  • boost-static-assert[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-static-assert/57ca16ab3652380b32a137add7aed6a385754d75
  • boost-system[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-system/86ac553606d3af5cf67b96bafd1ddaf9e6c57b60
  • boost-thread[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-thread/1c097a032a997463e15245272e40ea9298554f8b
  • boost-throw-exception[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-throw-exception/f0887800c8710d96015c7c1541f78265e1227963
  • boost-tokenizer[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-tokenizer/56a1fb828a469ba50000983860226452c264050f
  • boost-tuple[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-tuple/35d10ab4f156848f6f08f8bc26e41b27638af55e
  • boost-type-index[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-type-index/b8c5d86d75e307f04c4e5548f2ff57dccdc29e40
  • boost-type-traits[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-type-traits/7f108bb5313d004627d2b81b5e2a6d7298b091e9
  • boost-typeof[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-typeof/7df16df37b9fe9d5e4184dfdf928030010522f51
  • boost-uninstall[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-uninstall/1d472d1b44489c230a741cb519e893732f5d00ac
  • boost-unordered[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-unordered/e0e056b82651533817c1ca6dce6fb6239ccdcdbb
  • boost-utility[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-utility/e3589215d60cac29105fb361ef70e6d8befb8f94
  • boost-variant[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-variant/63d66b780f8fb2e1b7c1365fc54b23795b09279c
  • boost-vcpkg-helpers[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-vcpkg-helpers/f0b625fd73edd33c92f70727a4cf068d0268379e
  • boost-winapi[core]:x64-linux -> 1.77.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-winapi/2d4c0be143dbffd619ac154ef5d8f4fe24277bbe
  • brotli[core]:x64-linux -> 1.0.9#2 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/brotli/73d0ed2fd7816c7a4958983b0b027c85b60eac15
  • bzip2[core]:x64-linux -> 1.0.8#2 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/bzip2/a1ea352502e69888a565563d9151d3f7ab609fb1
    cereal[core]:x64-linux -> 1.3.0#1 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/cereal/7229804bbf716bbefe8052d650fc94687b6dae42
  • egl-registry[core]:x64-linux -> 2021-11-23 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/egl-registry/ec272777ea9d0ceccf5cc8b0336f038853e5c911
  • freetype[brotli,bzip2,core,png,zlib]:x64-linux -> 2.11.0#2 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/freetype/9d21ff9f7071d83c1e04eca8cae21b99438400d8
    glad[core,loader]:x64-linux -> 0.1.34#3 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/glad/2ebf6ed85a860c74f8649571e168900426cbb944
    glew[core]:x64-linux -> 2.2.0 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/glew/3211ed09c36542372ab3f1f690a42e2edbb072bc
    glfw3[core]:x64-linux -> 3.3.5 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/glfw3/90c6416669c2154f54d3f65e3a2afb8f75ab2aaa
    gtest[core]:x64-linux -> 1.11.0#3 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/gtest/bc195b45d4d766498fb51de96427835c7c4d5748
    imgui[core,freetype,glfw-binding,opengl3-binding]:x64-linux -> 1.85 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/imgui/9ae62261d966705924645bc3a057fe748c24d290
    implot[core]:x64-linux -> 0.12 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/implot/ab3bc9b82bfc7fbd1808cc55559ed58b648ed964
  • libpng[core]:x64-linux -> 1.6.37#16 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/libpng/b082585ac20aefc27150af5386b6a8a15473e93a
  • opengl[core]:x64-linux -> 0.0#9 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/opengl/9fa8ed2a1fb625613a32ee95d2413dbc921860f7
  • opengl-registry[core]:x64-linux -> 2021-11-17 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/opengl-registry/7f4a1e05a6cfbd923a2eaf9d32da22bde0742a15
    openssl[core]:x64-linux -> 1.1.1l#4 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/openssl/d25384246619019a1e44f018546cdfcaf1800174
    stb[core]:x64-linux -> 2020-09-14#1 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/stb/fa6d7e998f98f122efa37f456ffa498d546185b9
  • vcpkg-cmake[core]:x64-linux -> 2021-09-13 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/vcpkg-cmake/fc4d9fcc5b8d2b97c083c6b70dd06df5174bd97b
  • vcpkg-cmake-config[core]:x64-linux -> 2021-11-01 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/vcpkg-cmake-config/38a87ee8edd9ea8e8fff604fbcb785661a8d0e28
    zlib[core]:x64-linux -> 1.2.11#13 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/zlib/92cfe30c807d343c6359d272242f0765ad906740
    zstr[core]:x64-linux -> 1.0.4#2 -- /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/zstr/7a13e5cb665ce878aa5b6c9723a0e375e1be5c15
    Additional packages (*) will be modified to complete this operation.
    Restored 0 packages from /home/steve/.cache/vcpkg/archives in 92.85 us. Use --debug to see more details.
    Starting package 1/83: boost-uninstall:x64-linux
    Building package boost-uninstall[core]:x64-linux...
    -- Installing port from location: /home/steve/alien/external/vcpkg/buildtrees/versioning_/versions/boost-uninstall/1d472d1b44489c230a741cb519e893732f5d00ac
    --
    Please use the following command when you need to remove all boost ports/components:
    "./vcpkg remove boost-uninstall:x64-linux --recurse"

-- Performing post-build validation
-- Performing post-build validation done
Could not copy /home/steve/alien/external/vcpkg/buildtrees/boost-uninstall/x64-linux.vcpkg_abi_info.txt -> /home/steve/alien/external/vcpkg/packages/boost-uninstall_x64-linux/share/boost-uninstall/vcpkg_abi_info.txt: Invalid argument (22)
-- Running vcpkg install - failed
CMake Error at external/vcpkg/scripts/buildsystems/vcpkg.cmake:836 (message):
vcpkg install failed. See logs for more information:
/home/steve/alien/build/vcpkg-manifest-install.log
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake:124 (include)
CMakeLists.txt:24 (project)

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CUDA_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

Token can't jump as expect

image
I create a cluster like the image. The three cells on the top can work normally that token can jump from 0, 1 to 2. The cell 2 is a computation so I use "mov BRANCH_NUMBER, 5" to make sure that the token can jump to cell 0. So the token can circle in these three cells, and it can form another token when passing through the cell 1.
The new token can jump from cell 1 to cell 2(at the middle of the cluster).
But it can't always jump from cell 2 to the two cell 3 as expect. It may disappear.
Is this phenomenon normal? How can I make it jump from cell 2 to cell 3?

Periodic saving of simulation views

To create time lapses of simulations, it should be possible to automatically save a view of (a section of) the world after each n time step, where n can be specified by the user.

automatically changing simulation parameters

It seems that changing the simulation parameters from time to time can support evolutionary adaptation to overcome local optima. A mechanism should be implemented that automatically changes the parameters but keeps an eye on the working replicators. If the number of replicators decreases too much, the parameters that ensure more friendly conditions should be used for a while.

[Run Error]An uncaught exception occurred: Failed to load texture

Win11, i7 13700K, RTX 3060Ti
"cmake .. -DCMAKE_BUILD_TYPE=Release", RUN OK
"cmake --build . --config Release -j8 ", WARNING: "MSVCRT.lib(initializers.obj): warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs; use /NODEFAUL
TLIB:library"

Run Release/alien.exe
Error: An uncaught exception occurred: Failed to load texture

info bar

Info bar that displays general information (world size, zoom level, etc.), monitor data, and the log.

[Bug] Resizing & Camera Reset

When you change the resolution or change the windowed mode, it can happen that the titlebar now resides over the visible edge of the monitor/screen resolution, and now you can not move nor access the menu anymore and have to resort to Alt-F4 to close the window.

There is also an instance where if you zoom out and zoom back in, you basically lost the map, I don't know if its a scaling issue, it does seems like the scale factor doesn't get changed, would be maybe useful to have a menu function that auto-centers/resets the view/camera instance.

image

I obtained this problem several times, I deemed it to be my mistake because I thought It was me screwing too much with the resolutions and window mode, but happened now second time when I did a full screen to windowed switch to see if that fixed the map or camera view, it did not.

GUI freezes when I hit run

Seems similar to #16 . When I start the program I can move around, zoom in/out, load different sims, etc. When I hit run the interface freezes and the simulation doesn't run either. The menus still work but if I try to quit it gets stuck in an autosaving prompt. I checked the log and nothing seems funky, it registers sim start/stop commands fine and also registers camera movements, even though they don't happen.

I have a GeForce GTX 1060 3GB, which I know is less than the recommended memory, but I don't see why it would fail entirely since the task manager shows only ~2GB of video memory being used. I already tried reducing the number of blocks and threads, to no avail.

Substitute to forced Nvidia graphics card

From the videos I saw, I started loving ALiEn, but the problem is that I can't install it because I don't have an Nvidia graphics card. Someone know if there is a way to run it equally or there are other solutions that I can consider?

Problems on building the sources on Windows

i built the source by following the direction on readme but finally failed. and idk how to descripe my problem, so i share a screenshot which contains whole process i have done on cmd.
BIKP(QW0`1Q% 2PJ$LOMLNP

question about HashMap

as understand, steps of init HashMap, add some code in project:

  1. DynamicMemory dynamicMemoryArbiter;and init dynamicMemoryArbiter.init(100000000); in SimulationData
  2. before run kernel dynamicMemoryArbiter.reset();
  3. in ParticleProccesor in private section: add __shared__ HashMap<int2, Arbiter, HashFunctor<int2>> arbiterMap; where arbiter simple class.
  4. First lines of kernel init block:
_particleBlock = calcPartition(
            data.entities.particlePointers.getNumEntries(), threadIdx.x + blockIdx.x * blockDim.x, blockDim.x * gridDim.x);
if ( threadIdx.x + blockIdx.x * blockDim.x==0)  // try to init once for all threads
            arbiterMap.init_block(100000, _data->dynamicMemoryArbiter);
          __syncthreads();

  1. in threads of kernel
       int2 arbKey;
       arbKey.x=particle->id;
       arbKey.y=otherParticle->id;
       Arbiter arbiter(arbKey.x, arbKey.y, normal, contact);
        bool find=arbiterMap.insertOrAssign(arbKey, arbiter);

all code work, but last line of code (insert in Map) execute error, do you have some ideas where error or I use HashMap in not proper choice.
Thanks

Conflicting files

I'm trying to make a RPM for school out of a DEB only package. If I have to go back to Ubuntu I will but I can't get the package to install. I convert the DEB to a RPM and I get this error message when I install it.

   file /usr/share/mime from install of PacketTracer-8.2-2.x86_64 conflicts with file from package shared-mime-info-2.1-3.fc35.x86_64
   file /usr/share/mime/packages from install of PacketTracer-8.2-2.x86_64 conflicts with file from package shared-mime-info-2.1-3.fc35.x86_64
   file /usr/share/icons from install of PacketTracer-8.2-2.x86_64 conflicts with file from package appimagelauncher-2.2.0-travis995~0f91801.x86_64
   file /usr/share/mime from install of PacketTracer-8.2-2.x86_64 conflicts with file from package appimagelauncher-2.2.0-travis995~0f91801.x86_64
   file /usr/share/mime/packages from install of PacketTracer-8.2-2.x86_64 conflicts with file from package appimagelauncher-2.2.0-travis995~0f91801.x86_64
   file /opt from install of PacketTracer-8.2-2.x86_64 conflicts with file from package filesystem-3.18-2.fc36.x86_64
   file /usr from install of PacketTracer-8.2-2.x86_64 conflicts with file from package filesystem-3.18-2.fc36.x86_64
   file /usr/share from install of PacketTracer-8.2-2.x86_64 conflicts with file from package filesystem-3.18-2.fc36.x86_64
   file /usr/share/applications from install of PacketTracer-8.2-2.x86_64 conflicts with file from package filesystem-3.18- 
   2.fc36.x86_64
   file /usr/share/icons from install of PacketTracer-8.2-2.x86_64 conflicts with file from package filesystem-3.18-2.fc36.x86_64

Add support for a "windowed" mode

On Linux, full-screen doesn't always provide a smooth experience (different window managers, Wayland vs X11, ...)

I can see a few ideas to improve this:

  1. Default to the desktop resolution (ie. don't try to change the video mode). This would avoid issues with the video mode not being properly restore on exit/crash.

  2. Add a "full-screen" option. Turning this off would switch to a "windowed" mode, which doesn't involve video mode changes and it's also a lot more convenient for debugging (at least on single monitor setups)

Thoughts?

OSX support

Is there any likelihood that we could auto build for Mac for each release?

Has there been a known working mac compilation yet?

[Feature Request] New Cell Idea's

I would like to throw in some idea's for cell variants, I used GPT to work out the mechanics in more details.


Logic Gate Cell

image

Description:
The Logic-Gate Cell is a versatile cell type that allows the organism to perform logical operations on incoming data. It combines various logic gates, including NOT, AND, OR, XOR, NAND, and more, into a single cell. This cell enhances the organism's ability to process information and make decisions based on logical conditions.

GUI:

  • A dropdown menu in the GUI lets users choose from available logical operations (e.g., AND, XOR) and configure the cell accordingly.

Mechanics:

  • The Logic-Gate Cell supports multiple logical operations, each corresponding to a specific input/output channel.
  • It can perform NOT, AND, OR, XOR, NAND, and other logical operations based on its configuration.
  • Each logical operation can have its own set of input and output channels.

Input/Output Mechanism (Sample):

  • Input 1: Input for the first operand of the logic gate operation.
  • Input 2: Input for the second operand of the logic gate operation (if applicable).
  • Output 1: Output channel for the result of the logic gate operation.

Usage Example:

  1. Neighboring cells send binary data to the Logic-Gate Cell's input channels.
  2. The Logic-Gate Cell performs the specified logical operation (e.g., AND, XOR) on the input data.
  3. The result of the logic operation is sent to the output channel (Output 1) and transmitted to neighboring cells.

Customization:

  • The Logic-Gate Cell can be configured to perform specific logical operations (e.g., AND, OR, XOR) based on user-defined settings.
  • The user can specify which logical operation should be executed by adjusting the cell's parameters.

Integration with Existing Cells:

  • The Logic-Gate Cell can be integrated into the organism's neural network, allowing it to make decisions, control movements, or respond to environmental conditions based on logical conditions.
  • It can work in conjunction with other cells, such as sensor cells for data input and muscle cells for executing actions based on logical outcomes.

Advantages:

  • Enables complex decision-making processes within the organism.
  • Supports a wide range of logical operations for versatile behavior.
  • Enhances adaptability and responsiveness to environmental cues.

The Logic-Gate Cell provides the organism with the capability to process data logically, make decisions based on conditions, and execute actions accordingly. It is a valuable addition for organisms aiming to exhibit intelligent behaviors.


Memory Cell

The Memory Cell is a specialized cell designed to store and recall information over time.
It acts as a form of data storage within the organism, allowing it to retain and retrieve data as needed.
This cell enhances the organism's ability to process information and adapt to changing conditions.

Mechanics:

  • The Memory Cell has two main functions: write and read.

  • Write Function: When activated (Input 1 set to 1)
    The Memory Cell can receive data from neighboring cells and store it for future use. The data to be stored is typically binary (0 or 1).

  • Read Function: When activated (Output 1 set to 1)
    The Memory Cell retrieves and outputs the stored data to neighboring cells. The retrieved data can then be used for various purposes by other cells.

Input/Output Mechanism:

  • Input 1 (Write data): This input channel allows neighboring cells to send data to the Memory Cell for storage. When Input 1 is set to 1, it indicates that data is available for writing. The Memory Cell will store the received data.
  • Output 1 (Read data): This output channel enables the Memory Cell to transmit the stored data to neighboring cells. When Output 1 is set to 1, it indicates that the Memory Cell is reading and sending out the stored data.

Usage Example:

  1. Neighboring cells send data to the Memory Cell by activating Input 1.
  2. The Memory Cell stores the received data.
  3. Other cells can request the stored data by activating Output 1.
  4. The Memory Cell responds by transmitting the stored data to requesting cells.

Capacity:

  • The Memory Cell can typically store a limited amount of binary data, such as a sequence of 0s and 1s.
    The specific storage capacity can be set as needed, depending on the organism's requirements.

Advantages:

  • Enhances the organism's ability to retain and utilize information.
  • Facilitates adaptability and decision-making based on historical data.
  • Enables more complex and intelligent behaviors in the organism's responses to its environment.

Integration with Existing Cells:

  • The Memory Cell seamlessly integrates with other cell types, allowing them to access and utilize stored data for their functions.
  • It can be used in conjunction with sensor cells to remember environmental cues, with neuron cells for decision-making, or with muscle cells for adaptive movements, among other possibilities.

A Memory Cell provides the organism with the capability to learn from experience, retain valuable information, and adapt more effectively to changing conditions.


Hibernation Cell

d417ba4be5c623dc58af5d35004cea2d

Description:
The Hibernation Cell is a specialized cell type that allows an organism to enter a dormant or hibernation state under certain conditions. This state conserves energy and reduces activity, providing advantages in survival during unfavorable environmental conditions or low energy availability.

Mechanics:

  • The Hibernation Cell can be configured to enter hibernation mode when specific conditions are met.
  • It can control the organism's energy consumption, activity level, and responsiveness.
  • The cell's behavior is adaptable and can be fine-tuned to the organism's requirements.

Input/Output Mechanism (Sample):

  • Input 1: Activation trigger for entering hibernation mode (e.g., low energy levels).
  • Output 1: Indicates the hibernation state (1 for active, 0 for hibernating).

Usage Example:

  1. The Hibernation Cell continuously monitors the organism's energy levels (level would be the sum of the entire genome).
  2. When energy levels drop below a predefined threshold (configured through the GUI), the cell triggers hibernation mode.
  3. During hibernation, the organism reduces its activity, conserves energy, and becomes less responsive to stimuli.
  4. When energy levels recover or environmental conditions improve, the Hibernation Cell exits hibernation mode and resumes normal activity.

Integration with Existing Cells:

  • The Hibernation Cell can be integrated into the organism's overall energy management strategy.
  • It can work in conjunction with energy-generating cells (e.g., Transmitter Cells) to optimize energy conservation and utilization.

Advantages:

  • Increases organism's chances of survival during energy scarcity or adverse environmental conditions.
  • Provides flexibility in energy management strategies.
  • Offers adaptability to different environmental scenarios.

Pheromone Cell

image

Description:
The Pheromone Cell is a specialized cell variant that allows organisms to leave a trail of pheromones as they move through their environment. This trail of pheromones serves as a form of communication and navigation for other cells within the organism. Cells with the Pheromone Cell variant can detect and follow these pheromone trails, enabling coordinated movement and decision-making within the organism.

Mechanics:

  • The Pheromone Cell emits and senses pheromone concentrations in its environment.
  • As the Pheromone Cell moves, it releases pheromones into its surroundings.
  • Pheromones persist for a certain duration and decay over time.
  • Other cells, equipped with specialized receptors, can detect and respond to pheromone concentrations in their proximity.

Input/Output Mechanism:

  • Input 1: Activation input to control pheromone emission (e.g., 1 for emitting, 0 for idle).
  • Output 1: Output channel for sensing pheromone concentrations in the environment.

Trail Pheromone Mechanics:

  • When activated (Input 1 set to 1), the Pheromone Cell releases pheromones into its surroundings.
  • Pheromone concentrations are detected through Output 1.
  • Cells equipped with Pheromone Receptor Cells can follow these pheromone trails to navigate and coordinate their actions.
  • Pheromones persist for a set duration before gradually decaying, allowing for dynamic trail formation.

Usage Example:

  1. A Pheromone Cell detects a valuable resource or identifies a path of interest.
  2. The Pheromone Cell activates (Input 1 set to 1) to release a trail of pheromones.
  3. Nearby cells equipped with Pheromone Receptor Cells sense the pheromone concentrations through their Input channels.
  4. Cells that detect the pheromone trail can follow it to reach the resource or destination.

Customization:

  • Users can customize the duration of pheromone persistence, influencing how long the trail remains detectable.
  • The activation threshold for emitting pheromones (e.g., Input 1 threshold) can be adjusted based on the desired behavior.

Integration with Existing Cells:

  • The Pheromone Cell can be integrated into an organism's network to enable coordinated movement and resource discovery.
  • Pheromone Receptor Cells, equipped on other cells, can receive and respond to pheromone concentrations, allowing them to follow trails and make decisions based on environmental cues.

Advantages:

  • Facilitates communication and coordination among cells within the organism.
  • Supports trail-based navigation and resource discovery.
  • Enhances the organism's ability to adapt to changing environments.

The Pheromone Cell variant, with its trail pheromone mechanics, introduces a unique form of communication and navigation within the organism. Cells can follow pheromone trails to reach specific destinations or coordinate their actions effectively.


Symbiotic Cell

New Project (35)(98)

Forms mutually beneficial relationships with other cells or organisms, sharing resources or protection.

Input 1: Establish symbiotic relationship (0 or 1)
Output 1: Symbiosis status (0 or 1)

Functionality:
The Symbiotic Cell specializes in establishing symbiotic relationships with neighboring cells or organisms within the simulated environment. These relationships are mutually beneficial and serve various purposes, such as resource sharing or protection.

Input 1 (Establish symbiotic relationship):

  • When Input 1 is set to 1, the Symbiotic Cell actively seeks neighboring cells or organisms with which to establish a symbiotic relationship. It assesses the compatibility and potential benefits of such a relationship.

  • Input 1 is set to 0 when the cell wants to terminate an existing symbiotic relationship or remain independent.

Output 1 (Symbiosis status):

  • When a symbiotic relationship is successfully established, Output 1 is set to 1, indicating the active symbiosis status. This means that the Symbiotic Cell is currently benefiting from the relationship.

  • Output 1 is set to 0 when the cell is not engaged in any symbiotic relationship or when an existing relationship is terminated.

Use Cases:

  1. Resource Sharing: In a symbiotic relationship, the Symbiotic Cell can share resources such as energy, nutrients, or genetic material with its partner. This enhances the survival and reproduction chances of both cells.

  2. Protection: Symbiotic relationships can also provide protection, where one cell may shield the other from predators or environmental threats. This protective behavior can be vital for the organism's overall survival.

  3. Genetic Exchange: Some symbiotic relationships involve the exchange of genetic material, promoting genetic diversity and potentially leading to the evolution of new traits or abilities.

  4. Coordinated Activities: Symbiotic partners may coordinate their activities, such as hunting, defense, or foraging, to increase their efficiency in the environment.

The Symbiotic Cell's ability to establish and maintain these mutually beneficial relationships adds complexity and strategic depth to the simulated organisms, enabling them to adapt and thrive in diverse environmental conditions.

cuda error in 4.0 alpha when trying to download from browser.

2023-01-18 16-37-17: set full screen mode
2023-01-18 16-37-17: network: get simulation list
2023-01-18 16-37-21: 1 CUDA device found
2023-01-18 16-37-21: device 0: NVIDIA GeForce RTX 3070 Ti with compute capability 8.6
2023-01-18 16-37-21: device 0 is set
2023-01-18 16-37-24: initialize simulation
2023-01-18 16-37-25: resize arrays
2023-01-18 16-37-25: cell array size: 200000
2023-01-18 16-37-25: particle array size: 200000
2023-01-18 16-37-25: token array size: 66666
2023-01-18 16-37-25: 760 MB GPU memory acquired
2023-01-18 16-37-39: network: download simulation with id=125
2023-01-18 16-37-43: close simulation
2023-01-18 16-37-43: initialize simulation
2023-01-18 16-37-43: The following exception occurred: CUDA error at C:\alien\source\EngineGpuKernels\CudaMemoryManager.cuh:30 code=2(cudaErrorMemoryAllocation) "cudaMalloc(&result, sizeof(T)*arraySize)"

Here is the log.txt

vcpkg install --failed while trying to generate project files

I keep getting "vcpkg install --failed" while I am trying to generate project files both in Windows 10 and Ubuntu.

Any help please? Thank you.

EDIT: I hate C++ projects for this specific reason. They simply don't work 99% of the time. Sure, I maybe novice, but there are simply too many package managers, compilers and build tool chain BS. What to learn, what to ignore? I simply want to build a project and just understand the source code. It is that simple. But that is a tall order in C++ ecosystem. Just by building the project, you lose all the motivation to even bother looking at the code, because you get tired.

Simulation not starting

I've downloaded the installer and installed the simulation but when I try to run it, it opens but crashes right after.
Can you help me with this?

Build error on POP! OS 21.10

I installed all the required dependencies and followed the instructions on the Readme, and I had no problem, but it failed in the last step cmake --build . --config Release -j8.

The error message is

[  9%] Built target alien_base_lib
[  9%] Built target im_file_dialog
[ 10%] Building CUDA object source/EngineGpuKernels/CMakeFiles/alien_engine_gpu_kernels_lib.dir/CudaSimulationFacade.cu.o
[ 18%] Built target alien_engine_interface_lib
/home/jjd/REPOS/alien/source/EngineGpuKernels/CudaSimulationFacade.cu(46): error: variable "instance" was declared but never referenced

1 error detected in the compilation of "/home/jjd/REPOS/alien/source/EngineGpuKernels/CudaSimulationFacade.cu".
gmake[2]: *** [source/EngineGpuKernels/CMakeFiles/alien_engine_gpu_kernels_lib.dir/build.make:95: source/EngineGpuKernels/CMakeFiles/alien_engine_gpu_kernels_lib.dir/CudaSimulationFacade.cu.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:358: source/EngineGpuKernels/CMakeFiles/alien_engine_gpu_kernels_lib.dir/all] Error 2

POP! OS is based on Ubuntu Impish, the GPU is a GeForce GTX 1060 6GB with nvidia470 driver.

Please ask any other information you need for better understand the issue.

Thanks in advance.

CUDA error at CudaSimulationFacade.cu:179

Hi, I'm getting this error right after running the simulator. I can see first the window and then the logo flashscreen, but then it aborts. Any idea?

Issue
When running alien I get the following error:

The following exception occurred: CUDA error at CudaSimulationFacade.cu:179 code=999(cudaErrorUnknown) "cudaGraphicsGLRegisterImage(&cudaResource, image, GL_TEXTURE_2D, cudaGraphicsMapFlagsReadOnly)"

See log.txt for more detailed information.
terminate called after throwing an instance of 'BugReportException'
  what():  CUDA error at RawMemory.cuh:52 code=1(cudaErrorInvalidValue) "cudaMemcpy(&data, _data, sizeof(unsigned char*), cudaMemcpyDeviceToHost)"
Aborted (core)

Context
I'm running on Linux Ubuntu 22.04.1 LTS
My GPU is a RTX3060 (laptop)

gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0

Rendering broken on Nvidia 10 series (1080ti & 1070ti)

When first started can pan, zoom, edit, etc. But, as soon as Run is hit, rendering completely breaks: scroll bars indicate zoom is working, but display never updates.

In addition, once Run is clicked program hangs on exit (one CPU is pegged at 100%), regardless of whether running or paused.

Have updated to current CUDA (11.3.1) and current NVidia driver (466.77) with no luck.

I am running a 1070ti. Other reports of 1070ti and 1080ti failures can be found on Hacker News here.

Unable to run examples

I installed this program via the provided installer on windows. The program starts, but running the default simulation or loading another simulation will cause the program to freeze. Is there anything I can do to troubleshoot this? I have a GTX 1070.

Failed to load texture

I'm trying to build the project on Windows. After following the instructions in the readme, I appear to succeed and get an executable in the 'build/Release' folder, but when I try to run it it immediately closes and writes the following in the log file:

2023-02-20 16-04-50: set full screen mode
2023-02-20 16-04-50: The following exception occurred: Failed to load texture

I am running Windows 10 64-bit. I have Visual Studio 2022 version 17.1.2 installed and CUDA version 11.6.

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.