Jump to content

Lukas Sedlak

Community Newbie
  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Lukas Sedlak's Achievements


Tiro (1/14)



  1. Hello everyone, I am developing my own AI based on distribution functions, thus I would like to create and use big array of 8 GB. I already have 16 GB of RAM, thus HW is not problem. I was able to create empty AI skeleton from PetraBot and run it inside 0ad (the AI does nothing, all units just stand there, no errors displayed in F9 console). However, I am unable to create a 8 GB array. When I try using following code in the CustomInit() function this.myArray = []; this.myArray.length = 8000000000; for (var i = 0; i < 8000000000; i++) { this.myArray[i] = 1; } I get error in F9 console error: JavaScript error: simulation/ai/waiting/_waitingbot.js line 47 error: RangeError: invalid array length error: m.WaitingBot.prototype.CustomInit@simulation/ai/waiting/_waitingbot.js:47:9 error: m.BaseAI.prototype.Init@simulation/ai/common-api/baseAI.js:45:2 error: m.InitGame@simulation/helpers/InitGame.js:80:2 I asked uncle Google and it looks like there is memory limit in JavaScript interpreters. Indeed, if I lower the array size to 1GB, no error happens in the F9 console. The JavaScript interpreters allow to set the memory limit on command line, for example node --max-old-space-size=8000 yourScript.js but since 0ad is written in C++ and runs a JavaScript interpreter internally, I can NOT configure it. Thus the question: How to increase memory limit for 0ad's JavaScript interpreter? I am using Ubuntu 16.04 LTS. I compiled 0ad from SVN successfully. I already read official documentation about AI development under 0ad and I also tried to search this forum, but no luck. I would be really grateful for any advice.
  • Create New...