Lips of Suna 0.6.0 released

Lips of Suna 0.6.0 released

Postby amuzen » 27 May 2012, 13:16

los060g.jpg


Lips of Suna 0.6.0 has been released. Grab the downloads from the project website and take a look at some of the 26 new screenshots in there. An updated video of the game will be released once I get my recording setup fixed.

Feel free to post feedback and discuss the release in this thread. In particular, I would appreciate feedback that focuses on the big picture, such as what new features would be nice to have or what changes would improve the gameplay a lot.

NOTE: Currently, there is no blog post because the Wordpress app hosted by SourceForge is experiencing extended downtime. The blog post will be published once they have restored the service. For the time being, here is the change log of the release:

  • New graphics engine based on Ogre.
  • New keyboard-friendly user interface.
  • Added an overworld map area.
  • Added primitive labyrinth dungeons.
  • Added landmark objects that are visible from distance.
  • Added several new spells, skills and monsters.
  • Spells and skills can be unlocked by completing quests.
  • More responsive controls and better hit checking for attacks.
  • Several improvements to the AI.
  • Added random item fetching and NPC killing quests.
  • Added unique attacks and strategies for certain monsters.
  • Added cel-shading and outline rendering.
  • Added some new character creation settings.
  • Added an object specification browser to the editor.
  • Large rewrites to make adding and maintaining content easier.
Last edited by amuzen on 10 Aug 2013, 11:35, edited 1 time in total.
Reason: Unsticky
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: Lips of Suna 0.6.0 released

Postby gruntunbur » 29 May 2012, 13:54

its crashing here. pulled from git
I've compiled ogre 1.8.0 with debug symbols to get more useful info from gdb however it doesn't do any good really
a backtrace from the segfault which happens when I start a new game right after showing the character creation options
Code: Select all
(gdb) backtrace
#0  0x00007ffff615f84b in Ogre::OptimisedUtilSSE::concatenateAffineMatrices (this=0x7ffff6630310, baseMatrix=..., pSrcMat=0x7fffe2284400, pDstMat=0x7fffe2284b20, numMatrices=27)
    at ~/abs/ogre/src/ogre_src_v1-8-0/OgreMain/src/OgreOptimisedUtilSSE.cpp:1546
#1  0x0000000000000000 in ?? ()

as you can see the #1 stack can't find anything useful as a return argument or whatever
don't have a clue about that. could be anything. most simple would be that I'll have to try and compile the other libraries with debug symbols.. meh
or it could be some weird memory access fun, threads failing, Satan himself
anyways there is a slight problem when trying to debug. a little talk about it here: http://www.ogre3d.org/forums/viewtopic.php?f=1&t=56801 i used option 2, option 3 is no more :(
or maybe there is already a flag to change the OIS mouse grabbing behavior?

if anybody else reports the same segfault it might not be a quirk of my own setup. but for now I guess its just me.
using all the required library versions or newer,
using the ati-dri 8.0.3 opensource drivers
xorg-server 1.12
x86_64
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: Lips of Suna 0.6.0 released

Postby amuzen » 29 May 2012, 15:00

It is hard to conclude much about that. However, since Ogre 1.8.0 was released only a few days ago, the game has not been tested with it yet. Because of that, it would not surprise me if it crashed with it. I will have to test with it myself before I can tell whether it is a compatibility problem or something else.

I added some more instructions to our wiki on how to avoid the mouse grab issues while using gdb. I think that they might be a bit more convenient than the suggestions in that forum thread.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: Lips of Suna 0.6.0 released

Postby KroArtem » 29 May 2012, 16:15

http://pastebin.com/HrxgWFGD
All I can see is a black screen.
glxinfo:
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL version string: 3.0 Mesa 8.1-devel
OpenGL shading language version string: 1.30

The problem is that lipsofsuna was working with intel graphics some time ago. Probably a regression in drivers, I don't know.
KroArtem
 
Posts: 364
Joined: 26 Aug 2010, 19:04

Re: Lips of Suna 0.6.0 released

Postby gruntunbur » 30 May 2012, 14:23

