ComSer Forum
Welcome, Guest. Please login or register.
August 15, 2018, 06:21:10 PM

Login with username, password and session length
Search:     Advanced search
Visit us on IRC
irc.quakenet.org
#liero
8133 Posts in 708 Topics by 253 Members
Latest Member: Maxigenzztop
* Home Help Search Calendar Login Register
+  ComSer Forum
|-+  Gusanos Forum
| |-+  Gusanos Development
| | |-+  Heya there, greets from OpenLieroX project
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] 2 3 4 5 Go Down Print
Author Topic: Heya there, greets from OpenLieroX project  (Read 59364 times)
albert
Member
**

Karma: 1
Offline Offline

Posts: 33


View Profile WWW
« on: November 30, 2009, 01:20:40 PM »

Hey,

These are some news from the OpenLieroX project which may interest you:

The basic idea in OLX was to add an additional optional physics engine. I for myself don't realy like many details of the old LieroX 0.56 physics. So the idea is to be able to select which physics engine you want to use.

For this, I thought of using some parts of the Gusanos 0.9 code. That is in particular also interesting because it has already support for many other nice things we planned to add at some point to OLX, like scriptable levels and much more. Lua in general was planned and I thought it would be better to have the same interface as Gusanos here than to invent an own one. This also has the advantage that most Gusanos mods probably can be reused in OLX.

So far this idea. Current Gusanos code makes it very hard though to get there. There is one fork - Vermes - which makes it already a bit easier because it removes some of the libs. But there is still ZoidCom, which conflicts with our licence (GPL) and which is also not really cross-plattform (OLX runs pretty everywhere and I want to keep that). Then there is Allegro, which is just fine -- but conflicts at many parts with SDL, what we use at OLX.

So, my current sub project is to get a fully working standalone of Gusanos/Vermes which is really cross plattform, i.e. doesn't need ZoidCom. This will also lead me to a MacOSX port then.

I have already done some work here -- I have removed all the ZoidCom stuff and replaced it by an own library, which must be still be implemented. See here for some more details: http://sourceforge.net/mailarchive/message.php?msg_name=4B142E22.5070402@rwth-aachen.de

It may be that I need some help at some points, because I am pretty much unfamiliar with the codebase of Gusanos. Though, so far most things seem very clear and clean, no problems yet.

Will post back when I have some more results to show.

- Albert
Logged
basara
Administrator
Historic Member
*****

Karma: 31
Offline Offline

Posts: 841



View Profile
« Reply #1 on: November 30, 2009, 06:05:07 PM »

I wish you the best of luck.
Logged
Feliz Lombriz
www.GusanosFiles.co.cc Admin
Member
**

Karma: 8
Offline Offline

Posts: 57



View Profile WWW
« Reply #2 on: December 01, 2009, 11:21:03 AM »

Interesting! That sounds like a really neat project. And I certainly wouldn't object to an OSX port of Gusanos, or an improved physics engine for OLX. I can't really help with anything codewise, but I'll remain an interested observer. Wink
Logged

ˇHappy Worm!
Anarchid
Level 3 Tactical Techno Horror
Sr. Member
***

Karma: 1
Offline Offline

Posts: 70


Resistance is Futile.


View Profile
« Reply #3 on: December 02, 2009, 07:40:17 PM »

You get all my three hundred barrels of internets if you pull this out.
OLX community + gusanos power = overgame of ultrasupreme dominationing.
Logged
albert
Member
**

Karma: 1
Offline Offline

Posts: 33


View Profile WWW
« Reply #4 on: December 03, 2009, 06:21:02 AM »

Some progress:



Logged
albert
Member
**

Karma: 1
Offline Offline

Posts: 33


View Profile WWW
« Reply #5 on: December 03, 2009, 05:50:09 PM »

Just want to announce, Gusanos is already in a playable state now. Some things don't work correct yet (actually I don't know exactly which because I never played it before) but you can play and it's already pretty impressive.

If you want to try (only for people who know how to get the source code from our OpenLieroX Git repo and how to use a compiler), some notes:

- I think SConstruct right now misses some OLX srcs like GfxPrimitives.cpp and perhaps other (my last few commits where on MacOSX). You will see if it complains about missing symbols.

