0
September 22, 2017, 03:13:33 pm   
*
Welcome, Guest. Please login or register.

Login with username, password and session length
 
Pages: [1]
  Print  
Author Topic: note on netpanzer development  (Read 8993 times)
0 Members and 1 Guest are viewing this topic.
krom
Sergeant
*******
Posts: 493



« on: September 18, 2008, 05:17:58 pm »

Note: I know this message is not for many players, but if you are interested in the next netpanzer or can compile the svn versions, I encourage you to read.

First I want to clarify some points:
1- I didn't write netpanzer, it was done by other people 10 years ago, later it was opensourced, some other people took it and worked for some time and 3 years ago work on it stopped. I'm the current developer and I do it just for the sake of doing it (ok, ok, and to get more experience, I want to pass to next level and get a "keyboard of light +3").
2- There is no thinking group of people or roadmap on what to do "next" on the game, I just poke around the code and try to make it better, on the way fixes and changes gets done.
3- (shouldn't say this, and I may be wrong, but) I don't see the point of the game, just waiting long periods to get many tanks then moving them from point to point and shooting other tanks while moving is not really strategy. Let me tell you this, of two players of similar level, the one that gets a better connection to the server will win, unless the other has more experience playing with laggy servers and can predict better the position of the other player tanks "in the server".

Now for the text I wrote originally:

As some of you know there are some on going changes on the game. As I study the code to do the changes I find more parts that needs to be modified, and some changes that shouldn't be difficult becomes a mayor rewrite.

One example of this: I want to add a bottom bar similar to other RTS games, with the map on left, and other information on right. The first part was to modify the tile engine that paints the play area of the game. After reading it found it was over complicated, it was written in 4 files and was painting directly to the screen. At the end I rewrote it (in svn 1057 i think) and it is only about 50 lines of code, thus removing the old 4 files. This new 50 lines of code can paint the game in any size, it could even (as example, don't ask for this now) be used to paint two different parts of the map on the screen (like a split screen) and the player would be able to see 2 (or even more!) parts of the game and fight quickly big battles or even several battles.

After that change I tested a little and found that the part that check for the player commands (moving the mouse or clicking) was done in other part of the code, and that part of the code doesn't check for the size of the view window, so even if you cannot see the map because the window was smaller you could still click on it to move or to select units (only if you make the window smaller modifying the code). Following that code also found that there is other part of the game that handles the player commands. Following that one finds that at the end of the story there are around 10 files that has to be checked/modified for the control things. The solution is to rewrite it so all the controls pass on the same point, and by the way allow it to be configurable.

Some times I get amazed that the game is working almost correctly. If this game was developed in a company the boss would say: "results is what matter". Luckily it is not and I can have all the time needed to find better algorithms. 

So it comes to this, the first step will be to remove code and move/rewrite parts of this where makes sense, to make the code ready to bigger changes/new development. On the way some changes will be done, some of these might not be liked by all (that is not possible) but can be tweaked.

Now I ask you, the players for comments/suggestions/requests, not only for this post but for the updates that gets into SVN, this last is very important so I can know if the changes done goes on the right direction, and to think the next step.

There is a list of points known by everyone:
- Player flags: needs protocol changes and there are some inherent problems that needs to be defined before the work is finish, like some player doing a copy of a flag, modify a little and connect to server, you could have two different players with same "visual" flag but different in server. Also this needs protocol change.
- Alliance confirmation, needs protocol change (protocol change = incompatible with previous netpanzer versions).
- Fog of war, this is big if done right, or it could be possible to do some shit on the code and make it work in short time but unable to be modifiable and with some other problems to the general code.
- some other i can't think right now.

Regards.
Logged

The rabbit doesn't fly alone
Adam85
Private 1st Class
***
Gender: Male
Posts: 81


WWW
« Reply #1 on: September 18, 2008, 05:58:47 pm »

Thanks for your great work :-)

I think its more points to do:
* deselected
* production bug http://www.netpanzer.org/forum/index.php?topic=168.0
* base bug http://www.netpanzer.org/forum/index.php?topic=178.0
* game on screen resolution 1280x1024 v1059



And You have right in point 3 :-)
« Last Edit: September 18, 2008, 07:41:50 pm by Adam85 » Logged

narcisgarcia
Private
**
Posts: 26