ah, i forgot ogre 1.8 was just released
oddly enough, using an ogre 1.7.2 library with debug symbols results in an almost identical backtrace i posted previously
a more usefull backtrace using ogre 1.7.2 without debug symbols: (paranoia made me replace /home/username/ with ~/)
Code: Select all
(gdb) backtrace
#0  0x00007ffecf6503c7 in Ogre::OptimisedUtilSSE::concatenateAffineMatrices(Ogre::Matrix4 const&, Ogre::Matrix4 const*, Ogre::Matrix4*, unsigned long) () from /usr/lib/libOgreMain.so.1.7.2
#1  0x00007ffeb588f988 in ?? ()
#2  0x00007ffecf593bc7 in Ogre::Entity::updateAnimation() [clone .part.99] () from /usr/lib/libOgreMain.so.1.7.2
#3  0x00007ffecf596685 in Ogre::Entity::_updateRenderQueue(Ogre::RenderQueue*) () from /usr/lib/libOgreMain.so.1.7.2
#4  0x000000000049a227 in LIRenEntity::_updateRenderQueue (this=0x7ffeb588f988, queue=0x7ffec6dd1158) at ../src/lipsofsuna/render/internal/render-entity.cpp:182
#5  0x00007ffecf69d03c in Ogre::RenderQueue::processVisibleObject(Ogre::MovableObject*, Ogre::Camera*, bool, Ogre::VisibleObjectsBoundsInfo*) () from /usr/lib/libOgreMain.so.1.7.2
#6  0x00007ffec471881a in Ogre::OctreeNode::_addToRenderQueue(Ogre::Camera*, Ogre::RenderQueue*, bool, Ogre::VisibleObjectsBoundsInfo*) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#7  0x00007ffec471bb8e in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#8  0x00007ffec471bc35 in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#9  0x00007ffec471bc35 in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#10 0x00007ffec471bc35 in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#11 0x00007ffec471bc35 in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#12 0x00007ffec471bc35 in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#13 0x00007ffec471bc35 in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#14 0x00007ffec471bc35 in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#15 0x00007ffec471bd8c in Ogre::OctreeSceneManager::walkOctree(Ogre::OctreeCamera*, Ogre::RenderQueue*, Ogre::Octree*, Ogre::VisibleObjectsBoundsInfo*, bool, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#16 0x00007ffec471bfb8 in Ogre::OctreeSceneManager::_findVisibleObjects(Ogre::Camera*, Ogre::VisibleObjectsBoundsInfo*, bool) () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#17 0x00007ffecf6eb785 in Ogre::SceneManager::_renderScene(Ogre::Camera*, Ogre::Viewport*, bool) () from /usr/lib/libOgreMain.so.1.7.2
#18 0x00007ffecf55afac in Ogre::Camera::_renderScene(Ogre::Viewport*, bool) () from /usr/lib/libOgreMain.so.1.7.2
#19 0x00007ffecf6b7c2d in Ogre::RenderTarget::_updateViewport(Ogre::Viewport*, bool) () from /usr/lib/libOgreMain.so.1.7.2
#20 0x00007ffecf6b7dfb in Ogre::RenderTarget::_updateAutoUpdatedViewports(bool) () from /usr/lib/libOgreMain.so.1.7.2
#21 0x00007ffecf6b782e in Ogre::RenderTarget::updateImpl() () from /usr/lib/libOgreMain.so.1.7.2
#22 0x00007ffecf6b7c9c in Ogre::RenderTarget::update(bool) () from /usr/lib/libOgreMain.so.1.7.2
#23 0x00007ffecf6f0034 in Ogre::SceneManager::prepareShadowTextures(Ogre::Camera*, Ogre::Viewport*, Ogre::HashedVector<Ogre::Light*> const*) () from /usr/lib/libOgreMain.so.1.7.2
#24 0x00007ffecf6ebb3b in Ogre::SceneManager::_renderScene(Ogre::Camera*, Ogre::Viewport*, bool) () from /usr/lib/libOgreMain.so.1.7.2
#25 0x00007ffecf55afac in Ogre::Camera::_renderScene(Ogre::Viewport*, bool) () from /usr/lib/libOgreMain.so.1.7.2
#26 0x00007ffecf6b7c2d in Ogre::RenderTarget::_updateViewport(Ogre::Viewport*, bool) () from /usr/lib/libOgreMain.so.1.7.2
#27 0x00007ffecf6b7dfb in Ogre::RenderTarget::_updateAutoUpdatedViewports(bool) () from /usr/lib/libOgreMain.so.1.7.2
#28 0x00007ffecf6b782e in Ogre::RenderTarget::updateImpl() () from /usr/lib/libOgreMain.so.1.7.2
#29 0x00007ffecf6b7c9c in Ogre::RenderTarget::update(bool) () from /usr/lib/libOgreMain.so.1.7.2
#30 0x00007ffecf6a401f in Ogre::RenderSystem::_updateAllRenderTargets(bool) () from /usr/lib/libOgreMain.so.1.7.2
#31 0x00007ffecf6db93a in Ogre::Root::_updateAllRenderTargets() () from /usr/lib/libOgreMain.so.1.7.2
#32 0x00007ffecf6dba00 in Ogre::Root::renderOneFrame() () from /usr/lib/libOgreMain.so.1.7.2
#33 0x00000000004c098c in liren_internal_update (self=0x2edc2a0, secs=0.00590999983) at ../src/lipsofsuna/render/internal/render.cpp:498
#34 0x0000000000489233 in liren_render_update (self=0x2edc2a0, secs=0.00590999983) at ../src/lipsofsuna/render/render.c:230
#35 0x00000000004fdc24 in private_engine_tick (self=0x2ed9910, secs=0.00590999983) at ../src/lipsofsuna/extension/graphics/ext-module.c:216
#36 0x0000000000433fac in lical_marshal_DATA_FLT (call=0x4fdbf8, data=0x2ed9910, args=0x7fff2838a740) at ../src/lipsofsuna/callback/cal-marshal.c:37
#37 0x000000000043314f in lical_callbacks_call (self=0x209e780, type=0x54b692 "tick", marshal=0x433f27 <lical_marshal_DATA_FLT>) at ../src/lipsofsuna/callback/cal-callbacks.c:105
#38 0x000000000043a7ef in limai_program_update (self=0x2094fb0) at ../src/lipsofsuna/main/main-program.c:661
#39 0x00000000004cff38 in Program_update (args=0x7fff2838a8b0) at ../src/lipsofsuna/script/script-program.c:209
#40 0x00000000004caa7b in liscr_marshal_CLASS (lua=0x209f010) at ../src/lipsofsuna/script/script-args.c:1129
#41 0x00007ffed0e5e374 in ?? () from /usr/lib/liblua.so.5.1
#42 0x00007ffed0e68c98 in ?? () from /usr/lib/liblua.so.5.1
#43 0x00007ffed0e5e7cd in ?? () from /usr/lib/liblua.so.5.1
#44 0x00007ffed0e5a3f6 in lua_call () from /usr/lib/liblua.so.5.1
#45 0x00007ffed0e72c6c in ?? () from /usr/lib/liblua.so.5.1
#46 0x00007ffed0e5e374 in ?? () from /usr/lib/liblua.so.5.1
#47 0x00007ffed0e68c98 in ?? () from /usr/lib/liblua.so.5.1
#48 0x00007ffed0e5e7cd in ?? () from /usr/lib/liblua.so.5.1
#49 0x00007ffed0e5da1a in ?? () from /usr/lib/liblua.so.5.1
#50 0x00007ffed0e5e97f in ?? () from /usr/lib/liblua.so.5.1
#51 0x00007ffed0e5a491 in lua_pcall () from /usr/lib/liblua.so.5.1
#52 0x00000000004d6608 in private_exec_script (self=0x209e6c0) at ../src/lipsofsuna/script/script.c:311
#53 0x00000000004d63d4 in liscr_script_load_file (self=0x209e6c0, path=0x20a1eb0 "~/games/lipsofsuna-git/data/lipsofsuna/main.lua", path_mod=0x2095370 "~/games/lipsofsuna-git/data/lipsofsuna",
    path_core=0x2095340 "~/games/lipsofsuna-git/data") at ../src/lipsofsuna/script/script.c:208
