Jump to content

JuKu96

Community Members
  • Posts

    80
  • Joined

  • Last visited

Everything posted by JuKu96

  1. Thank you! I have change it!
  2. If I want to save a game with an AI, the save fails! Before I get the save dialog or an error message, the game crashes! Windows gets an error message. The AI in Alpha 17 is to hard, in my opinion. Can anybody say me what to do?
  3. Update to Release 17 - Make the AI to an Mod yesterday the dev team released the new Alpha Version 17, this version comes with some changes, also with the mod system. The game has an integrated mod system now, you can add mods in the config dialog, if they are in the correct directory. To make the AI as an mod, we have to create an file mod.json in the first mod directory, e.q. mods/<Module Name>/mod.json with the following code: { "name": "<Module Name>", "version": "0.0.17", "label": "A new AI for 0 A.D.", "url": "<Website>", "description": "A new AI for 0 A.D.", "dependencies": ["0ad=0.0.17"], "type": "ai" } Thanks to niektb and leper! The version is the version of the game, not of your mod! 0.0.17 means the game version Alpha 17. I have add the 0ad dependency, because there can also exists any other pyrogenesis games. Is this correct?
  4. The Update Loop How does an AI works? Every AI has an update loop, an method, which is executed every n seconds or milliseconds. We have set the difficulty from the game settings dialog, which calculate the interval time and balancing it in this code lines: this.Config = new m.Config(); this.Config.updateDifficulty(<Difficulty>); this.Config.personality = settings.personality; The update loop in an ai is the most important method of an AI. In this method the AI will be moved Units, build buildings and so on. We want to use the onUpdate Event and add the following lines to the file newai.js: m.NewAI.prototype.OnUpdate = function(sharedScript) { /* If the game has finished, the AI hasnt to do anything. */ if (this.gameFinished){ return; } //Your update code }; Important!: The this Object in Javascript is not the same as in Java! this is in Javascript the reference object, which represented the function, which has executed the current Javascript function. Every Javascript function has the hidden argument this. this is an reference. Source: http://www.mediaevent.de/javascript/this.html Now my complete file newai.js contains the following code.
  5. thanks! I will be try it. Where is the update loop in der AI scripts?
  6. Yes, I played with an AI. But makes it sense to play an single player game without an AI? It often fails to save the game.
  7. At the second start of the game the game loads faster! But if I would save the game I get this error message: Function call failed: return value was -100407 (Symbol nesting too deep or infinite recursion)Location: wdbg_sym.cpp:1455 (udt_dump_normal)Call stack:While generating an error report, we encountered a second problem. Please be sure to report both this and the subsequent error messages.errno = 34 (?)OS error = 0 (no error code was set)The second error message was error while formatting the error message.What means this error message?
  8. I have download the source from the svn repo and tried out the development version alpha 17, but i think the alpha 17 has many performance problems? Alpha 16 loads faster than 1 sec., Alpha 17 needs more than 6 seconds, by loading or creating a new game, its the same. At the loading the ui is also not loaded completly, the ui itself will be loaded by loading a game. If I have loaded a game, the textures arent load, the load in the next 6 seconds. Is this only in the development version causes by compilation or no zipping? I attached 3 images.
  9. I want to save a game, but now I get the following error message: Assertion failed: "p == start"Location: archive_zip.cpp:500 (ArchiveReader_Zip::FindRecord)Call stack:ArchiveReader_Zip::FindRecord (archive_zip.cpp:500) buf = 0x30291000 -> [8] { 57 (0x39), 218 (0xDA), 39 (0x27), 178 (0xB2), 199 (0xC7), 248 (0xF8), 68 (0x44), 118 (0x76) } size = 66000 (0x000101D0) start = 0x30291000 (see above) magic = 101010256 (0x06054B50) recordSize = 22 (0x00000016)ArchiveReader_Zip::ScanForEcdr (archive_zip.cpp:525) file = 0x2FDFE04C -> px = 0x256260E8 -> pathname = path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) separator = [8] { 92 ('\'), 0, 8, 0, 0, 0, 22642, 24164 } fd = 8 (0x00000008) oflag = 0 (0x00000000) pn = pi_ = 0x30041DE8 -> use_count_ = 1 (0x00000001) weak_count_ = 1 (0x00000001) fileSize = 1343488 (0x0000000000148000) buf = 0x30291000 (see above) maxScanSize = 66000 (0x000101D0) cd_numEntries = 0x007EDF00 -> 0 (0x00000000) cd_ofs = 0x007EDEF4 -> 0 (0x0000000000000000) cd_size = 0x007EDF0C -> 0 (0x00000000) op = fd = 8 (0x00000008) opcode = 6 (0x00000006) offset = 1277488 (0x0000000000137E30) size = 66000 (0x00000000000101D0) buf = 0x30291000 (see above)ArchiveReader_Zip::LocateCentralDirectory (archive_zip.cpp:543) file = 0x2FDFE04C (see above) fileSize = 1343488 (0x0000000000148000) cd_ofs = 0x007EDEF4 (see above) cd_numEntries = 0x007EDF00 (see above) cd_size = 0x007EDF0C (see above) op = fd = 4316895 (0x0041DEDF) opcode = 4294967294 (0xFFFFFFFE) offset = 8620699968734421900 (0x77A2E0F277A2E38C) size = 69522677832 (0x000000102FDFE048) buf = 0x77A2E046 buf = address_ = 807997442 (0x30291002) size_ = 66000 (0x000101D0) status_ = 3469718847096021027 (0x3026EAE877A2E023)ArchiveReader_Zip::ReadEntries (archive_zip.cpp:450) this = (unavailable) cb = 0x00344740 -> (CGameLoader::ReadEntryCallback) cbData = 8314872 (0x007EDFF8) cd_size = 0 (0x00000000) pos = 0x5B08C0E8 -> (unavailable - internal error) op = fd = 4713029 (0x0047EA45) opcode = 803201096 (0x2FDFE048) offset = 276405207140 (0x000000405B08C064) size = 628448336 (0x0000000025755C50) buf = 0x2FDFE048 buf = address_ = 8314608 (0x007EDEF0) size_ = 1934376632 (0x734C3EB8) cd_numEntries = 0 (0x00000000) cd_ofs = 0 (0x0000000000000000) status_ = 8314912 (0x00000000007EE020) i = 8314616 (0x007EDEF8) relativePathname = path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) separator = 57416 name = path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) separator = 57376 archiveFile = px = 0x007EE020 -> (IFileLoader) m_file = px = 0x30041D28 -> pathname = path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) separator = [8] { 0, 16256, 0, 16256, 0, 16256, 60826, 20498 } fd = 1065353216 (0x3F800000) oflag = 1065353216 (0x3F800000) pn = pi_ = 0x00000040 m_ofs = 8315064 (0x00000000007EE0B8) m_csize = 1119148218253312000 (0x0F88036000000000) m_checksum = 703221344 (0x29EA4E60) m_method = 20160 (0x4EC0) m_flags = 10730 (0x29EA) pn = pi_ = 0x00000000 fileInfo = name = path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) separator = 57376 size = 35711605102534688 (0x007EDF84007EE020) mtime = 5045259 (0x00000000004CFC0B)SavedGames::GetSavedGames (savedgame.cpp:225) scriptInterface = 0x25755C50 -> m_CxPrivate = { pScriptInterface = 0x25755C50 (see above), pCBData = 0x00740072 } m = (auto_ptr<ScriptInterface_impl>) m_rng = 0x007A0074 -> lcf = _x = (unavailable - internal error) m_CustomObjectTypes = (unsupported map<basic_string<char,char_traits<char> >,ScriptInterface::CustomType >) pathnames = (unsupported vector<Path >) LINE_194_ = m_t0 = 160.578 (0x4064127CB0274C4D) m_description = 0x0050D538 -> "GetSavedGames" i = 2 (0x00000002) loader = m_ScriptInterface = 0x25755C50 (see above) m_Metadata = 0x007EE034 -> m_Val = px = 0x00000000 pn = pi_ = 0x00000000 m_SavedState = 0x00000000 archiveReader = px = 0x2FDFE048 (see above) pn = pi_ = 0x30041D28 (see above) game = m_Val = px = 0x30116C30 -> data = asBits = -518929980512 (0xFFFFFF872D5CE3A0) s = { payload = i32 = 761062304 (0x2D5CE3A0) u32 = 761062304 (0x2D5CE3A0) boo = 761062304 (0x2D5CE3A0) str = 0x2D5CE3A0 -> (JSString) obj = 0x2D5CE3A0 (see above) ptr = 0x2D5CE3A0 (see above) why = 761062304 word = 761062304 (0x2D5CE3A0) uintptr = 761062304 (0x2D5CE3A0), tag = JSVAL_TAG_OBJECT } asDouble = -1.#QNAN (0xFFFFFF872D5CE3A0) asPtr = 0x2D5CE3A0 (see above) pn = pi_ = 0x2FDFDF68 -> use_count_ = 1 (0x00000001) weak_count_ = 1 (0x00000001) realPath = path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) separator = 92 ('\') metadata = m_Val = px = 0x00000000 pn = pi_ = 0x00000000`anonymous namespace'::GetSavedGames (scriptfunctions.cpp:382) pCxPrivate = 0x25755C50 (see above)ScriptInterface_NativeWrapper<std::vector<CScriptValRooted,std::allocator<CScriptValRooted> > >::call<std::vector<CScriptValRooted,std::allocator<CScriptValRooted> > (__cdecl*)(ScriptInterface::CxPrivate *)> (nativewrapperdefns.h:33) cx = 0x2CC4E2B0 -> (JSContext) rval = 0x007EE0F0 -> data = asBits = -541165879296 (0xFFFFFF8200000000) s = { payload = i32 = 0 (0x00000000) u32 = 0 (0x00000000) boo = 0 (0x00000000) str = 0x00000000 obj = 0x00000000 ptr = 0x00000000 why = JS_ELEMENTS_HOLE word = 0 (0x00000000) uintptr = 0 (0x00000000), tag = JSVAL_TAG_UNDEFINED } asDouble = -1.#QNAN (0xFFFFFF8200000000) asPtr = 0x00000000 fptr = 0x00445950 -> (`anonymous namespace'::GetSavedGames)ScriptInterface::call<std::vector<CScriptValRooted,std::allocator<CScriptValRooted> >,&`anonymous namespace'::GetSavedGames> (nativewrapperdefns.h:103) cx = 0x2CC4E2B0 (see above) argc = 0 (0x00000000) vp = 0x04E071C8 -> data = asBits = -518930366080 (0xFFFFFF872D570180) s = { payload = i32 = 760676736 (0x2D570180) u32 = 760676736 (0x2D570180) boo = 760676736 (0x2D570180) str = 0x2D570180 -> (JSString) obj = 0x2D570180 (see above) ptr = 0x2D570180 (see above) why = 760676736 word = 760676736 (0x2D570180) uintptr = 760676736 (0x2D570180), tag = JSVAL_TAG_OBJECT } asDouble = -1.#QNAN (0xFFFFFF872D570180) asPtr = 0x2D570180 (see above) rval = data = asBits = -541165879296 (0xFFFFFF8200000000) s = { payload = i32 = 0 (0x00000000) u32 = 0 (0x00000000) boo = 0 (0x00000000) str = 0x00000000 obj = 0x00000000 ptr = 0x00000000 why = JS_ELEMENTS_HOLE word = 0 (0x00000000) uintptr = 0 (0x00000000), tag = JSVAL_TAG_UNDEFINED } asDouble = -1.#QNAN (0xFFFFFF8200000000) asPtr = 0x00000000 profile = (CProfileSampleScript)js::Invoke (interpreter.cpp:481) cx = 0x0F640D7A -> runtime_ = 0x8410C483 -> { needsBarrier_ = (unavailable - internal error) } (js::MallocProvider<JSRuntime>) mainThread = nativeStackLimit = (unavailable - internal error) runtime_ = (unavailable - internal error) ionTop = (unavailable - internal error) ionJSContext = (unavailable - internal error) ionStackLimit = (unavailable - internal error) activation_ = (unavailable - internal error) asmJSActivationStack_ = (unavailable - internal error) suppressGC = (unavailable - internal error) interrupt = (unavailable - internal error) operationCallbackLock = (unavailable - internal error) atomsCompartment = (unavailable - internal error) systemZone = (unavailable - internal error) zones = (js::SystemAllocPolicy) mBegin = (unavailable - internal error) mLength = (unavailable - internal error) mCapacity = (unavailable - internal error) storage = u = { bytes = (unavailable - internal error), _ = (unavailable - internal error) } numCompartments = (unavailable - internal error) localeCallbacks = (unavailable - internal error) defaultLocale = (unavailable - internal error) defaultVersion_ = (unavailable - internal error) ownerThread_ = (unavailable - internal error) tempLifoAlloc = first = (unavailable - internal error) latest = (unavailable - internal error) last = (unavailable - internal error) markCount = (unavailable - internal error) defaultChunkSize_ = (unavailable - internal error) curSize_ = (unavailable - internal error) peakSize_ = (unavailable - internal error) freeLifoAlloc = first = (unavailable - internal error) latest = (unavailable - internal error) last = (unavailable - internal error) markCount = (unavailable - internal error) defaultChunkSize_ = (unavailable - internal error) curSize_ = (unavailable - internal error) peakSize_ = (unavailable - internal error) (too much output; skipping to next top-level symbol) compartment_ = 0x9E840FC0 -> zone_ = (unavailable - internal error) options_ = zoneSpec = (unavailable - internal error) hasVersion = (unavailable - internal error) version = (unavailable - internal error) rt = (unavailable - internal error) principals = (unavailable - internal error) isSystem = (unavailable - internal error) marked = (unavailable - internal error) global_ = value = (unavailable - internal error) enterCompartmentDepth = (unavailable - internal error) lastCodeRelease = (unavailable - internal error) analysisLifoAlloc = first = (unavailable - internal error) latest = (unavailable - internal error) last = (unavailable - internal error) markCount = (unavailable - internal error) defaultChunkSize_ = (unavailable - internal error) curSize_ = (unavailable - internal error) peakSize_ = (unavailable - internal error) activeAnalysis = (unavailable - internal error) types = pendingArray = (unavailable - internal error) pendingCount = (unavailable - internal error) pendingCapacity = (unavailable - internal error) resolving = (unavailable - internal error) scriptCount = (unavailable - internal error) constrainedOutputs = (unavailable - internal error) pendingRecompiles = (unavailable - internal error) compiledInfo = outputIndex = (unavailable - internal error) allocationSiteTable = (unavailable - internal error) arrayTypeTable = (unavailable - internal error) objectTypeTable = (unavailable - internal error) typeCounts = [4] { (unavailable - internal error) typeCountOver = (unavailable - internal error) data = (unavailable - internal error) objectMetadataCallback = (unavailable - internal error) crossCompartmentWrappers = impl = (js::SystemAllocPolicy) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) lastAnimationTime = (unavailable - internal error) regExps = map_ = impl = runtime = (unavailable - internal error) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) inUse_ = impl = runtime = (unavailable - internal error) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) propertyTree = compartment = (unavailable - internal error) baseShapes = impl = (js::SystemAllocPolicy) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) initialShapes = impl = (js::SystemAllocPolicy) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) newTypeObjects = impl = (js::SystemAllocPolicy) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) lazyTypeObjects = impl = (js::SystemAllocPolicy) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) callsiteClones = impl = (js::SystemAllocPolicy) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) gcIndex = (unavailable - internal error) gcIncomingGrayPointers = (unavailable - internal error) gcLiveArrayBuffers = (unavailable - internal error) gcWeakMapList = (unavailable - internal error) debugModeBits = (unavailable - internal error) dtoaCache = d = (unavailable - internal error) base = (unavailable - internal error) s = (unavailable - internal error) rngState = (unavailable - internal error) debuggees = impl = (js::SystemAllocPolicy) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) watchpointMap = (unavailable - internal error) scriptCountsMap = (unavailable - internal error) debugScriptMap = (unavailable - internal error) debugScopes = (unavailable - internal error) enumerators = (unavailable - internal error) compartmentStats = (unavailable - internal error) ionCompartment_ = (unavailable - internal error) zone_ = 0x8B000015 -> { needsBarrier_ = (unavailable - internal error) } gcNextGraphNode = (unavailable - internal error) gcNextGraphComponent = (unavailable - internal error) gcDiscoveryTime = (unavailable - internal error) gcLowLink = (unavailable - internal error) (js::MallocProvider<JS::Zone>) rt = (unavailable - internal error) allocator = zone_ = (unavailable - internal error) arenas = freeLists = [21] first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) ... arenaLists = [21] head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) ... backgroundFinalizeState = [21] (unavailable - internal error) arenaListsToSweep = [21] (unavailable - internal error) gcShapeArenasToSweep = (unavailable - internal error) compartments = (js::SystemAllocPolicy) mBegin = (unavailable - internal error) mLength = (unavailable - internal error) mCapacity = (unavailable - internal error) storage = u = { bytes = (unavailable - internal error), _ = (unavailable - internal error) } hold = (unavailable - internal error) ionUsingBarriers_ = (unavailable - internal error) active = (unavailable - internal error) gcScheduled = (unavailable - internal error) gcState = (unavailable - internal error) gcPreserveCode = (unavailable - internal error) gcBytes = (unavailable - internal error) gcTriggerBytes = (unavailable - internal error) gcMaxMallocBytes = (unavailable - internal error) gcHeapGrowthFactor = (unavailable - internal error) isSystem = (unavailable - internal error) scheduledForDestruction = (unavailable - internal error) maybeAlive = (unavailable - internal error) gcMallocBytes = (unavailable - internal error) gcGrayRoots = (js::SystemAllocPolicy) mBegin = (unavailable - internal error) mLength = (unavailable - internal error) mCapacity = (unavailable - internal error) storage = u = { bytes = (unavailable - internal error), _ = (unavailable - internal error) } data = (unavailable - internal error) types = zone_ = (unavailable - internal error) typeLifoAlloc = first = (unavailable - internal error) latest = (unavailable - internal error) last = (unavailable - internal error) markCount = (unavailable - internal error) defaultChunkSize_ = (unavailable - internal error) curSize_ = (unavailable - internal error) peakSize_ = (unavailable - internal error) pendingNukeTypes = (unavailable - internal error) inferenceEnabled = (unavailable - internal error) (js::MallocProvider<js::ThreadSafeContext>) contextKind_ = 10233012 perThreadData = 0x4C8B0000 -> nativeStackLimit = (unavailable - internal error) runtime_ = (unavailable - internal error) ionTop = (unavailable - internal error) ionJSContext = (unavailable - internal error) ionStackLimit = (unavailable - internal error) activation_ = (unavailable - internal error) asmJSActivationStack_ = (unavailable - internal error) suppressGC = (unavailable - internal error) allocator_ = 0x548B2824 -> zone_ = (unavailable - internal error) arenas = freeLists = [21] first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) first = (unavailable - internal error) last = (unavailable - internal error) ... arenaLists = [21] head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) head = (unavailable - internal error) cursor = (unavailable - internal error) ... backgroundFinalizeState = [21] (unavailable - internal error) arenaListsToSweep = [21] (unavailable - internal error) gcShapeArenasToSweep = (unavailable - internal error) next = 0xC6833024 -> next = (unavailable - internal error) prev = (unavailable - internal error) isSentinel = (unavailable - internal error) prev = 0xF8468DF8 -> next = (unavailable - internal error) prev = (unavailable - internal error) isSentinel = (unavailable - internal error) isSentinel = (bool)0x50 throwing = (bool)0xE8 exception = data = asBits = 2604334616567645183 (0x2424748910C483FF) s = { payload = i32 = 281314303 (0x10C483FF) u32 = 281314303 (0x10C483FF) boo = 281314303 (0x10C483FF) str = 0x10C483FF -> (js::gc::Cell) d = lengthAndFlags = 0 (0x00000000) u1 = { chars = 0x00000000, left = 0x00000000 } inlineStorage = [4] { [8] { 0, 0, 0, 0, 0, 0, 0, 0 }, 0, 0, 0 } s = u2 = base = 0x00000000 right = 0x00000000 capacity = 0 (0x00000000) externalFinalizer = 0x00000000 u3 = { parent = 0x00000000, reserved = 0 (0x00000000) } obj = 0x10C483FF (see above) ptr = 0x10C483FF (see above) why = 281314303 word = 281314303 (0x10C483FF) uintptr = 281314303 (0x10C483FF), tag = 606368905 } asDouble = 1.40714e-134 (0x2424748910C483FF) asPtr = 0x10C483FF (see above) options_ = 959 (0x000003BF) reportGranularity = 3335448832 (0xC6CEE900) resolvingList = 0xE853FFFF -> context = (unavailable - internal error) object = (js::HandleBase<JSObject *>) ptr = (unavailable - internal error) id = (js::HandleBase<int>) ptr = (unavailable - internal error) kind = (unavailable - internal error) link = (unavailable - internal error) generatingError = (bool)0xC6 enterCompartmentDepth_ = 3909403779 (0xE904C483) savedFrameChains_ = (js::SystemAllocPolicy) mBegin = 0x30244C8B -> { compartment = 0x00000049, enterCompartmentCount = 3193984 (0x0030BC80) } mLength = 1474619478 (0x57E4E856) mCapacity = 1284243455 (0x4C8BFFFF) storage = u = { bytes = [8] { [8] { 36 ('$'), 112 ('p'), 141, 132, 36 ('$'), 0, 4, 0 }, 112 ('p'), 141, 132, 36 ('$'), 0, 4, 0 }, _ = 1126056749527076 (0x00040024848D7024) } defaultCompartmentObject_ = 0xFFE85000 -> (js::gc::Cell) shape_ = value = (unavailable - internal error) other = (unavailable - internal error) type_ = value = (unavailable - internal error) other = (unavailable - internal error) slots = (unavailable - internal error) elements = (unavailable - internal error) cycleDetectorSet = impl = cx_ = 0x8BFFFCC3 -> runtime_ = (unavailable - internal error) compartment_ = (unavailable - internal error) zone_ = (unavailable - internal error) (js::MallocProvider<js::ThreadSafeContext>) contextKind_ = (unavailable - internal error) perThreadData = (unavailable - internal error) allocator_ = (unavailable - internal error) next = (unavailable - internal error) prev = (unavailable - internal error) isSentinel = (unavailable - internal error) throwing = (unavailable - internal error) exception = data = asBits = (unavailable - internal error) s = { payload = i32 = (unavailable - internal error) u32 = (unavailable - internal error) boo = (unavailable - internal error) str = (unavailable - internal error) obj = (unavailable - internal error) ptr = (unavailable - internal error) why = (unavailable - internal error) word = (unavailable - internal error) uintptr = (unavailable - internal error), tag = (unavailable - internal error) } asDouble = (unavailable - internal error) asPtr = (unavailable - internal error) options_ = (unavailable - internal error) reportGranularity = (unavailable - internal error) resolvingList = (unavailable - internal error) generatingError = (unavailable - internal error) enterCompartmentDepth_ = (unavailable - internal error) savedFrameChains_ = (js::SystemAllocPolicy) mBegin = (unavailable - internal error) mLength = (unavailable - internal error) mCapacity = (unavailable - internal error) storage = u = { bytes = (unavailable - internal error), _ = (unavailable - internal error) } defaultCompartmentObject_ = (unavailable - internal error) cycleDetectorSet = impl = cx_ = (unavailable - internal error) hashShift = (unavailable - internal error) entryCount = (unavailable - internal error) gen = (unavailable - internal error) removedCount = (unavailable - internal error) table = (unavailable - internal error) entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) errorReporter = (unavailable - internal error) operationCallback = (unavailable - internal error) data = (unavailable - internal error) data2 = (unavailable - internal error) outstandingRequests = (unavailable - internal error) resolveFlags = (unavailable - internal error) iterValue = data = asBits = (unavailable - internal error) s = { payload = i32 = (unavailable - internal error) u32 = (unavailable - internal error) boo = (unavailable - internal error) str = (unavailable - internal error) obj = (unavailable - internal error) ptr = (unavailable - internal error) why = (unavailable - internal error) word = (unavailable - internal error) uintptr = (unavailable - internal error), tag = (unavailable - internal error) } asDouble = (unavailable - internal error) asPtr = (unavailable - internal error) jitIsBroken = (unavailable - internal error) innermostGenerator_ = (unavailable - internal error) hashShift = 1359514368 (0x51088B00) entryCount = 1284097163 (0x4C89C48B) gen = 2370910244 (0x8D513824) removedCount = 8922260 (0x00882494) table = 0x10890000 -> keyHash = 0 (0x00000000) mem = u = { bytes = [4] { [8] { 255, 255, 255, 255, 170, 170, 170, 170 }, 255, 255, 255 }, _ = -6148914689804861441 (0xAAAAAAAAFFFFFFFF) } entered = (mozilla::DebugOnly<bool>) mutationCount = (mozilla::DebugOnly<unsigned __int64>) errorReporter = 0x89513C24 -> operationCallback = 0x8DC48B08 -> data = 0x537C2454 data2 = 0xD3E81089 outstandingRequests = 2197818010 (0x83000A9A) resolveFlags = 3229880516 (0xC08410C4) iterValue = data = asBits = -8407939028970929137 (0x8B510000150B840F) s = { payload = i32 = 353076239 (0x150B840F) u32 = 353076239 (0x150B840F) boo = 353076239 (0x150B840F) str = 0x150B840F -> (js::gc::Cell) d = lengthAndFlags = 1775637259 (0x69D6130B) u1 = { chars = 0xA0A8FD8B -> (unavailable - internal error), left = 0xA0A8FD8B (see above) } inlineStorage = [4] { [8] { 45352, 18893, 2427, 40 ('('), 38144, 28902, 21957, 31496 }, 18893, 2427, 40 ('(') } s = u2 = base = 0x49CDB128 -> (js::gc::Cell) d = lengthAndFlags = (unavailable - internal error) u1 = { chars = (unavailable - internal error), left = (unavailable - internal error) } inlineStorage = (unavailable - internal error) s = u2 = base = (unavailable - internal error) right = (unavailable - internal error) capacity = (unavailable - internal error) externalFinalizer = (unavailable - internal error) u3 = { parent = (unavailable - internal error), reserved = (unavailable - internal error) } right = 0x49CDB128 (see above) capacity = 1238217000 (0x49CDB128) externalFinalizer = 0x49CDB128 (see above) u3 = { parent = 0x0028097B -> (js::gc::Cell) d = lengthAndFlags = 2934463576 (0xAEE85C58) u1 = { chars = 0xEBFFFFE2 -> (unavailable - internal error), left = 0xEBFFFFE2 (see above) } (no more room in buffer)errno = 34 (No error reported here)OS error = 0 (no error code was set)Is this an error in the zip file?
  10. thanks! I have currently the current alpha version and I will download the current svn trunk. I have to compile the source code first, or? But how can I load the AI in the game? I have try to create a mod, but I couldnt load it.
  11. I choosed the AI difficulty hard.
  12. How can I save something in a file with the javascript methods from the AI or from the game?
  13. In the function at your code must be placed here we add the following lines: // "local" global variables for stuffs that will need a unique ID // Note that since order of loading is alphabetic, this means this file must go before any other file using them. m.playerGlobals = []; I copied this lines from aegisBot and i dont know so much, what this line does. I think they will be create a new object, which will contains the game goals and will be filled by common-api. After this lines we append the following lines: m.NewAI = function NewAI(settings) { API3.BaseAI.call(this, settings); this.turn = 0; this.playedTurn = 0; this.Config = new m.Config(); this.Config.updateDifficulty(settings.difficulty); this.Config.personality = settings.personality; this.firstTime = true; this.savedEvents = {}; this.defcon = 5; this.defconChangeTime = -10000000; }; This lines are also copied from AegisBot and loads the BaseAI from the common-api module. After this lines you have to add the following line: m.NewAI.prototype = new API3.BaseAI(); You have to replace NewAI with your own module name! At the moment my file newai.js contains the following text: var NEWAI = (function() { var m = {}; //an empty object // "local" global variables for stuffs that will need a unique ID // Note that since order of loading is alphabetic, this means this file must go before any other file using them. m.playerGlobals = []; m.NewAI = function NewAI(settings) { API3.BaseAI.call(this, settings); this.turn = 0; this.playedTurn = 0; this.Config = new m.Config(); this.Config.updateDifficulty(settings.difficulty); this.Config.personality = settings.personality; this.firstTime = true; this.savedEvents = {}; this.defcon = 5; this.defconChangeTime = -10000000; }; m.NewAI.prototype = new API3.BaseAI(); //your code must be placed here //return the module object return m; }());
  14. thanks! For all the others they also want learn to create a little AI i have created a little tutorial here . I want also learn to create an little AI.
  15. Because the documentation of the AIs are not so much, i want to create a litte tutorial with the first steps to develop a new AI while i develop my own AI. Execuse me for my english, I am from Germany and my english is not the best. At first you must create the following directory structur in the directory <Install Path>/binaries/data/mods, if it does not exists. <Module Name> simulation ai <Your AI Name> In this directory you add a new file data.json with the following text: { "name": "<AI Name>", "description": "<AI Description>", "moduleName" : "<Module Name>", "constructor": "<The Constructor Method>", "useShared": true } My data.json hast the following content: { "name": "NewAI", "description": "newAI", "moduleName" : "NEWAI", "constructor": "NewAIConstruct", "useShared": true } After this we create a new javascript file _init.js, if you want to use the common-api module (optional), with this module you dont have to develop the AI from low-level. AegisBot use this common-api too. Engine.IncludeModule("common-api"); This line loads the common-api module, which can be founded in the mods/public/public.zip/simulation/ai/common-api, but you dont have to copy this module, the game find this module in the public.zip, which is in this directory by default. After this we create a new javascript file, called as your modulename, e.q. "newAI.js" and must contains the constructor method in an anonymous function, saved in a var. var NEWAI = (function() { var m = {};//an empty object //your code must be placed here //return the module object return m; }()); This constructor method must return the module AI object! ---------------------------------------------------------------- This tutorial hasnt finished yet! I want to edit this post to append new steps.
  16. If i want to develop an new AI, how must i do this? I have seen your little documentation at http://trac.wildfiregames.com, but how can i add the AI to the game? I added an directory simulation/ai/myAI in the directory mods and added a data.json, but why does the game not load the AI, if i want to create a new game? EDIT: It works!
  17. I cant edit the last post so i create a new post. After click on Break i get the following error message: Much to our regret we must report the program has encountered an error.Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.Details: unhandled exception (Breakpoint)Location: unknown:0 (?)Call stack:(error while dumping stack: No stack frames found)errno = 13 (Insufficient access rights to open file)OS error = 0 (no error code was set)I get this error message sometimes, if the map has more than 2 players or the map has more than 1 ai, the saved game, i attached, has 3 ais. If i click Suppress or Continue i can load the saved game, but i dont get this error message after every crash. Also every try to save the game crashs. I attached the saved game and all the logs, incl. crashlog.txt and system_info.txt . saves.zip logs.zip
  18. After loading the saved game 3x i get the following error message:
  19. This saved game causes an problem. saves.zip
  20. Other question: Why doesnt do the ai anything after 2h, when i have build so many? AI:
  21. Here are the saved games, the last 2 i couldnt load. saves.zip
  22. After i have played in the multiplayer mode today, i have seen an translation error in german, but i dont know the text in this time.
  23. yet i have updated the graphic card driver and only 1 saved game state and it works. But i cannot image that the graphic card driver caused the crash.
×
×
  • Create New...