<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://globulation2.org/index.php?action=history&amp;feed=atom&amp;title=Talk%3AGameplay_changes</id>
	<title>Talk:Gameplay changes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://globulation2.org/index.php?action=history&amp;feed=atom&amp;title=Talk%3AGameplay_changes"/>
	<link rel="alternate" type="text/html" href="https://globulation2.org/index.php?title=Talk:Gameplay_changes&amp;action=history"/>
	<updated>2026-09-25T18:28:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://globulation2.org/index.php?title=Talk:Gameplay_changes&amp;diff=1298&amp;oldid=prev</id>
		<title>AppleBoy at 05:01, 17 November 2005</title>
		<link rel="alternate" type="text/html" href="https://globulation2.org/index.php?title=Talk:Gameplay_changes&amp;diff=1298&amp;oldid=prev"/>
		<updated>2005-11-17T05:01:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== copy of an irc log, until I fully read it.==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
9:33:46	 &amp;lt;_andrew&amp;gt; I don&amp;#039;t think we&amp;#039;ve finished debating models completely. Both still have benefits, and I think there&amp;#039;s still room for a hybrid.&lt;br /&gt;
19:34:50	&amp;lt;_andrew&amp;gt; The most important difficulty, IMHO, is that the networking code is centralised inside NetGame.cpp and Engine.cpp, and anyone wanting to work on code that sends orders needs to work on that.&lt;br /&gt;
19:35:45	&amp;lt;nct&amp;gt; Well, dispatching the orders is easy, we didn&amp;#039;t do it because we wanted to have a common place (Order.h/.cpp) to always have in mind which order we have&lt;br /&gt;
19:36:45	&amp;lt;nct&amp;gt; I discussed with nuage who implemented the network several tiems. He says that one thing that make the actual one very complex is that not only it tricks the NAT, it also tricks the firewalls ; it should even work with firewall + NAT&lt;br /&gt;
19:36:53	&amp;lt;nct&amp;gt; Nuage says that if we drop firewall, then it will be easier&lt;br /&gt;
19:37:20	&amp;lt;nct&amp;gt; One thing that is easy would be to use the new stream structure to serialize orders&lt;br /&gt;
19:38:10	&amp;lt;_andrew&amp;gt; Yeah, that&amp;#039;s part of the thing - separating out the program into network layers makes it much easier to play with the code.&lt;br /&gt;
19:38:23	&amp;lt;nct&amp;gt; I agree&lt;br /&gt;
19:39:17	&amp;lt;nct&amp;gt; Of course if you want to rewrite the network I will not say no, I will support you as good as I can, but you have to keep in mind that it is quite difficult. Nuage, who is very good, rewrote it several times.&lt;br /&gt;
19:39:37	&amp;lt;nct&amp;gt; If you rewrite the networking code, do you plan to work in maprewrite branch or in a new one ?&lt;br /&gt;
19:40:07	&amp;lt;_andrew&amp;gt; Well, unless anyone wants to work on the maprewrite, I&amp;#039;d stick in that one.&lt;br /&gt;
19:40:08	&amp;lt;nct&amp;gt; Beside the network, what are the areas you think that need rewrite/documentation/cleaning most ?&lt;br /&gt;
19:40:17	&amp;lt;nct&amp;gt; I can think of the units state machine&lt;br /&gt;
19:40:36	&amp;lt;_andrew&amp;gt; Units and buildings are the things that could really do with some work.&lt;br /&gt;
19:41:08	&amp;lt;nct&amp;gt; Aren&amp;#039;t you afraid that your branch becomes hard to merge ?&lt;br /&gt;
19:41:29	&amp;lt;_andrew&amp;gt; Well yes, which is why I don&amp;#039;t want to make another branch.&lt;br /&gt;
19:41:45	&amp;lt;_andrew&amp;gt; One huge rewrite is one thing, two would be a killer.&lt;br /&gt;
19:41:49	&amp;lt;nct&amp;gt; What is the actual state of map_rewrite ? How much effort is needed to be able to write back to HEAD ?&lt;br /&gt;
19:42:07	&amp;lt;_andrew&amp;gt; Well, I&amp;#039;m not sure that HEAD has changed much since I&amp;#039;ve been working.&lt;br /&gt;
19:42:12	&amp;lt;nct&amp;gt; Fair enough&lt;br /&gt;
19:42:20	&amp;lt;nct&amp;gt; I know&lt;br /&gt;
19:42:26	&amp;lt;_andrew&amp;gt; If anyone did start contributing, I&amp;#039;d be in trouble.&lt;br /&gt;
19:42:45	&amp;lt;_andrew&amp;gt; Generally when people ask, I suggest they do minor changes in HEAD and structural ones in the map rewrite.&lt;br /&gt;
19:43:01	&amp;lt;nct&amp;gt; But if we want to coordinate, as I would like to put some time in glob2 (although I&amp;#039;ve not that much, but when I&amp;#039;ll finally receive my laptop I&amp;#039;ll have some time to hack in the train), it would be good to really coordinate&lt;br /&gt;
19:43:02	&amp;lt;_andrew&amp;gt; Generally they do neither :(&lt;br /&gt;
19:43:16	&amp;lt;_andrew&amp;gt; Yeah, that would be good.&lt;br /&gt;
19:43:36	&amp;lt;_andrew&amp;gt; It depends on what you&amp;#039;d be working on really.&lt;br /&gt;
19:43:53	&amp;lt;nct&amp;gt; As you have been working a lot with glohb2 last times, which area do you think I should concentrate my efforts ? I&amp;#039;ve been into glob2 for so long that I&amp;#039;ve difficulties to see what prevent people easily hacking on it&lt;br /&gt;
19:44:05	&amp;lt;nct&amp;gt; My main concern is to make glob2 live&lt;br /&gt;
19:44:22	&amp;lt;nct&amp;gt; I&amp;#039;m far too old to be feature-extremist :-)&lt;br /&gt;
19:44:27	&amp;lt;_andrew&amp;gt; :)&lt;br /&gt;
19:44:37	&amp;lt;_andrew&amp;gt; Documenting the unit/building code strikes me as the big thing.&lt;br /&gt;
19:44:52	&amp;lt;_andrew&amp;gt; People that come in here looking to do stuff most often want to play with that.&lt;br /&gt;
19:45:11	&amp;lt;nct&amp;gt; So I would like to invest time so that it lives, even if it not exactly in the same direction I would have dreamt of, even if someone else want to become project leader&lt;br /&gt;
19:46:57	&amp;lt;nct&amp;gt; But I know that the free time I have is not enought to keep glob2 alive&lt;br /&gt;
19:47:04	&amp;lt;_andrew&amp;gt; Yeah, fair enough.&lt;br /&gt;
19:47:05	&amp;lt;nct&amp;gt; now that nuage doesn&amp;#039;t really have time any more&lt;br /&gt;
19:47:12	&amp;lt;_andrew&amp;gt; Although TBH, I think glob2 couldn&amp;#039;t stand more than 3or 4 developers at the minute.&lt;br /&gt;
19:48:13	&amp;lt;_andrew&amp;gt; All the low lever work I&amp;#039;m doing - streams, networking, debugging etc. - makes it hard to play with a lot of things, because the stuff it&amp;#039;s based on is changing all the time...&lt;br /&gt;
19:48:14	&amp;lt;nct&amp;gt; Which sort of documentation in Building/Unit would be most usefull ? Because just autodocumenting method is probably not the best way to invest time&lt;br /&gt;
19:48:52	&amp;lt;nct&amp;gt; Well, I would also enjoy helping you on the low-level stuff, as my streams were akready such work&lt;br /&gt;
19:49:53	&amp;lt;_andrew&amp;gt; Fair enough - I didn&amp;#039;t mean to push you out, just as an example of how we couldn&amp;#039;t deal with swarms of people working on the code right now.&lt;br /&gt;
19:51:30	&amp;lt;_andrew&amp;gt; I&amp;#039;ve not properly looked at buildings, but for units, I think it would be best to rewrite it to use classes with virtual functions instead of big blocks of case statements...&lt;br /&gt;
19:52:03	&amp;lt;nct&amp;gt; Yes, but if we coordinate enough, it&amp;#039;s perfectly possible to work both on rearchitecture&lt;br /&gt;
19:52:16	&amp;lt;_andrew&amp;gt; Then each function needs a complete natural language explanation of what it&amp;#039;s supposed to do.&lt;br /&gt;
19:53:41	&amp;lt;nct&amp;gt; One of the problem with units is that there has been some hesitation on using subclasses, or a generic unit that is fully parametrized&lt;br /&gt;
19:54:04	&amp;lt;nct&amp;gt; essentially it is a fully parametrized one, which is good because once we have correct script, we can create new units such as critter, etc...&lt;br /&gt;
19:54:14	&amp;lt;nct&amp;gt; but UI agree that the unit state machine is a big big mess&lt;br /&gt;
19:54:42	&amp;lt;_andrew&amp;gt; Hmm.&lt;br /&gt;
19:54:46	&amp;lt;nct&amp;gt; Nevertheles, I don&amp;#039;t see how virtual methode could help simplifcating this state machine&lt;br /&gt;
19:54:50	&amp;lt;_andrew&amp;gt; Then how about classes for each behaviour?&lt;br /&gt;
19:55:04	&amp;lt;nct&amp;gt; because the big majority of them are not depending of type of unit, but rather of internal state of units&lt;br /&gt;
19:55:22	&amp;lt;_andrew&amp;gt; It&amp;#039;s more about putting all the code that does a single job in the same place.&lt;br /&gt;
19:56:21	&amp;lt;nct&amp;gt; I could be a solution and should certainly be considered, but I&amp;#039;m not sure the complexity of the actual state machine is easily linearly separable if you see what I mean&lt;br /&gt;
19:56:58	&amp;lt;_andrew&amp;gt; Why not?&lt;br /&gt;
19:57:25	&amp;lt;nct&amp;gt; One of the strenght of glob2, the units/building auto-allocation system, is by essence dependant of complex state machines... now I don&amp;#039;t say we can&amp;#039;t make it cleaner/easier/more efficient, I&amp;#039;m just warning you about the holy grail illusion&lt;br /&gt;
19:57:53	&amp;lt;_andrew&amp;gt; I don&amp;#039;t follow.&lt;br /&gt;
19:57:59	&amp;lt;_andrew&amp;gt; What is the auto-allocation system?&lt;br /&gt;
19:58:03	&amp;lt;nct&amp;gt; That&amp;#039;s normal, let me try to explain better&lt;br /&gt;
19:58:21	&amp;lt;nct&amp;gt; the behaviour of a unit is based on a system of several state machines&lt;br /&gt;
19:58:48	&amp;lt;_andrew&amp;gt; This is where I wish I could say &amp;quot;glob2_logbot: make a note of this&amp;quot; and have it marked in the logs.&lt;br /&gt;
19:58:55	&amp;lt;_andrew&amp;gt; OK.&lt;br /&gt;
20:00:20	&amp;lt;nct&amp;gt; the basic idea was that for each state machine, the new state only depended of the state of the just higher state machine and the environement&lt;br /&gt;
20:00:34	&amp;lt;nct&amp;gt; the lower level state machine would trigger &amp;quot;physical actions&amp;quot;&lt;br /&gt;
20:00:42	&amp;lt;nct&amp;gt; like setting the displacement&lt;br /&gt;
20:00:56	&amp;lt;_andrew&amp;gt; When you talk about a state machine, you mean like ACT_*, DIS_*, etc.?&lt;br /&gt;
20:01:07	&amp;lt;nct&amp;gt; I&amp;#039;m afraid that for the sake of optimisation, we have bypass this scheme, btu I&amp;#039;m not sure anymore to which extent&lt;br /&gt;
20:01:09	&amp;lt;nct&amp;gt; exactly&lt;br /&gt;
20:01:32	&amp;lt;nct&amp;gt; Activity, Displacement, Action are all several level on which one lies a state machine&lt;br /&gt;
20:03:52	&amp;lt;_andrew&amp;gt; Hmm, let me start writing this down...&lt;br /&gt;
20:03:59	&amp;lt;_andrew&amp;gt; Are they the only levels in the state machine?&lt;br /&gt;
20:04:25	&amp;lt;nct&amp;gt; I check, please wait&lt;br /&gt;
20:04:31	&amp;lt;_andrew&amp;gt; Sure.&lt;br /&gt;
20:04:53	&amp;lt;_andrew&amp;gt; Actually, while you&amp;#039;re checking, I&amp;#039;ll BRB.&lt;br /&gt;
20:06:05	&amp;lt;nct&amp;gt; I know they are quite out of date, but have you checked the doc/ directory ?&lt;br /&gt;
20:07:56	_andrew (n=andrew@88-106-77-196.dynamic.dsl.as9105.com) joined #globulation2&lt;br /&gt;
20:09:15	&amp;lt;nct&amp;gt; Well,&lt;br /&gt;
20:09:19	&amp;lt;nct&amp;gt; that&amp;#039;s not that bad&lt;br /&gt;
20:09:29	&amp;lt;nct&amp;gt; void Unit::endOfAction(void)&lt;br /&gt;
20:09:33	&amp;lt;nct&amp;gt; {&lt;br /&gt;
20:09:37	&amp;lt;nct&amp;gt; handleMedical();&lt;br /&gt;
20:09:44	&amp;lt;nct&amp;gt; if (isDead)&lt;br /&gt;
20:09:45	&amp;lt;nct&amp;gt; return;&lt;br /&gt;
20:09:49	&amp;lt;nct&amp;gt; handleActivity();&lt;br /&gt;
20:09:49	&amp;lt;nct&amp;gt; handleDisplacement();&lt;br /&gt;
20:09:50	&amp;lt;nct&amp;gt; handleMovement();&lt;br /&gt;
20:09:50	&amp;lt;nct&amp;gt; handleAction();&lt;br /&gt;
20:09:50	&amp;lt;nct&amp;gt; }&lt;br /&gt;
20:09:54	&amp;lt;nct&amp;gt; here the state machine are updated one by one&lt;br /&gt;
20:10:05	&amp;lt;nct&amp;gt; beginning by the most top level (handleMedical)&lt;br /&gt;
20:10:12	&amp;lt;nct&amp;gt; to the lower level (handle Action&lt;br /&gt;
20:12:12	&amp;lt;_andrew&amp;gt; So, each tick, each decides on an activity, then a displacement based on that action, then an action based on that displacement?&lt;br /&gt;
20:12:58	&amp;lt;nct&amp;gt; but tehre is area of uncleanness, for instance handleMagic is called within habndleActivity, because it is more or less the same level&lt;br /&gt;
20:13:08	&amp;lt;nct&amp;gt; only at the endOfAction&lt;br /&gt;
20:13:15	&amp;lt;nct&amp;gt; so each time a unit has tio d a nwe movement&lt;br /&gt;
20:13:25	&amp;lt;_andrew&amp;gt; Oh yeah, what are magic things?&lt;br /&gt;
20:13:28	&amp;lt;nct&amp;gt; each time a unit has to choose a new movement to do&lt;br /&gt;
20:13:33	&amp;lt;nct&amp;gt; explorer attacks&lt;br /&gt;
20:15:44	&amp;lt;nct&amp;gt; there is some doc in unit state machines&lt;br /&gt;
20:16:13	&amp;lt;_andrew&amp;gt; Where&amp;#039;s that?&lt;br /&gt;
20:16:40	&amp;lt;nct&amp;gt; If, for instance, you have a look in void Unit::handleActivity(void)&lt;br /&gt;
20:16:45	&amp;lt;nct&amp;gt; but I agree that&amp;#039;s not sufficient&lt;br /&gt;
20:17:17	&amp;lt;_andrew&amp;gt; The inline stuff?&lt;br /&gt;
20:17:24	&amp;lt;nct&amp;gt; inline ?&lt;br /&gt;
20:17:50	&amp;lt;nct&amp;gt; for instance in Unit.cpp:789 there is some doc&lt;br /&gt;
20:17:54	&amp;lt;nct&amp;gt; about each case&lt;br /&gt;
20:17:56	&amp;lt;_andrew&amp;gt; The comments written in the middle of the code, rather than as a block at the top, or in a separate file.&lt;br /&gt;
20:18:09	&amp;lt;_andrew&amp;gt; &amp;quot;first we look for a food building to fill, because it is the first priority.&amp;quot;?&lt;br /&gt;
20:18:25	&amp;lt;nct&amp;gt; They are much too far inline, but the problem is that if we make function, it would be like make one function for each case than it&amp;#039;s again not very understandable&lt;br /&gt;
20:18:36	&amp;lt;nct&amp;gt; th complexity of glob2 lies here and in buildings&lt;br /&gt;
20:18:46	&amp;lt;nct&amp;gt; That&amp;#039;s the &amp;quot;no free lunch&amp;quot; theorem&lt;br /&gt;
20:18:53	&amp;lt;nct&amp;gt; yes&lt;br /&gt;
20:18:56	&amp;lt;nct&amp;gt; those ones&lt;br /&gt;
20:19:29	&amp;lt;_andrew&amp;gt; At this point, I think we need to talk about a little roadmap for the near future...&lt;br /&gt;
20:20:11	&amp;lt;nct&amp;gt; Yes, that&amp;#039;s a nice idea&lt;br /&gt;
20:20:26	&amp;lt;_andrew&amp;gt; My goal with the map rewrite has been to make map code that is as near to perfect as possible, without altering the gameplay in any way.&lt;br /&gt;
20:20:27	&amp;lt;nct&amp;gt; Let&amp;#039;s list some question :&lt;br /&gt;
20:20:29	&amp;lt;nct&amp;gt; * roadmap&lt;br /&gt;
20:20:31	&amp;lt;nct&amp;gt; * hosting&lt;br /&gt;
20:20:39	&amp;lt;nct&amp;gt; * should we put doc in wiki or cvs&lt;br /&gt;
20:20:57	&amp;lt;nct&amp;gt; Ok, I agree, that&amp;#039;s good&lt;br /&gt;
20:21:07	&amp;lt;nct&amp;gt; I should try to do this in Unit also&lt;br /&gt;
20:21:38	&amp;lt;_andrew&amp;gt; Lately I&amp;#039;ve been rewriting subsystems that the map code depends on, to make it easier for people to hack on Glob2 in the future.&lt;br /&gt;
20:21:50	&amp;lt;nct&amp;gt; Can you give a list of them ?&lt;br /&gt;
20:21:54	&amp;lt;_andrew&amp;gt; Er...&lt;br /&gt;
20:22:07	&amp;lt;_andrew&amp;gt; Streams and debugging...&lt;br /&gt;
20:22:10	&amp;lt;nct&amp;gt; ok&lt;br /&gt;
20:22:15	&amp;lt;_andrew&amp;gt; Global container etc. ...&lt;br /&gt;
20:22:29	&amp;lt;_andrew&amp;gt; I&amp;#039;ll do the networking stuff next...&lt;br /&gt;
20:23:03	&amp;lt;_andrew&amp;gt; Actually, I&amp;#039;ll do a CVS update now.&lt;br /&gt;
20:23:34	&amp;lt;nct&amp;gt; When do you think you could commit map_rewrite, because if I clean Unit, it would be good to have the same idea/philosophy and it would be nice that I could use your improvements&lt;br /&gt;
20:23:45	&amp;lt;_andrew&amp;gt; My code isn&amp;#039;t in a very presentable state, but it&amp;#039;ll be a while before I can hack on it again.&lt;br /&gt;
20:24:01	&amp;lt;_andrew&amp;gt; Commit it in what sense, having it run completely?&lt;br /&gt;
20:24:07	&amp;lt;_andrew&amp;gt; Not for a long time, I&amp;#039;m afraid.&lt;br /&gt;
20:24:24	&amp;lt;nct&amp;gt; Wel,, I think it would be good if you could finish map_rewrite before beginning to rewrite network&lt;br /&gt;
20:25:03	&amp;lt;_andrew&amp;gt; That&amp;#039;s the thing - with the new stream implementation, I&amp;#039;m having to rewrite large bits of the code.&lt;br /&gt;
20:25:16	&amp;lt;nct&amp;gt; Oh, and we will also need a checksum stream, to get ride of those Uint32 Unit::checkSum(std::list&amp;lt;Uint32&amp;gt; *checkSumsList)&lt;br /&gt;
20:25:24	&amp;lt;_andrew&amp;gt; e.g. the network stuff used binary streams before, which are gone now.&lt;br /&gt;
20:25:26	&amp;lt;nct&amp;gt; I can do it, bu I would need the new structure&lt;br /&gt;
20:25:41	&amp;lt;_andrew&amp;gt; What are the checksums used for?&lt;br /&gt;
20:25:55	&amp;lt;nct&amp;gt; check the consistency of worlds across clients&lt;br /&gt;
20:26:11	&amp;lt;nct&amp;gt; but the implementation in unit is very old and highly unefficient&lt;br /&gt;
20:26:16	&amp;lt;_andrew&amp;gt; Oh, so it&amp;#039;s just a network thing?&lt;br /&gt;
20:26:19	&amp;lt;nct&amp;gt; I don&amp;#039;t even now if it is still used&lt;br /&gt;
20:26:25	&amp;lt;nct&amp;gt; yes&lt;br /&gt;
20:26:38	&amp;lt;_andrew&amp;gt; Ah, right. Yeah, they should definitely go away in favour of something at a lower level.&lt;br /&gt;
20:26:49	&amp;lt;nct&amp;gt; I would be happy to help you make glob2 use your new stream structure&lt;br /&gt;
20:26:56	&amp;lt;_andrew&amp;gt; UDP has a checksum feature in it that should be good enough.&lt;br /&gt;
20:27:10	&amp;lt;nct&amp;gt; If it&amp;#039;s switching the old stream to your new structure that shouldn&amp;#039;t be a big deal&lt;br /&gt;
20:27:28	&amp;lt;_andrew&amp;gt; Well, it is kind of a big deal, but often very much worth it.&lt;br /&gt;
20:27:47	&amp;lt;_andrew&amp;gt; Like, it&amp;#039;s uncovered quite a few different parsers for different files.&lt;br /&gt;
20:27:52	&amp;lt;nct&amp;gt; no the purprose is to checksum the game, not the packets, to be sure there is no desynchronisation due to other factors than network&lt;br /&gt;
20:28:01	&amp;lt;_andrew&amp;gt; Oh right.&lt;br /&gt;
20:28:24	&amp;lt;nct&amp;gt; and no by experience some UDP implementations are buggy and do not reassemble packets correctly, return ing packets with wrong checksums&lt;br /&gt;
20:29:13	&amp;lt;_andrew&amp;gt; When you say wrong checksums, you mean the packet is received with a different checksum than when it&amp;#039;s sent?&lt;br /&gt;
20:29:36	&amp;lt;nct&amp;gt; Of course I agree we have to clean lot&amp;#039;s of things, but I&amp;#039;m afraid than by wanting to clean everything at once, we risk never to finish cleaning, which is bad because the work already done in cleaning could be reused as a base for more cleaning&lt;br /&gt;
20:30:21	&amp;lt;_andrew&amp;gt; Yes, I completely agree.&lt;br /&gt;
20:30:26	&amp;lt;nct&amp;gt; Well I mean a packet is received and the data are not the same, because the packet the user see could be only part of the packet that has been sent. The part would be ok, but the whole packet not&lt;br /&gt;
20:30:51	&amp;lt;nct&amp;gt; because UDP accept fragmentation but not all UDP implementation work with UDP fragmentation&lt;br /&gt;
20:30:59	&amp;lt;nct&amp;gt; so for glob2I had to limit UDP size to ethernet MTU&lt;br /&gt;
20:31:09	&amp;lt;nct&amp;gt; otherwise half packets are returned&lt;br /&gt;
20:31:16	&amp;lt;nct&amp;gt; which is very very bad&lt;br /&gt;
20:31:25	&amp;lt;_andrew&amp;gt; Yeah, but that assumes you won&amp;#039;t be transmitting data over anything with a lower MTU.&lt;br /&gt;
20:31:40	&amp;lt;nct&amp;gt; and that&amp;#039;s not a windowsish problem, even Linux do not reassemble correctly UDP packets, even if the spec say it has to&lt;br /&gt;
20:32:05	&amp;lt;nct&amp;gt; well, that&amp;#039;s based on experimental result&lt;br /&gt;
20:32:33	&amp;lt;nct&amp;gt; only packets with bigger MTU than internet&amp;#039;s one have been half-received&lt;br /&gt;
20:32:45	&amp;lt;nct&amp;gt; but perhaps we haven&amp;#039;t explored all cases&lt;br /&gt;
20:33:04	&amp;lt;nct&amp;gt; So, how should we proceed ?&lt;br /&gt;
20:34:22	&amp;lt;_andrew&amp;gt; Well, if we go back to the roadmap thing for a minute...&lt;br /&gt;
20:34:50	&amp;lt;_andrew&amp;gt; How about we say the next release of Glob2 will have more-or-less identical gameplay...&lt;br /&gt;
20:35:01	&amp;lt;_andrew&amp;gt; will be better documented...&lt;br /&gt;
20:35:46	&amp;lt;nct&amp;gt; I agree&lt;br /&gt;
20:35:55	&amp;lt;nct&amp;gt; I even fully agree.. ;-)&lt;br /&gt;
20:35:58	&amp;lt;_andrew&amp;gt; and where documentation uncovers implementation problems, new solutions will be implemented.&lt;br /&gt;
20:36:54	&amp;lt;_andrew&amp;gt; I usually find myself apologising for code I once thought was great when I start writing documentation :)&lt;br /&gt;
20:37:16	&amp;lt;nct&amp;gt; I agree, writing doc is a good way to sort things out&lt;br /&gt;
20:37:32	&amp;lt;nct&amp;gt; So we agree on next release purprose&lt;br /&gt;
20:37:50	&amp;lt;_andrew&amp;gt; Should we leave SDL-&amp;gt;Qt for another day?&lt;br /&gt;
20:37:51	&amp;lt;nct&amp;gt; now the technical questions : will this release feature map-rewrite ?&lt;br /&gt;
20:38:14	&amp;lt;nct&amp;gt; if yes, we need to complete it ! If not, why make a doc-update release now&lt;br /&gt;
20:38:16	&amp;lt;nct&amp;gt; Yes I think so&lt;br /&gt;
20:38:24	&amp;lt;nct&amp;gt; That&amp;#039;s a too big chance&lt;br /&gt;
20:38:24	&amp;lt;nct&amp;gt; change&lt;br /&gt;
20:38:37	&amp;lt;nct&amp;gt; The GL backend works well enough for actual needs&lt;br /&gt;
20:38:42	&amp;lt;_andrew&amp;gt; For me, the map rewrite is the organising principle behind the work I&amp;#039;m doing.&lt;br /&gt;
20:38:45	&amp;lt;nct&amp;gt; do you agree ?&lt;br /&gt;
20:39:03	&amp;lt;_andrew&amp;gt; That seems fine to me - I tend to keep clear of GUI issues.&lt;br /&gt;
20:39:32	&amp;lt;nct&amp;gt; So, should the next release feature the cleaning you have done in map-rewrite branch up to now ?&lt;br /&gt;
20:40:19	&amp;lt;_andrew&amp;gt; I think so, yes. Because that&amp;#039;s all well documented now.&lt;br /&gt;
20:40:41	&amp;lt;_andrew&amp;gt; Although there&amp;#039;s a lot of work to do pushing those changes through.&lt;br /&gt;
20:42:16	&amp;lt;nct&amp;gt; Ok, so the best thing I can do is to help you on this branch, if you agree ?&lt;br /&gt;
20:42:30	&amp;lt;_andrew&amp;gt; Yes, that would be good.&lt;br /&gt;
20:43:20	&amp;lt;_andrew&amp;gt; One thing that working on Glob2 has made me a big believer in is the value of well directed mailing list debates.&lt;br /&gt;
20:43:22	&amp;lt;nct&amp;gt; I think we should not try to have the network rewritten for next release, otherwise it will never get out&lt;br /&gt;
20:43:55	&amp;lt;nct&amp;gt; I would suggest having map-rewrite with actual features (map, stream debug rewritten, rest adapted) merged with HEAD; then released from HEAD&lt;br /&gt;
20:43:55	&amp;lt;_andrew&amp;gt; Well, it needs to be rewritten at least a bit for the new stream code...&lt;br /&gt;
20:44:03	&amp;lt;_andrew&amp;gt; Gimme a minute, I&amp;#039;ll look at the HEAD network code.&lt;br /&gt;
20:44:15	&amp;lt;nct&amp;gt; I fully agree for the use of new stream&lt;br /&gt;
20:44:27	&amp;lt;nct&amp;gt; but that&amp;#039;s a small architectural part that doesn&amp;#039;t touch the complex logic&lt;br /&gt;
20:44:33	&amp;lt;nct&amp;gt; ok&lt;br /&gt;
22:22:59	&amp;lt;_andrew&amp;gt; I agree about the network rewrite.&lt;br /&gt;
22:23:11	&amp;lt;_andrew&amp;gt; So I&amp;#039;ll reinstate the old version in the map rewrite.&lt;br /&gt;
22:23:28	&amp;lt;_andrew&amp;gt; What about the roadmap?&lt;br /&gt;
22:23:48	&amp;lt;_andrew&amp;gt; How about we each write our ideas for a roadmap on the ML and we&amp;#039;ll work out the details on there?&lt;br /&gt;
22:24:28	&amp;lt;nct&amp;gt; Well, why not, but from my part, I think that as long as we have the same feature-set and more clean/document code we can go-on&lt;br /&gt;
22:24:39	&amp;lt;nct&amp;gt; it&amp;#039;s not problem to make cleaning enhencemetn only releases&lt;br /&gt;
22:25:01	&amp;lt;nct&amp;gt; but let say having a new release with maprewrite (new stream and debugging) as well as more documented untis ?&lt;br /&gt;
22:25:06	&amp;lt;_andrew&amp;gt; Yeah, but then if anyone else wants to join in they can, and it gets everything written up in a more pleasant format.&lt;br /&gt;
22:25:23	&amp;lt;_andrew&amp;gt; And rewritten units if needs be, yeah.&lt;br /&gt;
22:26:00	&amp;lt;nct&amp;gt; ok&lt;br /&gt;
22:26:03	&amp;lt;_andrew&amp;gt; Because units are the things most people are interested in, I guess that any attempt to document it will spark quite a bit of discussion.&lt;br /&gt;
22:27:17	&amp;lt;nct&amp;gt; Well, we need to send a mail saying we will make a cleaniness release. I can do it, but you know map-rewrite better than I do. Furthermore, if you add a list of things in map-rewrite on which we could work, it would be very nice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AppleBoy</name></author>
		
	</entry>
</feed>