#54 0x0000000000439ee3 in limai_program_execute_script (self=0x2094fb0, file=0x54b7ae "main.lua") at ../src/lipsofsuna/main/main-program.c:309
#55 0x000000000043bbac in main (argc=1, argv=0x7fff2838aef8) at ../src/lipsofsuna/main/main.c:106

in hindsight of KroArtems post i should note that I think the ati-dri driver updated in between my previous build ( when reviewing the new UI )
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD REDWOOD
OpenGL version string: 2.1 Mesa 8.0.3
OpenGL shading language version string: 1.20
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: Lips of Suna 0.6.0 released

Postby amuzen » 30 May 2012, 15:28

gruntunbur wrote:ah, i forgot ogre 1.8 was just released
oddly enough, using an ogre 1.7.2 library with debug symbols results in an almost identical backtrace i posted previously


Well, it probably is not because of Ogre 1.8.0. I just tested with it, but it worked fine for me. I also tried to run the game in Valgrind in order to find potential memory violations that could be causing it, but I found nothing suspicious. Since I cannot reproduce it and it crashes inside Ogre, it is quite difficult to guess why it would happen.

KroArtem wrote:The problem is that lipsofsuna was working with intel graphics some time ago. Probably a regression in drivers, I don't know.


It being a driver bug sounds somewhat plausible since it seems to crash in the GLSL compiler of your driver. That should normally never happen, and the shaders are compiled quite early so there is not much in the game that could break it.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: Lips of Suna 0.6.0 released

