Something not too hard to develop

Something not too hard to develop

Postby hwoarangmy » 19 May 2014, 20:10

Hello,

Now that I'm done with the CMake modifications, is there something not too hard to develop that could make me have a look into OD code ?
Please keep in mind that I am not as comfortable with C++ as with Java :)
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 19 May 2014, 21:34

Heya :)

Without willing to push you in a direction or another, I would advise you to have a look at the different tasks listed in the pages below,
even the already assigned ones, btw:
http://opendungeons.sourceforge.net/wik ... _todo-list
http://opendungeons.sourceforge.net/wik ... =tech_demo
http://sourceforge.net/apps/trac/opendungeons/report/1

Feel free to have a look at the current things to do, whatever complexity or simplicity they seem to have, and look around into the code a bit.
You can also just get through the code, and start making generic syle cleanups, see whether you can see some simplifications, or a mix of all that.

Once you've found something interesting for you, just tell me, and I'll try to help you while you work on it, if you need my help, of course. :)
Just one thing, before starting something, tell us so we don't end doing the same thing by bad luck.

Atm, I'm working on rooms btw. ;)

Best regards,
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby paul424 » 19 May 2014, 22:08

Also :
http://forum.freegamedev.net/viewtopic.php?f=45&t=5480
You can hang out on freenode #opendungeons in the evening ( CET ) so we can chat a little.
User avatar
paul424
OD Moderator
 
Posts: 660
Joined: 24 Jan 2012, 13:54

Re: Something not too hard to develop

Postby hwoarangmy » 19 May 2014, 22:51

I think I will have a look at the main menu (adding campaign, skirmish, ...) to start softly :)
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 20 May 2014, 19:02

Cool, thanks! :)
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby Danimal » 20 May 2014, 19:27

Will you also give them some functionality? if not, please add some simbol to show they do nothing
User avatar
Danimal
OD Moderator
 
Posts: 1407
Joined: 23 Nov 2010, 13:50

Re: Something not too hard to develop

Postby hwoarangmy » 20 May 2014, 20:03

After all, it was eaisier than I thought. I was planning on adding stub buttons but I guess there is no need for that since it is easy and quick to add them when the functionnality will be there.

Then I think I'm gonna have a look at why the game crashes when we start anoher game. I hope i will find something :)
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 21 May 2014, 09:19

Ok, then a few hints:

Maybe you'll want to make the server/game map stop updating when the user is pressing escape.
An pop-up asking the user to confirm he wants to quit the game might be also a good addition, btw.
And note that later, the game map object (which is a common component of ODFrameListener) will have to become a component of the game and editor modes, so we don't have to load/start it when using another application mode, for instance.

Don't take any of this as an order, though. It's just own thoughts written down, hoping they will help you. ;)

Regards,
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby hwoarangmy » 22 May 2014, 21:41

Ok, I will try to implement some kind of pause through the client server mechanism so that if someone pauses, it pauses every connected client.

Concerning the crash, I have seen that the server tries to process a corrupted event. I have not been further but I would guess it is an event that is deleted but still in the process queue. Since the pause mechanism can alter that, I will see if the bug still occurs when the pause will be available :)
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 22 May 2014, 22:24

Interesting :) Eager to see that.
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby Danimal » 23 May 2014, 13:43

Maybe you could have a look as well to the fade in/out effect of music? sounds pretty easy (i migth be terribly wrong).
User avatar
Danimal
OD Moderator
 
Posts: 1407
Joined: 23 Nov 2010, 13:50

Re: Something not too hard to develop

Postby hwoarangmy » 26 May 2014, 23:52

Hello,

I have played a bit with OD code. So far, I have seen some things that I am not really sure how they should be handled so I post it here so that someone who knows better the code can do the best thing :
1 - gui\OpenDungeons.layout - line 79 : <Property name="FrameEnabled" value="False" /> => This property doesn't exists for this control. I guess it is a wrong copy/paste since same lines are near.
2 - materials\scripts\Refl.material - line 13 : texture Envmap_metal2B.png => This texture doesn't exists. However, there is one named texture Envmap_metal2.png so I don't know if it is the right one or if it is missing
3 - File Insect_low.003.skeleton is missing. There is no one with a similar name so maybe a forgotten model ?

