[HEADER] Title: Progress Reports on "Empires of the World". Author: Edward Cree. Last updated: 07/07/2007 Types of Report: Normal - Includes what has been done since last normal (or higher) report, next step in a number of fields, and a general synopsis. Minor - Deals with a preliminary idea, or a trivial aspect. [REPORTS] Progress Report: 13/12/2006 (normal report) Now have route from starting program to game. Also have a Minimap. Having problems of memory conflict - may need to move SEEN%() to a POKEd memory area. Need to create more of data type: City Names. Need to improve World Building Engine. General synopsis of progress: Moving slowly. Encountering severe difficulties. A great deal of work to do. Progress Report: 27/12/2006 (normal report) Setting up of both tribes at start done. No evidence of memory conflict - appeared to be effect of Memtest module, which is not run during standard game run - only a diagnostic tool. SEEN%() remains a standard array. Completed set of data type: City names. Need to create more of data type: Art (subset Techs). Have ideas for World Building Engine; not yet implemented. Evidence suggests that at present about 44kB of memory remains unused, however much of this is likely to be used in the near future. Resource shortages are highly likely. General synopsis of progress: Despite an impression of pace, setbacks have ensured that progress is still slow. However, the project is moving forward. Overall feasibility is still uncertain. Progress Report: 25/01/2007 (minor report) Although little significant work has been done since the previous report, the idea has surfaced (due to work on VMachine) of using the HD as virtual memory should the accessible physical memory be exhausted. Trials are proceeding, including tests on VMachine to establish how HD VMem usage affects speed. Possibilities include a $LINKed/$INCLUDEd module carrying PK(addr) function and PO(addr, val) sub. This development has increased the likelihood of feasibility; if speed were of no consequence feasibility would be guaranteed; however should this idea cost too much in speed, it will not be implementable, which would return feasibility to previous uncertain levels. Progress Report: 04/02/2007 (normal report) Simple Main view [terrain] done. SEEN%() now filled from what units can see [SUB SEE()]. Completed set of data type: Art (subset Techs). Thus data type: Art is fully complete. Data probably complete. Have implemented new World Building Engine. However, 'Pick Temperature' is still left out. A test 'Triangular Control' program has been made; the idea works. Resource shortages not as likely as thought; not much left to store(!). VMemory may not be necessary. General synopsis of progress: Although progress remains moderately slow (mainly due to programmer being occupied with other projects including VMachine), feasibility is rather likely. One possible stumbling block may be A.I. player provision; if this turns out too difficult, one possible workaround might be to force turn-based multiplayer gameplay. This is however not desirable. Progress Report: 23/04/2007 (minor report) The INFO.DAT content needs to be expanded to include Resources and Game Concepts (this also means that more Art will be needed). Incidentally, instead of complex VMemory coding, the program can simply maintain a list of where in the file each block of text begins, thus making INFO.DAT usage faster and slimmer. However, it may not be possible to apply this to the other files as they will need to be read faster; if it can be done, the other files will not even need the block-start list to be maintained, as they all have fixed-length records (so record start position can be calculated as-needed). Progress Report: 24/04/2007 (normal report) Unit and Tile Data readout done. SUB SEE() now includes RNG (for units with radar [flag 7, 1] to see 2 tiles). Also created function SEEQ() to return whether tile is seen. Key input done. Key effects begun. Effect of cursor keys - scroll view - done (but slow). Effect of key 'Ctrl-C' - center view - done. Effect of key 'm' - Move unit - done (with land units unable to move onto sea and vice-versa, but without 'intelligent' movement). Effect of key 'Space' - Unit End Turn - done. World Building Engine still somewhat incomplete. Pick Temp still left out. Latitude still does not affect terrain. Resource shortages no longer expected, but still possible (depending on size of program - may crash into data area). INFO.DAT and Art expansion not yet done; however, neither is of high priority as Help system not yet implemented anyway. General synopsis of progress: While the number of actual outputs appearing on-screen is quickly increasing, little work so far has been done on the internal gameplay engine. Since this is likely to be the most difficult part, requiring the most time to complete, it is likely that programming will take a great deal of further time - expect release to be at least six months away yet. However, progress is encouraging, and it looks as though overall feasibility of the project is high - it seems the whole thing will be possible despite the massive size of the undertaking which it represents. Regarding the mention of A.I. player provision in the Report of 04/02/2007, no investigations have taken place, but it is likely to be dependent on how much memory is left after the gameplay engine and interface have been completed; A.I. player provision would probably also further delay release - perhaps until a year from now. A survey will be conducted in the near future to determine how important A.I. player provision is to the end user. Progress Report: 26/04/2007 (minor report) Slight panic - there has been a small amount of memory clash between program and data. This has temporarily been fixed by various memory-saving tricks, but is likely to recur as more code is added to the program. The only palatable solution is to bodily shift the data area upwards, which then increases the risk of running out of memory at the top. While it appears there is nothing left to store in the data area, this could be incorrect - in fact, since the last Report (24/04), two new blocks, Era and Resource, have been added; however, together they only comprise some 480 bytes. It is likely that somewhere in the region of 16kB or so more data could need to be stored at a later date. As approx. 43.5kB remains above the data area, it would be prudent to move the bottom block, Terrain (which is 18.75kB long), to the top of the data area, which would shift the overall data area by 18.75kB upwards - hopefully solving the problem whilst leaving about 24.75kB left for new data. It is hoped that this will be implemented soon; almost certainly by the next Progress Report. Intriguingly, however, the problem appears only to occur (so far) whilst running from the compiler - running the .exe has yet to encounter such problems - suggesting that the compiler's own memory usage is the problem; perhaps the above plan may not be necessary. However, when running the .exe, almost 640kB (instead of a mere 178kB) of memory is available; much use could be made of this (more players?) Progress Report: 06/05/2007 (minor report) With regard to the minor Report of 26/04/2007, the memory usage question has become of greater importance; this is due to tests on VMachine - a change from VMemory to strings (i.e. physical memory) showed how severely HD VMem affects speed - VMem may be too slow. Of course, the most likely eventuality is a compromise whereby some data is stored in physical memory and some data remains on disk. It appears that the further this compromise is forced towards VMem, the slower the program will run, and this will probably be quite noticeable. The mention of 640kB is of particular importance: if this is used, work on the project will be greatly slowed by the inability to use various integrated debugging features of the compiler. Progress Report: 07/07/2007 (minor report) It has been decided that A.I. player provision will definitely have to be included. Also, little more has been done since the previous minor Report (06/05), as work has been diverted towards other projects. Expect release of preliminary builds around December of 2007.