Postby gruntunbur » 30 May 2012, 17:49

i tried some downgrading up to.. or down to 8.0.2 8.0.1 7.11.2 and 7.10.3 ( mesa or ati-dri and libgl )
It crashes at the same time. just after showing the character creation menu
display was corrupted with 7.10.3 "jagged" i would call it
i don't think this proves allot besides that downgrading did not remove the segfault for me.
older versions will most likely perform worse

back to ogre 1.8.0 and mesa 8.0.3
starting the editor works but it will crash after loading a level. it shows a part of the lvl geometry before crashing
backtrace shows the same kind of segfault. a render update through LIRenEntity::_updateRenderQueue -- liren_render_update

could i revert back to a commit where you just added the new UI and asked for feedback? it worked for me at the time
if so, can you name the commit? :) it might show if it is my current driver and i can stop spamming the 0.6 release thread ^_^
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: Lips of Suna 0.6.0 released

Postby amuzen » 31 May 2012, 04:53

I am quite confident that the problem is in the code of the game, but the bug has likely been introduced somewhere in the last 250 commits. That is such a long time ago that it is not worth it to go back there.

The backtrace only shows where the crash occurs, but it is not possible to tell what is causing it or what could be done to fix it. Most likely, the function that needs to be fixed is not in the backtrace at all, but has been called earlier. Hence, more information is needed. However, gathering it with gdb can get quite complex since you would have to print the values of variables in multiple stack frames. This might be too hard for a non-programmer, and I cannot do it myself since the bug does not occur for me.

Some questions that might help with narrowing down the issue:

  • Do you know if your Ogre has been compiled with multithreading enabled? If you compiled Ogre yourself, the values of OGRE_CONFIG_THREADS and OGRE_CONFIG_THREAD_PROVIDER in CMakeCache.txt would be enough to determine this.
  • Have you tried whether changing the shader quality in the options screen of LoS has any effect on the crash? Particularly, switching to shader quality 1 and then trying to enter the game would be interesting.
  • Are there any errors in the render.log file that the game creates in the current working directory when ran? You can pastebin the file if you prefer, but be aware that the file contains lots of full path names to various files and directories used by the game. :p
  • What graphics card do you have?
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: Lips of Suna 0.6.0 released

Postby gruntunbur » 31 May 2012, 10:06