WWW
« Reply #2 on: September 18, 2008, 06:24:22 pm »

First I say the same:
Thanks for your great work :-)

Next, about the sense of the project: I feel this game as a board game (as Draughts) that needs some learning to pass to the strategy point/level. As it isn't an abstract game (you see tanks and other simulation of reality) the people starts playing it only thinking in what they see on the screen.

The game hasn't a long tour to find more and more features, and I think it's better the project not to grow but improve as application:
  • Correct the flags issue, making the server able to negotiate which protocol to use (old or new) with each client
  • Making the alliance confirmation, with the same dual protocol negotiation, based on application version
  • Open (in the easiest way) the software to be translatable to other languages
  • Introduce game-time corrections to the problems around good/bad connections (compensate with faster tank manufacturing, stronger shields to the tanks,..)
  • Improve the existing features
  • Make a configuration editor with some help
  • Improve the community with map editor
Logged
krom
Sergeant
*******
Posts: 493



« Reply #3 on: September 18, 2008, 06:47:39 pm »

* game on screen resolution 1280x1024

Try svn 1059, there is a quick change to enable it, but beware, FPS drops from 50 to 30 in my system.

btw both of you are welcome.
Logged

The rabbit doesn't fly alone
Adam85
Private 1st Class
***
Gender: Male
Posts: 81


WWW
« Reply #4 on: September 18, 2008, 07:37:32 pm »

I just say thanks :-)


Great!


----edit----
On my system FPS ~50
« Last Edit: September 18, 2008, 08:00:54 pm by Adam85 » Logged

rbf192
Recruit
*
Posts: 1


« Reply #5 on: September 19, 2008, 03:03:26 am »

Hey krom, nice work, I hope this works out for you
Logged
wile64
Global Moderator
Corporal
*****
Gender: Male
Posts: 190


WWW
« Reply #6 on: September 19, 2008, 11:51:46 am »

    * Make a configuration editor with some help

I created this serveur config editor for linux and windows (not apple for build too), I distribute later
    * Improve the community with map editor

In progress...
Logged

"If debugging is the art of removing bugs, then programming must be the art of creating!"
fu
Corporal
*****
Gender: Male
Posts: 177



« Reply #7 on: September 19, 2008, 01:16:41 pm »

First af all thanks for your efforts Krom, we all appreciate this  Wink

I would like to explain my point on NP (a bit long, sorry).

We should make a distinction between "objective mode" and "frag mode" (frag limit and time limit being variants of the same game)

Objective mode is (could be) a real strategy game - at least there is a goal. Here you could add some features from other true strategy games. Multi-view mode also would be great.

Frag mode is rather a fast action game with some tacticts and almost no strategy. People love to spawn in, make a duel, chat with friends etc (in a pause at work, in the evening to relax)
It's a very anarchic game and much depends on players fairness... but as long as you meet friends there's no problem Wink

So we have the same "game engine" and two rather different games and players - in fact those who play "objective" seldom play "frags" and viceversa...

Both games desperately need better (more strong) rules and features.

Notice (things to do):

- to fix once for all "allying system" and "flags system" - also if this could lead to a non-backward-compatibility with previous versions (we can help you test new servers and clients, just ask)  .
- studying an improved authentication system (server based) and more tools for server admins.
- to fix bugs or defects concerning "bases": also remember the problem of server slowing down (freezing) when all tanks are into base one over the other.

...and finally a note: since you talked about teams in your post, consider that server (as now it is) hardly can stand 2 fights at the same time without producing lags...




P.S "Imho in future NP you should add a third kind of game: "tournament" or "duel" mode. Believe me Krom, people love this ! 1:1 or 2:2 fights add a lot of fun... this could be another variant of frag mode with no interferences, no jumping players, no tricks whatsoever, only pure fair fights."

