luziferius
-
Posts
64 -
Joined
-
Last visited
-
Days Won
1
Posts posted by luziferius
-
-
original AVI videos
that sounds like a really bad idea…
just a bro-suggestion from my side: let AVI die, as it can be seen as deprecated nowadays…
you cannot put h264 or any other modern video codec or subtitles inside an avi container(that would be useless anyways as avi should be compatible and those are not) without violating the codec/avi specification (unless you go for something like h264 base profile, but then using it altogether is rather pointless)
for a master you should really use some other container, like matroska (.mkv, .mka), that has far more flexibility.
in a mkv you can use arbitrary number of video, audio and subtitle streams, and even attach arbitrary binary data(like fonts for the subtitles or a license.txt file, box-art or whatever), translated chapter names
then you can include SSA/@#$%-subtitles, which you can style however you like (want some nice karaoke effect for the ingame voices you hear in the video??)
for the download you can offer both files, a nice compatible avi thing with burned-in subtitles in a divx/xvid video+mp3 audio for compatibility and the already mentioned mkv thing with multiple text streams for i18n + a hq h264/theora video+ flac/ogg sound
EDIT: your word-filter doesn’t like the file format, lol
-
another (and hdd-space friendly) alternative to video files would be using the game engine itself to do the same as the video.
you would need some graphics, and (heaviest point) a scriptable UI, then those 'videos' could be replayed by the engine.
idk what would be more efford,
rendering and bundling tutorial videos and playing those files ingame
or
scripting the UI, including showing overlays and mouse cursor movement and then replay some sort of replay-file that contains all those actions
using the scripts has the advantage that it can adapt game changes easily
-
the error message says that a OpenGL function is unavailable(it worked previously, so it is a software problem)
you now probably run the game with the windows builtin OpenGL libs, which are slow and outdated (afaik dated around 2000) and render on the CPU
that one indicates thatOpenGL Drivers : 1.1.0; OpenGL 1.1.0did you install the graphics drivers from Intel? (or at least a win8 driver pack from your vendor(if available))?
installing directx does not help, since the game uses OperGL
-
maybe the 'C' button will let you configure the AI more. like choosing a personality like rusher, turtler; ability to define worker/soldier ratio, how likely it will create/break alliances, how far the AI tries to support allies or some other fancy feature you might come up with
-
thats a(probably) hard-to-work-around library thing… the underlying lib grabs the whole keyboard, so you can’t use eg. the volume keys too.
idk, how to solve that. Savage 2 had an option to turn capture on/off in the options menu…
but I somehow like the capturing… you can use so much more keyboard shortcuts then, like <Ctrl>+<F1-12>, which would otherwise interfere with the window manager.
if you really want the keyboard unlock, i have a workaround for you(only works with KDE):
(I retranslate the options back to english, setting LC_ALL=C doesn’t help this case)
- create a local.cfg with windowed=true -> http://trac.wildfire...Manual_Settings
- right click on the window title, select 'Advanced' -> 'Special settings for this programm'
- accept the infobox dialog with ok
- go to tab 'Size&Position'
- activate 'Fullscreen' -> in the dropdown to the right select 'Force' or maybe better 'Apply on Initialization'(second entry) -> set radio button to 'yes'
- maybe restart the game
then the game uses KWin’s fullscreen mode(windowed fullscreen); you have fullscreen with an ungrabbed keyboard(and mouse!) .
so hitting screen edges might toggle compositing effects, if you enabled such actions(I think there is one enabled by default for the upper left corner…)
so you might need to enable other options too, (eg. block compositing)
- create a local.cfg with windowed=true -> http://trac.wildfire...Manual_Settings
-
that was the first thing i had done
purged everything user-related(.cache, .config, .local, etc) i could find (except for the feedback user ID)
no mods or something installed
then the only real issue is that the release package depends on non-existing packages
(at least that is what my system tells me, but idk why no-one else noticed that; I assume that it is a bug on my side)
Odd thing is that the sky manager is calling stuff related to .tga files, even though none of the sky images are tga files.
that seems to be an interesting catch…
-
I have a problem with the latest 0ad.dev ppa autobuild (r12679) and Ubuntu 12.10
namely a Segfault whenever I try to start a singleplayer game(multiplayer not testet).
it crashes at 30% map loading state with a Segfault, whatever I try to do(launch with default settings when you click on singleplayer or some RMS without AIs, whatever)
i’ve installed the dbg package and run it in gdb with the following commands
gdb /usr/games/pyrogenesis
# gdb commands:
run
bt
info registers
disass $pc-32, $pc+32
quitand thats the output:
first run:
gdb /usr/games/pyrogenesis
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/games/pyrogenesis...Reading symbols from /usr/lib/debug/usr/games/pyrogenesis...done.
done.
(gdb) run
Starting program: /usr/games/pyrogenesis
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Cache: 500 (total: 16049) MiB
TIMER| InitVfs: 64.632 ms
[New Thread 0x7fffcba94700 (LWP 29290)]
[Thread 0x7fffcba94700 (LWP 29290) exited]
[New Thread 0x7fffcba94700 (LWP 29291)]
[New Thread 0x7fffc7292700 (LWP 29292)]
Sound: AlcInit success, using PulseAudio Default
[New Thread 0x7fffc6a91700 (LWP 29293)]
TIMER| InitScripting: 9.6774 ms
TIMER| CONFIG_Init: 10.8071 ms
[New Thread 0x7fffc5aeb700 (LWP 29294)]
[New Thread 0x7fffc52ea700 (LWP 29295)]
TIMER| RunHardwareDetection: 19.0947 ms
TIMER| write_sys_info: 60.2797 ms
[New Thread 0x7fffb5719700 (LWP 29298)]
TIMER| InitRenderer: 4.43332 ms
TIMER| ps_console: 2.08453 ms
TIMER| ps_lang_hotkeys: 994.952 us
TIMER| common/setup.xml: 956.494 us
TIMER| common/styles.xml: 108.674 us
TIMER| common/sprite1.xml: 2.24668 ms
TIMER| common/init.xml: 1.84008 ms
TIMER| common/common_sprites.xml: 2.30779 ms
TIMER| common/common_styles.xml: 268.205 us
TIMER| pregame/sprites.xml: 446.957 us
TIMER| pregame/styles.xml: 42.404 us
TIMER| pregame/mainmenu.xml: 6.98297 ms
TIMER| common/global.xml: 398.096 us
Using Xcursor to sys_cursor_create 32 x 32 cursor
TIMER| common/setup.xml: 612.971 us
TIMER| common/styles.xml: 28.007 us
TIMER| common/sprite1.xml: 1.54549 ms
TIMER| common/common_sprites.xml: 1.91989 ms
TIMER| common/common_styles.xml: 224.458 us
TIMER| gamesetup/setup.xml: 98.885 us
TIMER| gamesetup/sprites.xml: 47.195 us
TIMER| gamesetup/styles.xml: 50.792 us
TIMER| gamesetup/gamesetup.xml: 12.7773 ms
[New Thread 0x7fffafdff700 (LWP 7170)]
[New Thread 0x7fffaefff700 (LWP 7171)]
TIMER| common/setup.xml: 680.514 us
TIMER| common/styles.xml: 30.492 us
TIMER| common/sprite1.xml: 1.39943 ms
TIMER| common/init.xml: 1.12185 ms
TIMER| common/common_sprites.xml: 1.79154 ms
TIMER| common/common_styles.xml: 215.784 us
TIMER| loading/styles.xml: 97.528 us
TIMER| loading/sprites.xml: 299.817 us
TIMER| loading/loading.xml: 1.13248 ms
TIMER| common/global.xml: 289.473 us
Using Xcursor to sys_cursor_create 32 x 32 cursor
Program received signal SIGSEGV, Segmentation fault.
tga_is_hdr (file=0x0) at ../../../source/lib/tex/tex_tga.cpp:83
83 ../../../source/lib/tex/tex_tga.cpp: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 tga_is_hdr (file=0x0) at ../../../source/lib/tex/tex_tga.cpp:83
#1 0x000000000081d317 in tex_codec_for_header (file=0x0, file_size=<optimized out>, c=0x7fffffffd7d0) at ../../../source/lib/tex/tex_codec.cpp:88
#2 0x0000000000820600 in tex_decode (data=..., dataSize=140737488345984, t=0x7fffffffd850) at ../../../source/lib/tex/tex.cpp:720
#3 0x000000000068948b in SkyManager::LoadSkyTextures (this=0x184bb50) at ../../../source/renderer/SkyManager.cpp:120
#4 0x0000000000617a59 in CXMLReader::ReadEnvironment (this=0x4fca280, parent=...) at ../../../source/graphics/MapReader.cpp:595
#5 0x000000000061c661 in CXMLReader::ProgressiveRead (this=0x4fca280) at ../../../source/graphics/MapReader.cpp:998
#6 0x000000000061c972 in CMapReader::ReadXML (this=0x25a2400) at ../../../source/graphics/MapReader.cpp:1082
#7 0x0000000000610584 in MemFunThunk<CMapReader> (param=0x270c040) at ../../../source/ps/LoaderThunks.h:60
#8 0x0000000000550f58 in LDR_ProgressiveLoad (time_budget=<optimized out>, description=0x7fffffffdfd0 L"\xffffe020翿\x7de8f4", max_chars=100, progress_percent=0x7fffffffdfc8) at ../../../source/ps/Loader.cpp:228
#9 0x000000000041cd84 in ProgressiveLoad () at ../../../source/main.cpp:237
#10 0x000000000041dd39 in Frame () at ../../../source/main.cpp:347
#11 RunGameOrAtlas (argc=<optimized out>, argv=<optimized out>) at ../../../source/main.cpp:507
#12 0x0000000000413997 in main (argc=1, argv=0x7fffffffe5e8) at ../../../source/main.cpp:550
(gdb) info registers
rax 0x0 0
rbx 0x0 0
rcx 0x7ffff4979740 140737296963392
rdx 0x7fffffffd7d0 140737488345040
rsi 0x7fffffffdb80 140737488345984
rdi 0x0 0
rbp 0x7fffffffd780 0x7fffffffd780
rsp 0x7fffffffd770 0x7fffffffd770
r8 0x740000006e 498216206446
r9 0x640000002e 429496729646
r10 0x0 0
r11 0x4 4
r12 0x7fffffffd7d0 140737488345040
r13 0x7fffffffd950 140737488345424
r14 0x0 0
r15 0x1b 27
rip 0x820da7 0x820da7 <tga_is_hdr(uint8_t const*)+23>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) disass $pc-32, $pc+32
Dump of assembler code from 0x820d87 to 0x820dc7:
0x0000000000820d87: nopl %cs:0x0(%rax,%rax,1)
0x0000000000820d90 <tga_is_hdr(uint8_t const*)+0>: push %rbp
0x0000000000820d91 <tga_is_hdr(uint8_t const*)+1>: mov %rsp,%rbp
0x0000000000820d94 <tga_is_hdr(uint8_t const*)+4>: sub $0x10,%rsp
0x0000000000820d98 <tga_is_hdr(uint8_t const*)+8>: mov %fs:0x28,%rax
0x0000000000820da1 <tga_is_hdr(uint8_t const*)+17>: mov %rax,-0x8(%rbp)
0x0000000000820da5 <tga_is_hdr(uint8_t const*)+21>: xor %eax,%eax
=> 0x0000000000820da7 <tga_is_hdr(uint8_t const*)+23>: cmpb $0x0,0x1(%rdi)
0x0000000000820dab <tga_is_hdr(uint8_t const*)+27>: jne 0x820db9 <tga_is_hdr(uint8_t const*)+41>
0x0000000000820dad <tga_is_hdr(uint8_t const*)+29>: movzbl 0x2(%rdi),%eax
0x0000000000820db1 <tga_is_hdr(uint8_t const*)+33>: sub $0x2,%eax
0x0000000000820db4 <tga_is_hdr(uint8_t const*)+36>: cmp $0x1,%al
0x0000000000820db6 <tga_is_hdr(uint8_t const*)+38>: setbe %al
0x0000000000820db9 <tga_is_hdr(uint8_t const*)+41>: mov -0x8(%rbp),%rdx
0x0000000000820dbd <tga_is_hdr(uint8_t const*)+45>: xor %fs:0x28,%rdx
0x0000000000820dc6 <tga_is_hdr(uint8_t const*)+54>: jne 0x820dca <tga_is_hdr(uint8_t const*)+58>
End of assembler dump.
(gdb) quit
A debugging session is active.
Inferior 1 [process 29287] will be killed.
Quit anyway? (y or n) yand a second run:
gdb /usr/games/pyrogenesis
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/games/pyrogenesis...Reading symbols from /usr/lib/debug/usr/games/pyrogenesis...done.
done.
(gdb) run
Starting program: /usr/games/pyrogenesis
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Cache: 500 (total: 16049) MiB
TIMER| InitVfs: 56.5752 ms
[New Thread 0x7fffcba94700 (LWP 14291)]
[Thread 0x7fffcba94700 (LWP 14291) exited]
[New Thread 0x7fffcba94700 (LWP 14292)]
[New Thread 0x7fffc7292700 (LWP 14293)]
Sound: AlcInit success, using PulseAudio Default
[New Thread 0x7fffc6a91700 (LWP 14294)]
TIMER| InitScripting: 9.58469 ms
TIMER| CONFIG_Init: 7.48273 ms
[New Thread 0x7fffc5aeb700 (LWP 14295)]
[New Thread 0x7fffc52ea700 (LWP 14296)]
TIMER| RunHardwareDetection: 19.6908 ms
TIMER| write_sys_info: 133.184 ms
[New Thread 0x7fffb5719700 (LWP 14302)]
TIMER| InitRenderer: 7.20418 ms
TIMER| ps_console: 5.5749 ms
TIMER| ps_lang_hotkeys: 2.47102 ms
TIMER| common/setup.xml: 2.46552 ms
TIMER| common/styles.xml: 148.226 us
TIMER| common/sprite1.xml: 1.73454 ms
TIMER| common/init.xml: 1.32611 ms
TIMER| common/common_sprites.xml: 2.00087 ms
TIMER| common/common_styles.xml: 264.769 us
TIMER| pregame/sprites.xml: 428.555 us
TIMER| pregame/styles.xml: 40.655 us
TIMER| pregame/mainmenu.xml: 6.34291 ms
TIMER| common/global.xml: 366.545 us
Using Xcursor to sys_cursor_create 32 x 32 cursor
TIMER| common/setup.xml: 615.291 us
TIMER| common/styles.xml: 27.226 us
TIMER| common/sprite1.xml: 1.61376 ms
TIMER| common/common_sprites.xml: 1.74892 ms
TIMER| common/common_styles.xml: 224.981 us
TIMER| gamesetup/setup.xml: 100.565 us
TIMER| gamesetup/sprites.xml: 46.584 us
TIMER| gamesetup/styles.xml: 51.062 us
TIMER| gamesetup/gamesetup.xml: 12.8493 ms
[New Thread 0x7fffaffff700 (LWP 14778)]
[New Thread 0x7fffaf5ff700 (LWP 14779)]
TIMER| common/setup.xml: 724.972 us
TIMER| common/styles.xml: 25.93 us
TIMER| common/sprite1.xml: 1.54725 ms
TIMER| common/init.xml: 1.1141 ms
TIMER| common/common_sprites.xml: 1.65693 ms
TIMER| common/common_styles.xml: 200.01 us
TIMER| loading/styles.xml: 86.13 us
TIMER| loading/sprites.xml: 259.069 us
TIMER| loading/loading.xml: 1.07778 ms
TIMER| common/global.xml: 251.023 us
Using Xcursor to sys_cursor_create 32 x 32 cursor
[New Thread 0x7fffae5ff700 (LWP 14791)]
[New Thread 0x7fffaddde700 (LWP 14792)]
[Thread 0x7fffae5ff700 (LWP 14791) exited]
TIMER| ParseTerrain: 4.54619 ms
Program received signal SIGSEGV, Segmentation fault.
tga_is_hdr (file=0x0) at ../../../source/lib/tex/tex_tga.cpp:83
83 ../../../source/lib/tex/tex_tga.cpp: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 tga_is_hdr (file=0x0) at ../../../source/lib/tex/tex_tga.cpp:83
#1 0x000000000081d317 in tex_codec_for_header (file=0x0, file_size=<optimized out>, c=0x7fffffffdaf0) at ../../../source/lib/tex/tex_codec.cpp:88
#2 0x0000000000820600 in tex_decode (data=..., dataSize=40696400, t=0x7fffffffdb70) at ../../../source/lib/tex/tex.cpp:720
#3 0x000000000068948b in SkyManager::LoadSkyTextures (this=0x184bb50) at ../../../source/renderer/SkyManager.cpp:120
#4 0x000000000061383a in CMapReader::ParseEnvironment (this=0x223b850) at ../../../source/graphics/MapReader.cpp:1329
#5 0x0000000000610584 in MemFunThunk<CMapReader> (param=0x25d4e00) at ../../../source/ps/LoaderThunks.h:60
#6 0x0000000000550f58 in LDR_ProgressiveLoad (time_budget=<optimized out>, description=0x7fffffffdfd0 L"\xffffe020翿\x7de8f4", max_chars=100, progress_percent=0x7fffffffdfc8) at ../../../source/ps/Loader.cpp:228
#7 0x000000000041cd84 in ProgressiveLoad () at ../../../source/main.cpp:237
#8 0x000000000041dd39 in Frame () at ../../../source/main.cpp:347
#9 RunGameOrAtlas (argc=<optimized out>, argv=<optimized out>) at ../../../source/main.cpp:507
#10 0x0000000000413997 in main (argc=1, argv=0x7fffffffe5e8) at ../../../source/main.cpp:550
(gdb) info registers
rax 0x0 0
rbx 0x0 0
rcx 0x7ffff4979740 140737296963392
rdx 0x7fffffffdaf0 140737488345840
rsi 0x26cfa50 40696400
rdi 0x0 0
rbp 0x7fffffffdaa0 0x7fffffffdaa0
rsp 0x7fffffffda90 0x7fffffffda90
r8 0x740000006e 498216206446
r9 0x640000002e 429496729646
r10 0x0 0
r11 0x3 3
r12 0x7fffffffdaf0 140737488345840
r13 0x7fffffffdc70 140737488346224
r14 0x0 0
r15 0x17 23
rip 0x820da7 0x820da7 <tga_is_hdr(uint8_t const*)+23>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) disass $pc-32, $pc+32
Dump of assembler code from 0x820d87 to 0x820dc7:
0x0000000000820d87: nopl %cs:0x0(%rax,%rax,1)
0x0000000000820d90 <tga_is_hdr(uint8_t const*)+0>: push %rbp
0x0000000000820d91 <tga_is_hdr(uint8_t const*)+1>: mov %rsp,%rbp
0x0000000000820d94 <tga_is_hdr(uint8_t const*)+4>: sub $0x10,%rsp
0x0000000000820d98 <tga_is_hdr(uint8_t const*)+8>: mov %fs:0x28,%rax
0x0000000000820da1 <tga_is_hdr(uint8_t const*)+17>: mov %rax,-0x8(%rbp)
0x0000000000820da5 <tga_is_hdr(uint8_t const*)+21>: xor %eax,%eax
=> 0x0000000000820da7 <tga_is_hdr(uint8_t const*)+23>: cmpb $0x0,0x1(%rdi)
0x0000000000820dab <tga_is_hdr(uint8_t const*)+27>: jne 0x820db9 <tga_is_hdr(uint8_t const*)+41>
0x0000000000820dad <tga_is_hdr(uint8_t const*)+29>: movzbl 0x2(%rdi),%eax
0x0000000000820db1 <tga_is_hdr(uint8_t const*)+33>: sub $0x2,%eax
0x0000000000820db4 <tga_is_hdr(uint8_t const*)+36>: cmp $0x1,%al
0x0000000000820db6 <tga_is_hdr(uint8_t const*)+38>: setbe %al
0x0000000000820db9 <tga_is_hdr(uint8_t const*)+41>: mov -0x8(%rbp),%rdx
0x0000000000820dbd <tga_is_hdr(uint8_t const*)+45>: xor %fs:0x28,%rdx
0x0000000000820dc6 <tga_is_hdr(uint8_t const*)+54>: jne 0x820dca <tga_is_hdr(uint8_t const*)+58>
End of assembler dump.
(gdb) quit
A debugging session is active.
Inferior 1 [process 14287] will be killed.
Quit anyway? (y or n) ythe error
83 ../../../source/lib/tex/tex_tga.cpp: Datei oder Verzeichnis nicht gefunden.is a file-not-found error
========================
and another small thing:
I wanted to play a round, so I tried to return to the Alpha XI package in your 0ad ppa and failed
fixing that took me a while…
I could not install the Alpha XI packages because of unmeetable dependencies
I downloaded the files from http://ppa.launchpad...tu/pool/main/0/ and installed them via dpkg
i got
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von 0ad:
0ad hängt ab von libboost-filesystem1.49.0 (>= 1.49.0-1); aber:
Paket libboost-filesystem1.49.0 ist nicht installiert.
0ad hängt ab von libboost-signals1.49.0 (>= 1.49.0-1); aber:
Paket libboost-signals1.49.0 ist nicht installiert.that says that 0ad package depends on the currently not installed libboost-filesystem1.49.0 and libboost-signals1.49.0 packages (note that the dev build does not depend on them, and the version number in the package name, a normally uncommon thing…)
however, when I tried to install those via apt-get install libboost-filesystem1.49.0 libboost-signals1.49.0, I got
Paket libboost-filesystem1.49.0 ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.
Paket libboost-signals1.49.0 ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.
E: Paket »libboost-filesystem1.49.0« hat keinen Installationskandidaten
E: Paket »libboost-signals1.49.0« hat keinen Installationskandidatenthat says that those 2 packages are referenced by a package, but are unavailable and cannot be installed
I’ve returned to the ubuntu 12.04 packages, since those work
I can play now
-
it needs a major redesign.
the single-threaded attempt works somewhere like this:
you have a main-loop (that runs until some sort of exit-message arrives). that mainloop checks the different components in a deterministic way (it starts an action and wait for its end to evaluate the result)
like this: process the input buffer(mouse/keyboard events), then update the UI, change variables in the simulation component,find paths, do a simulation step,do an AI step, trigger a re-render on the gpu according to the changes in the simulation, check the sound component for pending sounds, do other things (whatever^^)
to get a multi-threaded application, you have to use a different attempt:
you have a main-thead that starts many other threads and lets them run until some sort of exit-message arrives
it runs like this: the input watcher wakes up and sends messages each time input events arrive, the UI thread evaluates those and sends messages to other threads(sound, graphics, sim update), those do their things and send messages arround… until the whole thing exits
some things can’t be parallelized easily(like sim update and pathfinding; you can’t calculate paths when the obstruction map is dynamically changed through the sim update all the time, etc)
and all the time you have one big and non-trivial problem: being thread-safe; you can’t modify data that is used by another thread.
doing that produces garbage almost instantly that will crash the application or does other unwanted and unpredictable things
==========
some parts of the game can be more easily put in a separate thread, like the sound (thats already WIP) and maybe the UI/input stuff and AI (idk)
-
thats a nice thing that could be preserved for a defensive bot^^
-
About Debian:
Does Debian have a 'multiverse' repository like ubuntu?
if yes, the worst thing that afaik can happen to 0ad is that it gets moved into that repository together with other not so legally clear content.
the only downside is that multiverse has to be manually enabled.
-
a little bit OT and just a wild guess about the single key thing:
the mac keyboard works similar to normal notebook keyboards with fn-functions but on the mac the multimedia functions are the default ones and the F1-F12 functions are shiftet with fn.
"Who would ever use such an old and unmagic thing like F-keys?!?!"You could use wild 5-finger multitouch gestures instead ;-)
-
aiming for a fixed maximal number of different units/structures is not the best way: think of capturing buildings and training units from different civs (if thats the way it will be implemented)… then you’ll get that number on top everytime you assimilate another civ.
Maybe the last icon can be replaced by a question mark and the amount of units of other types that are garrisoned at the moment.
when you don’t want to add scrollbars/tabs/whatever to show more than one page, the questionmark(along with a nice tooltip, that maybe even shows the units that are summed up in the '?') should be fine
-
then do it like this:
Requires 5 Village Phase structures (except Palisades and Farm Fields)[# left]then everything is said: how many buildings are required and how many you have to build
-
you are using svn, right?
things to test:
- you could reset svn to the alpha 10 revision and test that…
- it should be possible to start more than one instance of the game, try a local multiplayer with both instances in windowed mode. when that fails, it is indeed the revision or fedora’s fault
- are your fedora and win7 installations a dualboot? if not(so different hardware that can be run simultaneously), you can recreate the whole scenario in your local network to rule out possible connection problems
- you said, it worked with your win laptop… that sounds like you created the port forwarding rule to point to your win laptop. did you change the port forwarding rule to point to your fedora pc when using that? has your fedora pc the right ip, so that the rule works?
- you could reset svn to the alpha 10 revision and test that…
-
marvin or insert gold or alchemist@work
gives 1000 metal
tron fighter
spawns a bike from tron
fun cheats:
who let the dogs out?
spawns 100 aggressive celtic war dogs belonging to gaia
Dsôn Balsur
replace all trees with dead ones & trees attack players
-
Hedgewars
Xonotic
OilRush (really worth it’s cost!)
Gothic(1 and 2)
WoW
Red Alert 3
Battle for Middle Earth 2
UT99 and UT3 sometimes, with friends it’s fun
Halo 3 (split screen Deathmatch with 4 players^^)
-
I would love to see the town-bell ingame like this:
(this isn’t written with the programming in mind)
'maybe'-points are pure nice-to-have/if-time-permits things
- each cc has it’s own town-bell with limited range(a bit larger than cc’s territory), the bell only affects units within range
- units try to garrison in all structures that support garrisoning
(maybe, to maximize potential defensive: females primarily try to garrison in buildings that cannot attack, soldiers try to garrison in buildings that counter-attack; that way females don’t eat slots that soldiers could use to provide more defense) - when there are more units near a structure than it can hold, the units that don’t get a place try another building
(imagine 20 units standing around a full tower while the fortress right next to it stays empty) - clicking on the town-bell icon garrisons the females
(maybe: retask citizen soldiers to stop gathering, group near cc(drop their resources?) and attack enemies when in LOS) - a second icon(or a shift-click) to garrison all citizens
- (maybe: alt-click garrisons even heros and champion units)
- each cc has it’s own town-bell with limited range(a bit larger than cc’s territory), the bell only affects units within range
-
you could use the "New RMS Test" RMS that generates player bases on an otherwise empty flat map.
-
stargate
teleport selected units somewhere to the center of the screen (when possible)
or enable another building (a large ring?[maybe copyright problems]) that can garrison many units and has those shared by all instances -> a garrison teleporter
santaclause
spawns treasures looking like gifts at random places
hunting party
spawn random animals
some fun cheats:(most would require modelling useless stuff)
i have the crystals
spawns green glowing crystals all over your buildings (think cnc… )
time is relative
increase build speed
or spawn Einstein doing some stuff(maybe explode with a nuke animation when killed)
oh my blood
big bats fly around your buildings, change the selection sound to some "generic vampire" sound
big ben is watching you
change the tower model to Big Ben
you could rebind some of the dev overlay funcions to cheat codes:
john titor
enable time warp
eagle eyes
unrestrict camera
etc...
-
that happens both in SP and MP setup screen once per selected map/RMS
maybe has to do something with the new map preview feature/ the redesigned UI
-
starting about midgame qBot has many idle units standing around resource dropsites (the units that return when a resource runs out)
it fact so many that it blocks of the dropsite and other units can’t drop their resources...
(I saw about 20 idle units blocking the dropsite and another 20 that can’t drop; thats not good for the bot’s economics)
qBot should do one of the following to resolve that
- (better) retask the soldiers to attack and the females to gather some other resources
- (at least a fix) task the idle units to walk a bit away so that they don’t block the dropsite
(I’m using the latest dev autobuild: "Jul 18 2012 - 12143-development")
- (better) retask the soldiers to attack and the females to gather some other resources
-
I'd prefer closer screenshots for scenarios, selected to show close details of each map. In other words not rushed through in a huge batch or by some automated process
it’s a matter of taste, but I’ll try some shots
the batch process involved was: cropping, scaling, filling up to a 4:3 res, scaling down and saving.
even for manually taken closeups some of those steps are neccessary, I don’t want to do that for every pic by hand
Are those good? http://luziferius.lu.funpic.de/0ad/Scenarios_cinematic/
Wouldn't it be easier to store them in subfolders?
when it does not need programming, yes
otherwise renaming is easier
-
Thank you very much. I'll commit them into the SVN.
I’ll assume thats a "Yes, please do the rest!"
so here you go (upload runs, should be 100 files when finished): http://luziferius.lu.../0ad/Scenarios/
I’ve done those by using Atlas + KSnapshot and batch process the pics in Phatch
While creating those I noticed several bugs:
- These maps throw errors that files can’t be found (celtic war dogs, easy to reproduce):
Arcadia II
Gallic Fields
The Massacre of Delphi - When loading several maps one after another Atlas begins to flicker(at first reloading the map helps, but then even restarting Atlas does not help anymore, complete user logout/login fixes it for some time)
Atlas changes between showing the background and the drawing area quickly while moving the mouse, and shows only the background when mouse stops
Screenshot - particle effects stay across map loadings (but fade away since they aren’t looped anymore in the new map, noticable best with dust/smoke effects)
- file names aren’t optimal:
you use roman numbers in filenames(not always), but arabic(12345…, not always) in the descriptions, should be swapped
some maps use _ as word seperator, most use " "(whitespace)
some unplayable maps aren’t marked as demos(like Tropical Island)
I think it would be better to name demo maps with "demo_"-prefix and sandbox maps with "sandbox_" prefix (so they stick together)
What about using this as the no-preview-available-texture :
- These maps throw errors that files can’t be found (celtic war dogs, easy to reproduce):
-
i’ve done pics for every RMS included in the last dev autobuild: http://luziferius.lu...pic.de/0ad/RMS/
until those get auto-generated
the small folder contains 400x300 png files
if whished, i’ll do that for scenarios as well
- 1
Sound of animals
in Game Development & Technical Discussion
Posted · Edited by luziferius
you’ve done that recordingwith a digicam? thats a valid method, but…
those normally don’t output raw material, so the best thing would be a good microphone and a laptop to record things.
eg. with audacity
(thats the best portable solution when not having special equip around)
i’ll look into that file, when i’ve time(maybe right now, no guarantee) and extract the audio
(you should learn at least a bit about container-formats vs codecs; mp4 doesn’t tell you anything about the content)
EDIT1: first look: those are 48KHz AAC LC @ 128kbit/s audio tracks inside(mediainfo says that)
FLAC would be a lossless compressed alternative
EDIT2:
OK, I’ve used mkvmerge + soundconverter to extract and convert the audio streams
In the attached zip(2 posts below) you find 3 folders:
original: the extracted audio in matroska container(had to use it, my applications can’t handle raw aac well)
lossless: converted to lossless flac@best compression level
ogg: ogg vorbis@128kbit/s (probably useless for raw, to be edited material)