yep ogre has multithreading
tested with shader quality 3 2 and 1. same stuff
besides not able to find icons1.png and mainmenu1.png ( the .dds versions are there ) not much
graphic card: radeon hd 5570 ( using mesa/opensource drivers ) https://en.wikipedia.org/wiki/Evergreen_(GPU_family)

in the editor I can load some lvl segments. it seems that as long as there are just static object nothing crashes.
loading for example "walltower" does not crash and i can look around and stuff
when loading "supplycamp1" i can look arround but it will crash when looking a particular direction
the render.log at that time always end with loading aer1 textures:
Code: Select all
10:50:15: Vertex Program:OgreTerrain/2495830776/sm2/vp/comp/comp Fragment Program:OgreTerrain/2495830776/sm2/fp/comp GLSL link result :
10:50:22: GLSL compiled:
10:50:22: GLSL compiled:
10:50:22: Vertex Program:OgreTerrain/2495830776/sm2/vp/hlod/hlod Fragment Program:OgreTerrain/2495830776/sm2/fp/hlod GLSL link result :
10:50:22: Texture: tree4.dds: Loading 1 faces(PF_A8B8G8R8,1024x1024x1) with 10 custom mipmaps from Image. Internal format is PF_A8R8G8B8,1024x1024x1.
10:50:22: Texture: tree4n.dds: Loading 1 faces(PF_A8B8G8R8,1024x1024x1) with 10 custom mipmaps from Image. Internal format is PF_A8R8G8B8,1024x1024x1.
10:50:22: Texture: stone-001.dds: Loading 1 faces(PF_A8B8G8R8,512x512x1) with 9 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
10:50:22: Texture: wood1.dds: Loading 1 faces(PF_A8B8G8R8,512x512x1) with 9 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
10:50:22: Texture: HouseLong_grp.dds: Loading 1 faces(PF_A8B8G8R8,1024x1024x1) with 10 custom mipmaps from Image. Internal format is PF_A8R8G8B8,1024x1024x1.
10:50:22: Texture: portal1.dds: Loading 1 faces(PF_A8B8G8R8,1024x1024x1) with 10 custom mipmaps from Image. Internal format is PF_A8R8G8B8,1024x1024x1.
10:50:22: Texture: tree3.dds: Loading 1 faces(PF_A8B8G8R8,512x512x1) with 9 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
10:50:22: Texture: tree3n.dds: Loading 1 faces(PF_A8B8G8R8,512x512x1) with 9 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
10:50:22: Texture: bloomers1.dds: Loading 1 faces(PF_A8B8G8R8,1024x1024x1) with 10 custom mipmaps from Image. Internal format is PF_A8R8G8B8,1024x1024x1.
10:50:22: Texture: bloomers1n.png: Loading 1 faces(PF_A8R8G8B8,1024x1024x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,1024x1024x1.
10:50:22: Texture: granite1.png: Loading 1 faces(PF_R8G8B8,1024x1024x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,1024x1024x1.
10:50:22: Texture: granite1n.png: Loading 1 faces(PF_R8G8B8,1024x1024x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,1024x1024x1.
10:50:22: Texture: bricks3.dds: Loading 1 faces(PF_A8B8G8R8,512x512x1) with 9 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
10:50:22: Texture: bricks3n.png: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:50:23: Texture: wood1n.png: Loading 1 faces(PF_A8R8G8B8,512x512x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
10:50:23: Texture: aer1.dds: Loading 1 faces(PF_B8G8R8,2048x2048x1) with 11 custom mipmaps from Image. Internal format is PF_X8R8G8B8,2048x2048x1.
10:50:23: Texture: aer1n.png: Loading 1 faces(PF_A8R8G8B8,2048x2048x1) with 5 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,2048x2048x1.
10:50:23: Texture: eye1.dds: Loading 1 faces(PF_A8B8G8R8,1024x1024x1) with 10 custom mipmaps from Image. Internal format is PF_A8R8G8B8,1024x1024x1.


edit:
it might nog be right to suggest it has to do with nonstatic models
on "ruins2" its the same story but render.log ends with
Code: Select all
11:11:31: Vertex Program:OgreTerrain/4203353278/sm2/vp/hlod/hlod Fragment Program:OgreTerrain/4203353278/sm2/fp/hlod GLSL link result :
gruntunbur
 
Posts: 45
Joined: 27 Jul 2011, 21:04

Re: Lips of Suna 0.6.0 released

Postby amuzen » 01 Jun 2012, 10:26

No, it is certainly because of animated objects. I committed one fix related to it, but since it is a rather uneducated guess due to the lack of information, it is unclear whether it would help. If it does not work, you would have to join our IRC channel so that I can walk you through using gdb to extract the information that we need.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: Lips of Suna 0.6.0 released

Postby DrAltaica » 07 Jun 2012, 07:03

So does 0.6.0 have dual quaternion skinning? I had assumed that Ogre would have had that GSoC11 project to add dual quaterion support would be merged into the trunk by now. But I haven't been able to find any talk about it on the ogre site. :cry:
User avatar
DrAltaica
 
Posts: 9
Joined: 26 Dec 2009, 14:49

Re: Lips of Suna 0.6.0 released

Postby amuzen » 07 Jun 2012, 10:51

No, 0.6.0 uses traditional skinning because Ogre 1.7.x does not have dual quaternion support. Ogre 1.8.x seems to have dual quaternions, and the API documentation suggests that they could be made accessible to shaders too. However, since there is no up to date manual, it is not clear how to do that with Ogre's program scripts.

Since almost everyone is still stuck with Ogre 1.7.x, we cannot quite rely on dual quaternions yet. However, migrating to them when 1.8.x is widely adopted sounds feasible. Dual quaternions looked promising when I toyed with them in our old graphics engine, so it would be nice to have them back eventually.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: Lips of Suna 0.6.0 released

Postby charlie » 07 Jun 2012, 12:21

Any reason not to adopt Ogre 1.8 fairly quickly? From the release announcement it sounds like they spent quite a bit of time ensuring it is a good release.

http://www.ogre3d.org/2012/05/28/ogre-1 ... n-released
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Site Admin
 
Posts: 1509
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Lips of Suna 0.6.0 released

Postby amuzen » 07 Jun 2012, 13:26

The timing of the Ogre 1.8 release is rather unfortunate because Ubuntu and Mint ended up shipping 1.7 in their long-term releases just before it. Most of the other major Linux distributions probably do not provide 1.8 either, so dropping support for 1.7 is not an option at the moment. It will likely take a few years until 1.8 is sufficiently widely adopted.

However, that does not mean that we do not support 1.8. The game should already compile and run with it, although there are a few graphical glitches not yet fixed. Utilizing some of the new features of 1.8 is also possible, but it is not quite so tempting since writing a fallback that works in 1.7 would be necessary.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Re: Lips of Suna 0.6.0 released

Postby charlie » 07 Jun 2012, 15:28

Why don't you just compile Ogre into the game? I mean, is it that massive as a library?
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Site Admin
 
Posts: 1509
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Lips of Suna 0.6.0 released

Postby amuzen » 07 Jun 2012, 17:56

It is quite big. Ogre would constitute about 80% of the total code if it were bundled to LoS. Bundling would also make compiling the game more difficult since you would have to deal with two different build systems and install more dependencies. It would not be significantly easier than having to compile Ogre from source first.

Besides, I do not want to maintain or support the bundled version of Ogre. People already have plenty of trouble compiling and running the game itself. Hooking Ogre and its dependencies to the build process would only make the situation worse. I would rather code the fallbacks than increase the time spent troubleshooting issues that people are having with the build process.

Furthermore, bundling is widely frowned upon people who create packages for Linux distributions. Some distributions may refuse to package your game altogether if you bundle dependencies. I do not want to risk that because distro packages are the easiest option for both players and me. LoS is already packaged for a few distros, but I would like to see the number increase as much as possible.
User avatar
amuzen
LoS Moderator
 
Posts: 327
Joined: 05 Dec 2009, 02:49

Who is online

Users browsing this forum: No registered users and 2 guests