I'd like to give you my feedback on last dev, but download from svn hangs... damn  :'(

Yours, fu

Logged

"Semper Fudelis ;-)"
narcisgarcia
Private
**
Posts: 26


WWW
« Reply #8 on: September 19, 2008, 01:50:24 pm »

I don't like the idea for "more strong" rules, understanded as less freedom for alliances or only-objective-game.

Does people like anarchy?
Well, free software is made to please users.
Logged
krom
Sergeant
*******
Posts: 493



« Reply #9 on: September 19, 2008, 04:00:25 pm »

Thanks Fu, your points are very interesting and clarify my view on the game.

I'm going to create a list of things to do in the forum, originally Abitos helped me install mantis bug tracker on this server, but is too much for only one person.

I'll post later.
Logged

The rabbit doesn't fly alone
krom
Sergeant
*******
Posts: 493



« Reply #10 on: September 19, 2008, 04:17:55 pm »

  • Correct the flags issue, making the server able to negotiate which protocol to use (old or new) with each client
  • Making the alliance confirmation, with the same dual protocol negotiation, based on application version
In this case dual protocol is not possible, as netpanzer 0.8.2 doesn't support sending of flags.

  • Making the alliance confirmation, with the same dual protocol negotiation, based on application version
For this one there is one idea I got that requires no protocol modification and could be done now (temporal until get confirmation window). If you ally with other player, he will be able to see your tanks but you won't be able to see his tanks until he ally with you. Like this you avoid people ally for some seconds just to see your tanks position. How about it?
Logged

The rabbit doesn't fly alone
Franko
Recruit
*
Posts: 12


« Reply #11 on: September 20, 2008, 04:21:13 am »

Hi Krom,

First of all thanks! Wink I love NP, and it's the first time that i'm so exciting to play a desktop game! (i play only NP)! 
I think to know the power of opensource code and the precious contribution of sharing.

Well, i agree with all explained by Fu, in particular
Quote
P.S "Imho in future NP you should add a third kind of game: "tournament" or "duel" mode. Believe me Krom, people love this ! 1:1 or 2:2 fights add a lot of fun... this could be another variant of frag mode with no interferences, no jumping players, no tricks whatsoever, only pure fair fights."

About alliance confirmation
Quote
   
Quote
* Making the alliance confirmation, with the same dual protocol negotiation, based on application version

For this one there is one idea I got that requires no protocol modification and could be done now (temporal until get confirmation window). If you ally with other player, he will be able to see your tanks but you won't be able to see his tanks until he ally with you. Like this you avoid people ally for some seconds just to see your tanks position. How about it?
I think it's a good idea, and simple too....

ok waiting for SVN! Must go sleep! Shocked

Bye!
Logged
narcisgarcia
Private
**
Posts: 26


WWW
« Reply #12 on: September 20, 2008, 08:44:30 pm »


For this one there is one idea I got that requires no protocol modification and could be done now (temporal until get confirmation window). If you ally with other player, he will be able to see your tanks but you won't be able to see his tanks until he ally with you. Like this you avoid people ally for some seconds just to see your tanks position. How about it?

I like this idea, but needs the possibility to reject the alliance, and the forecast for rookies not seeing the alliance request anytime.

But I maintain that the future can require incompatible changes for protocol, and could be good to prepare a possible protocol negotiation.
Logged
ChibaCity
Recruit
*
Posts: 5


« Reply #13 on: October 25, 2008, 10:53:53 am »

Krom, thanks again for your work on np. 

 I'd like to see: commands, like in irc.  Freeciv is one model that comes to mind: players join a server, wait in a chat/'holding' area, agree to start a game, and then it begins.  On the other hand, I sort of like the fact that netpanzer is a coninuous, never-ending, no beginning and no ending free-for-all.  Client side commands could be used for moderation (for example, games could be formed, and the person who formed it would be the 'channel op' and would possess kick/ban powers).  But, again, I don't know how to do this without really changing the free form, ever flowing nature of the game as it now exists.

The second (and third) things I most long for have already come up: fog of war and bigger, better alliances.  Imagine if we could have three or five players on a team, and they could stage sneak attacks, taking advantage of terrain, etc. ... it would be great!

One idea for preserving the free-flowing nature of the game, and yet allowing also more alliances, strategy, organized game starting, and irc like commands would be to keep the game's current form alive in the 'frag' mode and to add the features just named to the objective mode.  That way, there would be a real difference between the two, and for those who like the  anarchic, 'fast action' mode, it would exist; and for those who like more team/alliance/strategy oriented mode, with advanced command line tools a la irc, it would exist also.

Logged
Pages: [1]
  Print  
 
Jump to:  

Theme by m3talc0re. Powered by SMF | SMF © 2006-2008, Simple Machines MySQL | PHP | XHTML | CSS
Back To Top