- Didn't tried at all under Windows. Perhaps you see if you port the SConstruct script, that's probably the most simple and best solution. You also need OpenAL and Freealut as new dependencies. Gusanos comes already with Lua. Other than that, only SDL (and some of the other stuff needed for OLX - see the SConstruct file).

- Some fonts don't work. At least the ingame console and the weapon name (over the worm).

- Doom-mod and Base-level / Mars-level are very impressive demonstrations what the Gusanos engine can do (I think some gfx effects doesn't work correct, though).

So just some smaller gfx problems need to be fixed. In most cases, you don't even see the problems.

Btw., I didn't implemented any network stuff at all yet. Seems that local play doesn't use this.

http://www.youtube.com/watch?v=UnNnRFaxgWQ
« Last Edit: December 03, 2009, 06:38:14 PM by albert » Logged
Anarchid
Level 3 Tactical Techno Horror
Sr. Member
***

Karma: 1
Offline Offline

Posts: 70


Resistance is Futile.


View Profile
« Reply #6 on: December 03, 2009, 07:00:09 PM »

i got this trying to build the gusanos from openlierox repository on ubuntu amd64:
Code:
In file included from src/level.h:6,
                 from src/vermes.cpp:7:
src/util/math_func.h:15: error: expected unqualified-id before numeric constant
scons: *** [src/vermes.o] Error 1
scons: building terminated because of errors.
Bypassed this by renaming all PI to Pi in that file. Got to the where it said:
Code:
/usr/bin/ld: cannot find -lboost_filesystem
even though
Code:
libboost-filesystem-dev is already the newest version.
which turned out to be an issue with debian, so i appended "-mt" to boost library names in SConstruct.

The next/current issue is:
Code:
openlierox/include/SmartPointer.h:111: undefined reference to `SmartPointer_CollMutex
which i assume is because of missed olx sources, right?

Can't wait to get my hands on the thing. Tongue

« Last Edit: December 03, 2009, 07:42:22 PM by Anarchid » Logged
Feliz Lombriz
www.GusanosFiles.co.cc Admin
Member
**

Karma: 8
Offline Offline

Posts: 57



View Profile WWW
« Reply #7 on: December 03, 2009, 10:14:51 PM »

Very impressive! Wow! Amazing, excellent work! I don't have a Mac so I can't try it out, but I had a look at the Youtube video. Exciting stuff. I noticed that the BGF Blaster was acting awfully strange with the reload and the numbers (lives, kills, etc.) weren't displaying in the upper right-hand corner of the screen in the Doom mod (a font problem?). You probably already knew all that though. Tongue Everything else looks like... Gusanos! Do bots and splitscreen multiplayer work yet?
« Last Edit: December 03, 2009, 10:15:40 PM by Feliz Lombriz » Logged

ˇHappy Worm!
albert
Member
**

Karma: 1
Offline Offline

Posts: 33


View Profile WWW
« Reply #8 on: December 04, 2009, 04:42:33 AM »

@Anarchid: Have updated the Linux build. It should work now.

@Feliz: Yeah, the font is all the same problem. Probably not really a big deal to fix. But actually I have no idea what goes wrong with the BGF Blaster. I think I know what you mean because in some cases, it seems to have worked correct. Perhaps it's just some problem in the keyinput system which seems to recognize some keys twice when the FPS is low.

Bots work, though they seem to be a bit stupid. No pathfinding algo?

Just tried out splitscreen multiplayer, seems to work fine.
Logged
Anarchid
Level 3 Tactical Techno Horror
Sr. Member
***

Karma: 1
Offline Offline

Posts: 70


Resistance is Futile.


View Profile
« Reply #9 on: December 04, 2009, 12:59:35 PM »

It segfaults for me :/

Code:
scons: done building targets.
anarchid@komponent:~/Games/openlierox/src/gusanos$ ls
BUILD    default  libglua.a     libomfgconsole.a  libomfgscript.a  libomfgutil.a    LICENSE  README.txt  src   vermes
CREDITS  doom     libloadpng.a  libomfghttp.a     libomfgui.a      libopenlierox.a  README   SConstruct  TODO  Xcode
anarchid@komponent:~/Games/openlierox/src/gusanos$ ./vermes
Sfx::Sfx()
n: ColorDepth: 32
n: PixelFormat:
n:   BitsPerPixel: 32,  BytesPerPixel: 4
n:   R/G/B/A mask: ff0000/ff00/ff/0
n:   R/G/B/A loss: 0/0/0/8
n:   Colorkey: 0,  Alpha: 255
n: video mode was set successfully
H: SmartPointer collision detector initialized
Sfx::registerInConsole()
Console:<UNKNOWN COMMAND: #SetConsoleKey>
Console:<COULDN'T EXEC user.cfg>
Color Mask:       0xFFFFFFFFFEFFFFFF
Low Pixel Mask:   0x10101
QColor Mask:      0xFFFFFFFFFEFFFFFF
QLow Pixel Mask:  0x30303
SfxDriver::SfxDriver()
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
SfxDriverOpenAL::volumeChange()
Console:* OPENAL LIB INITIALIZED
1
Console:* NETSTREAM NETWORK LIB INITIALIZED
n: load default/fonts/minifont.png
n: load default/sprites/con_background.png
n: load default/sprites/cursor.png
n: load default/sprites/hook.png
n: load default/sprites/meat.png
n: load default/sprites/testhole.png
n: load default/sprites/crosshair.png
n: load default/sprites/kills.png
n: load default/sprites/emptyhax.png
Segmentation fault
anarchid@komponent:~/Games/openlierox/src/gusanos$

I'd be happy to provide more info, but i'll need instructions on how to extract that info. I also thought to post this at LXA rather than here, but got instantly permab& for registering with @mail.ru.

P.S. i used the multithreaded boost again. I'm not sure how to get the singlethreaded one, it seems not to be provided by any of the packages for Karmic.
« Last Edit: December 04, 2009, 01:18:17 PM by Anarchid » Logged
albert
Member
**

Karma: 1
Offline Offline

Posts: 33


View Profile WWW
« Reply #10 on: December 04, 2009, 01:13:51 PM »

A new video:
http://www.youtube.com/watch?v=9qUiRhQFWWo

As you can see, I fixed the minifont.

Some things I wonder about, which I tried to catch in this video:

- Is the light for you exactly the same? Sometimes I have the feeling that it is a bit strange. For example already the startscreen.

- The end of the laser seems to disappear (or be more thin than the start).

- When a door is opening, there is a small flicker.

- Sound of chainsaw is strange.

- Light of flamethrower somethimes gets very lightened (so everything is blended). Strange thing is also that this is only sometimes.

- Color of flamethrowser light, esp. in the case there is so much light, looks a bit strange.

- When there is a lot of light (for example by flamethrower), FPS goes down a lot (from 100 FPS to ~10 FPS).

- Game seems very unplayable with low FPS and very slow.

- I didn't found an easy way to reselect my weapons. Is there any?

- You can get stuck on the wall when falling and you press left/right. (But this may be just the different physics.)

- When FPS is slow, it seems you are moving much slower than normal.

- When using flashlight, it seems you move much slower when you light to left/right than you move when lighting to the top. This may be just the same as the FPS related speed but it feeled so noteable that I wondered about it.

@ Anarchid: Can you give me the backtrace? Just start in GDB and give me all the result from "bt full" once it segfaulted.

Logged
Anarchid
Level 3 Tactical Techno Horror
Sr. Member
***

Karma: 1
Offline Offline

Posts: 70


Resistance is Futile.


View Profile
« Reply #11 on: December 04, 2009, 01:31:55 PM »

Quote
Can you give me the backtrace? Just start in GDB and give me all the result from "bt full" once it segfaulted.
Sure:
Code:
anarchid@komponent:~/Games/openlierox/src/gusanos$ gdb vermes
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 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://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/anarchid/Games/openlierox/src/gusanos/vermes...done.
(gdb) run
Starting program: /home/anarchid/Games/openlierox/src/gusanos/vermes
[Thread debugging using libthread_db enabled]
Sfx::Sfx()
n: ColorDepth: 32
n: PixelFormat:
n:   BitsPerPixel: 32,  BytesPerPixel: 4
n:   R/G/B/A mask: ff0000/ff00/ff/0
n:   R/G/B/A loss: 0/0/0/8
n:   Colorkey: 0,  Alpha: 255
n: video mode was set successfully
H: SmartPointer collision detector initialized
Sfx::registerInConsole()
Console:<UNKNOWN COMMAND: #SetConsoleKey>
Console:<COULDN'T EXEC user.cfg>
Color Mask:       0xFFFFFFFFFEFFFFFF
Low Pixel Mask:   0x10101
QColor Mask:      0xFFFFFFFFFEFFFFFF
QLow Pixel Mask:  0x30303
SfxDriver::SfxDriver()
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
[New Thread 0x7ffff0b33910 (LWP 14617)]
SfxDriverOpenAL::volumeChange()
Console:* OPENAL LIB INITIALIZED
1
Console:* NETSTREAM NETWORK LIB INITIALIZED
n: load default/fonts/minifont.png
n: load default/sprites/con_background.png
n: load default/sprites/cursor.png
n: load default/sprites/hook.png
n: load default/sprites/meat.png
n: load default/sprites/testhole.png
n: load default/sprites/crosshair.png
n: load default/sprites/kills.png
n: load default/sprites/emptyhax.png

Program received signal SIGSEGV, Segmentation fault.
0x0000000000438967 in Gfx::updateScreen (this=0x852090) at src/gfx.cpp:299
299 bmp_write32(dest1, p); dest1 += sizeof(Pixel32);
(gdb) backtrace full
#0  0x0000000000438967 in Gfx::updateScreen (this=0x852090) at src/gfx.cpp:299
        p = 0
        x = 319
        src = 0x942680
        dest1 = 140737265373180
        y = 239
        blitFromBuffer = true
#1  0x00000000004181f0 in main (argc=1, argv=0x7fffffffe348) at src/vermes.cpp:353
        timer = 47
        fpsLast = 0
        fpsCount = 1
        fps = 0
        logicLast = 47
(gdb) info registers
rax            0x7ffff2b58ffc 140737265373180
rbx            0x8e9d30 9346352
rcx            0x8 8
rdx            0x0 0
rsi            0x1df 479
rdi            0x8a59e0 9066976
rbp            0x7fffffffdee0 0x7fffffffdee0
rsp            0x7fffffffd910 0x7fffffffd910
r8             0x8f9998 9410968
r9             0x4 4
r10            0xffffffff 4294967295
r11            0xff00ff 16711935
r12            0x40f290 4256400
r13            0x7fffffffe340 140737488347968
r14            0x0 0
r15            0x0 0
rip            0x438967 0x438967 <Gfx::updateScreen()+591>
eflags         0x210206 [ PF IF RF ID ]
cs             0x33 51
ss             0x2b 43
ds             0x0 0
es             0x0 0
fs             0x0 0
gs             0x0 0
fctrl          0x37f 895
fstat          0x220 544
ftag           0xffff 65535
fiseg          0x7fff 32767
fioff          0xf5d51887 -170583929
foseg          0x7fff 32767
fooff          0xffff55c8 -43576
fop            0x51f 1311
mxcsr          0x1fa0 [ PE IM DM ZM OM UM PM ]
(gdb) x/16i $pc
0x438967 <_ZN3Gfx12updateScreenEv+591>: mov    %rdx,(%rax)
0x43896a <_ZN3Gfx12updateScreenEv+594>: addq   $0x4,-0xd0(%rbp)
0x438972 <_ZN3Gfx12updateScreenEv+602>: addl   $0x1,-0x28(%rbp)
0x438976 <_ZN3Gfx12updateScreenEv+606>: cmpl   $0x13f,-0x28(%rbp)
0x43897d <_ZN3Gfx12updateScreenEv+613>: setle  %al
0x438980 <_ZN3Gfx12updateScreenEv+616>: test   %al,%al
0x438982 <_ZN3Gfx12updateScreenEv+618>: jne    0x438926 <_ZN3Gfx12updateScreenEv+526>
0x438984 <_ZN3Gfx12updateScreenEv+620>: addl   $0x1,-0x20(%rbp)
0x438988 <_ZN3Gfx12updateScreenEv+624>: cmpl   $0xef,-0x20(%rbp)
0x43898f <_ZN3Gfx12updateScreenEv+631>: setle  %al
0x438992 <_ZN3Gfx12updateScreenEv+634>: test   %al,%al
0x438994 <_ZN3Gfx12updateScreenEv+636>: jne    0x43882e <_ZN3Gfx12updateScreenEv+278>
0x43899a <_ZN3Gfx12updateScreenEv+642>: mov    0x4198af(%rip),%rax        # 0x852250 <screen>
0x4389a1 <_ZN3Gfx12updateScreenEv+649>: mov    %rax,%rdi
0x4389a4 <_ZN3Gfx12updateScreenEv+652>: callq  0x442d1c <_Z16bmp_unwrite_lineP6BITMAP>
0x4389a9 <_ZN3Gfx12updateScreenEv+657>: callq  0x4420c8 <_Z14release_screenv>
(gdb) thread apply all backtrace

Thread 2 (Thread 0x7ffff0b33910 (LWP 14617)):
#0  0x00007ffff5878373 in poll () from /lib/libc.so.6
#1  0x00007ffff50f50c9 in ?? () from /usr/lib/libasound.so.2
#2  0x00007ffff6bc322f in ?? () from /usr/lib/libopenal.so.1
#3  0x00007ffff6bbe20a in ?? () from /usr/lib/libopenal.so.1
#4  0x00007ffff558fa04 in start_thread () from /lib/libpthread.so.0
#5  0x00007ffff58847bd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fc1710 (LWP 14614)):
#0  0x0000000000438967 in Gfx::updateScreen (this=0x852090) at src/gfx.cpp:299
#1  0x00000000004181f0 in main (argc=1, argv=0x7fffffffe348) at src/vermes.cpp:353
Logged
albert
Member
**

Karma: 1
Offline Offline

Posts: 33


View Profile WWW
« Reply #12 on: December 04, 2009, 02:31:00 PM »

I made a small change. Perhaps that fixes at least this crash. I think there are many more places in the code where there are some assumptions about the size of some variables.

Same problem is btw. also for endian. Not very much care was taken at those parts. I doubt this code will work on big endian. But I'll try to fix all that.
Logged
Anarchid
Level 3 Tactical Techno Horror
Sr. Member
***

Karma: 1
Offline Offline

Posts: 70


Resistance is Futile.


View Profile
« Reply #13 on: December 04, 2009, 04:48:30 PM »

Yay, it works now!

The issues i found:

Already known:
- It does double key events at times, which randomly breaks all the stuff that requires prolonged keypresses (i.e, minigun, bfg in doom, teleporter/grenades in darkarts).

Supposedly new:
- Simultaneously pressing <jump> and <direction> won't make the worm jump - it will ignore the <jump>.
- At least in my case, the lighter ignores ambient light (i.e, the bitmap lightmap), so maps that have shades of darkness end up pitch black. Object-generated light works fine.

Specific to my test:
- the 'bind console key' doesn't work, as a result, the console is not usable. I know it works on other stuff from your videos Tongue


Also:
Quote
- I didn't found an easy way to reselect my weapons. Is there any?
None.

Quote
- You can get stuck on the wall when falling and you press left/right. (But this may be just the different physics.)
It;s a mod-specific option. Doom allows that, in darkarts for instance its disabled.

Quote
- When FPS is slow, it seems you are moving much slower than normal.
Seems connected to the hold-key problem. Gusanos has "walking acceleration" rather than walking speed, so if you repeatedly tap instead of holding, you'll lose much speed.


« Last Edit: December 04, 2009, 05:03:53 PM by Anarchid » Logged
albert
Member
**

Karma: 1
Offline Offline

Posts: 33


View Profile WWW
« Reply #14 on: December 04, 2009, 05:43:14 PM »

Ok, I think I fixed most key input issues (double key events as well as when jump was ignored).

The console key is set in the file default/config.cfg, there is the command SetConsoleKey. I have set it to F3 by default.

You confirm my feeling about something wrong/missing for the lights. Will look into that tomorrow. Do you know in what file it should read those ambient lights?

Edit: Ok, I think I also fixed the lightmap. But now I will go to bed. Tongue
« Last Edit: December 04, 2009, 07:06:41 PM by albert » Logged
Pages: [1] 2 3 4 5 Go Up Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC Valid XHTML 1.0! Valid CSS!