Concerning the pause, I cannot use the client/server mecanism as I expected because it doesn't work as I guessed. In fact, I thought that the server was used as a controler to validate games events but as far as I have seen, the events are validated by the client and the server is only used for notification purposes.
BTW, I have tried to implement a pause by stubbing the frame start function within the ODFrameListener when pause is pressed. It works (for the simple cases I have tested - need to be checked with battles) but I will try to display some popup.

Concerning the crash when we start another game, I have seen that it is due to Creature Objects that are deleted but still used in the renderer thread. I keep digging.

If someone can have a look at the 3 first points...
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 27 May 2014, 10:16

Heya :)

I can see you're making real progress in understanding the beast. ;)

1 - gui\OpenDungeons.layout - line 79 : <Property name="FrameEnabled" value="False" /> => This property doesn't exists for this control. I guess it is a wrong copy/paste since same lines are near.

That one might be my fault. I'll take care of removing the line if you want.

2 - materials\scripts\Refl.material - line 13 : texture Envmap_metal2B.png => This texture doesn't exists. However, there is one named texture Envmap_metal2.png so I don't know if it is the right one or if it is missing

No clue either. Danimal? Elvano?

3 - File Insect_low.003.skeleton is missing. There is no one with a similar name so maybe a forgotten model ?

The model files (.mesh) can invoke any named skeleton file and any named material file to texture them. For instance, the Dojo.mesh file is invoking the Treasury.material file.
To know whether something is missing here, we'd need to know which model file requested the skeleton. Does the log tell it?

Concerning the pause, I cannot use the client/server mecanism as I expected because it doesn't work as I guessed. In fact, I thought that the server was used as a controler to validate games events but as far as I have seen, the events are validated by the client and the server is only used for notification purposes.

It's true certain client parts of the code are validating updates on game state, not asking the server to do those for it. And that's exactly what's wrong, a few exceptions apart, IMHO.

One part of the multiplayer support work is to make sure the client never updates the game state itself, but rather ask the server to do so, so that we can make sure the server notifies every clients about the update. There might be exceptions where, for instance, the client will want to send a render request right away along with notifying the server, to make things a bit quicker, but I still do think it should be rare.
The Editor mode isn't concerned by that part, of course.

BTW, I have tried to implement a pause by stubbing the frame start function within the ODFrameListener when pause is pressed. It works (for the simple cases I have tested - need to be checked with battles) but I will try to display some popup.

Ah, just in case, you should make sure only the client which is hosting can do that.

Concerning the crash when we start another game, I have seen that it is due to Creature Objects that are deleted but still used in the renderer thread. I keep digging.

Ah yes, must be what oln said in the corresponding issue in the tracker. Note that the game updates should be stopped as soon as you quit the game (when pressing escape for now, and later after pushing yes in a confirm dialog.). Maybe working on this could help?

Keep it up! :)

Best regards,
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby Danimal » 27 May 2014, 15:25

2 - materials\scripts\Refl.material - line 13 : texture Envmap_metal2B.png => This texture doesn't exists. However, there is one named texture Envmap_metal2.png so I don't know if it is the right one or if it is missing


No clue either. Danimal? Elvano?


Its a bit hard to say because i dont know who is going to receive it, but looking at it:

- If "refl." stands for reflective, "Envmap_metal2.png" is indeed a texture for reflections
- "env_map spherical" is a line inside "Refl.material"; "Envmap_metal2.png" is indeed a spherical texture

Reason says that it is that one, maybe they were trying to test something and forgot to rename. I think you can correct it without much problem or negative consecuences, worst case scenario knigths will look ugly due to wrong reflections (they are the ones with more visible metal armor)
User avatar
Danimal
OD Moderator
 
Posts: 1407
Joined: 23 Nov 2010, 13:50

Re: Something not too hard to develop

Postby hwoarangmy » 27 May 2014, 19:16

Bertram {l Wrote}:That one might be my fault. I'll take care of removing the line if you want.
I don't really care, it's just that an exeption in thrown. So, it is better if it is removed :)

Bertram {l Wrote}:The model files (.mesh) can invoke any named skeleton file and any named material file to texture them. For instance, the Dojo.mesh file is invoking the Treasury.material file.
To know whether something is missing here, we'd need to know which model file requested the skeleton. Does the log tell it?
I'm gonna hav a look

Bertram {l Wrote}:It's true certain client parts of the code are validating updates on game state, not asking the server to do those for it. And that's exactly what's wrong, a few exceptions apart, IMHO.
As far as I've seen, everything is validated on the client and only notified to the server. That means that synchronization between clients in multiplayer mode will not be as good as it could. If I am not mistalken, when playing in single player, the client socket is not even created. The best would be to have the same behaviour in single player and multiplayer. But again, I have not seen all the code so I might have not seen something yet.

Bertram {l Wrote}:Ah, just in case, you should make sure only the client which is hosting can do that.
Is there some way to test multiplayer mode ?

Bertram {l Wrote}:Ah yes, must be what oln said in the corresponding issue in the tracker. Note that the game updates should be stopped as soon as you quit the game (when pressing escape for now, and later after pushing yes in a confirm dialog.). Maybe working on this could help?
I'm gonna have a look at how to properly stop Ogre then :)
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby hwoarangmy » 27 May 2014, 20:01

Bertram {l Wrote}:The model files (.mesh) can invoke any named skeleton file and any named material file to texture them. For instance, the Dojo.mesh file is invoking the Treasury.material file.
To know whether something is missing here, we'd need to know which model file requested the skeleton. Does the log tell it?
Ok, I have checked. The winner is "Creature_CaveHornet8"
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 28 May 2014, 01:13

Ok, that's something the art team will have to deal with, I guess?

I'll remove the CEGUI line and rename the texture.
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby hwoarangmy » 01 Jun 2014, 17:50

Hello,

The confirmation popup when user presses escape works. It pauses the game when it is displayed. I will upload it on github when I get back home (next week).
As far as I have seen, there is no regression. But the game still crashes the same way when a new one is started. It seems to have a problem with the way everything is closed. I will have a look when I can.
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby paul424 » 01 Jun 2014, 19:39

" But the game still crashes the same way when a new one is started. It seems to have a problem with the way everything is closed. I will have a look when I can."
Well , to understand that is to study quite complex mechanism how objects interact with one another. I did many code adjustment for startup , and haven't found out what it is [ though , I wasn't looking explicitly for that ] .... On the other hand you keep writing you want something not too hard to develop ...
User avatar
paul424
OD Moderator
 
Posts: 660
Joined: 24 Jan 2012, 13:54

Re: Something not too hard to develop

Postby hwoarangmy » 01 Jun 2014, 20:22

I agree it is probably not the easiest bug to find but when I put my finger on something, I like to see the end :) And I believe it is a good occasion to have an overall look at how the game is done.

But I think it is not the most complicated. In the end, it will probably be something wrong with some lifecycle. If I were to do a new development, it would be harder for me because I don't know how the game is done well enough (I am thinking not only the way Ogre works but also the way it is used in this project). So I would probably end up doing stuff that would break the game architecture (for example the the client - server handling).
That's why I think that a good way to start on an existing project is to do some debug :)
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 02 Jun 2014, 22:21

The confirmation popup when user presses escape works. It pauses the game when it is displayed. I will upload it on github when I get back home (next week).
As far as I have seen, there is no regression. But the game still crashes the same way when a new one is started. It seems to have a problem with the way everything is closed. I will have a look when I can.


Cool! :)
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby hwoarangmy » 09 Jun 2014, 01:30

I have forked your github repository and open a pull request. The popup asking confirmation is there and the game pauses when escape is pressed. I have probably not tested everything but from what I have seen, there are no regression.

Now, I will have a look on the game crash. I have seen why you were talking about the game map object (at first, I didn't understand what you were talking about :) ). I agree it might be related to the crash. In any case, it should definitely be inside the game mode and editor so I will try to do that :)
hwoarangmy
 
Posts: 567
Joined: 16 Apr 2014, 19:13

Re: Something not too hard to develop

Postby Bertram » 09 Jun 2014, 10:33

Hi hwoarangmy, :)

I've tested it and it's working fine. More importantly, it was fun to see the kind of window frame you were using. XD

I do think we should use a more common background and size for this pop-up, but to me it's worth merging as a good first step in the right direction.
I'll merge all that.

Best regards,
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby Bertram » 09 Jun 2014, 11:27

Hi again,

I changed the exit popup to be a bit more conventional (follow the look and feel of the rest of the gui).
Thanks again for the work on this!
User avatar
Bertram
VT Moderator
 
Posts: 1652
Joined: 09 Nov 2012, 12:26

Re: Something not too hard to develop

Postby Danimal » 09 Jun 2014, 14:16

Dont be mean and show hmw's pop up screen. Im all intrigued
User avatar
Danimal
OD Moderator
 
Posts: 1407
Joined: 23 Nov 2010, 13:50

Who is online

Users browsing this forum: No registered users and 1 guest