(auto-coding-alist-lookup): New function.
[bpt/emacs.git] / etc / tasks.texi
CommitLineData
bb5d4e1a
RS
1\input texinfo @c -*-texinfo-*-
2@c %**start of header
3@setfilename tasks.info
4@settitle GNU Task List
fff05d88 5@c This date is automagically updated when you save this file:
625f1c23 6@set lastupdate March 26, 1999
bb5d4e1a
RS
7@c %**end of header
8
9@setchapternewpage off
10
bb5d4e1a
RS
11@titlepage
12@title GNU Task List
d6eb79ad 13@author Free Software Foundation
bb5d4e1a 14@author last updated @value{lastupdate}
bb5d4e1a
RS
15@end titlepage
16
17@ifinfo
55616d18 18@node Top, Intro, (dir), (dir)
d9e60f52 19@top GNU Task List
bb5d4e1a 20
d6eb79ad
RS
21This file is updated automatically from @file{tasks.texi}, which was
22last updated on @value{lastupdate}.
bb5d4e1a
RS
23@end ifinfo
24
bb5d4e1a 25@menu
6af1f598
JWI
26* Intro::
27* Highest Priority::
28* Documentation::
29* Unix-Related Projects::
30* Kernel Projects::
31* Extensions::
32* X Windows Projects::
33* Network Projects::
34* Encryption Projects::
35* Other Projects::
36* Languages::
37* Games and Recreations::
bb5d4e1a
RS
38@end menu
39
6af1f598 40@node Intro, Highest Priority, Top, Top
c05524ad
RS
41@chapter About the GNU Task List
42
7c4978a8 43If you did not obtain this file directly from the GNU project and
9459fac1
JG
44recently, please check for a newer version. You can ftp the task list
45from any GNU FTP host in directory @file{/pub/gnu/tasks/}. The task
7c4978a8 46list is available there in several different formats: @file{tasks.text},
541d49e1
JG
47@file{tasks.texi}, @file{tasks.info}, and @file{tasks.dvi}. The GNU
48HURD task list is also there in file @file{tasks.hurd}.
49@c to fix an overfill, join the paragraphs -len
7c4978a8 50The task list is also available on the GNU World Wide Web server:
fff05d88 51@uref{http://www.gnu.org/prep/tasks_toc.html}.
c05524ad 52
fff05d88 53If you start working steadily on a project, please let @email{gvc@@gnu.org}
d9e60f52
DM
54know. We might have information that could help you; we'd also like to
55send you the GNU coding standards.
bb5d4e1a 56
c05524ad
RS
57Because of the natural tendency for most volunteers to write programming
58tools or programming languages, we have a comparative shortage of
59applications useful for non-programmer users. Therefore, we ask you to
60consider writing such a program.
bb5d4e1a 61
d17fd035
RS
62Typically, a new program that does a completely new job advances
63the GNU project, and the free software community, more than an
64improvement to an existing program.
65
66Typically, new features or new programs advance the free software
67community more, in the long run, than porting existing programs. One
68reason is that portable new features and programs benefit people on many
69platforms, not just one. At the same time, there tend to be many
70volunteers for porting---so your help will be more valuable in other
71areas, where volunteers are more scarce.
72
73Typically, it is more useful to extend a program in functionality than
74to improve performance. Users who use the new functionality will
75appreciate it very much, if they use it; but even when they benefit from
76a performance improvement, they may not consider it very important.
bb5d4e1a 77
6af1f598 78@node Highest Priority, Documentation, Intro, Top
7c4978a8
RS
79@chapter Highest Priority
80
81This task list mentions a large number of tasks that would be more or
82less useful. With luck, at least one of them will inspire you to start
83writing. It's better for you to work on any task that inspires you than
84not write free software at all.
85
86But if you would like to work on what we need most, here is a list of
87high priority projects.
88
89@itemize @bullet
90@item
632c6364 91If you are good at writing documentation, please do that.
7c4978a8
RS
92
93@item
94If you are very good at C programming and interested in kernels, you can
541d49e1 95help develop the GNU HURD, the kernel for the GNU system. Please have a
fff05d88 96look at @uref{http://www.gnu.org/software/hurd/hurd.html}, and
541d49e1
JG
97then get a copy of the latest HURD task list from:
98
99@itemize @bullet
100
101@item
fff05d88 102@uref{http://www.gnu.org/prep/tasks.hurd.html}, via the World Wide
541d49e1
JG
103Web.
104
105@item
fff05d88 106@uref{ftp://ftp.gnu.org/pub/gnu/tasks/tasks.hurd}, via anonymous FTP.
541d49e1
JG
107
108@item
fff05d88 109@email{gnu@@gnu.org} via e-mail.
541d49e1
JG
110
111@end itemize
7c4978a8
RS
112
113@item
541d49e1 114If you are a Scheme fan, you can help develop Guile. Please have a look
fff05d88
RS
115at the URL @uref{http://www.gnu.org/software/guile/guile.html}
116and then contact the Guile developers at @email{guile@@gnu.org}.
7c4978a8 117
9dde84c6
RS
118@item
119A package to convert programs written using MS Access into Scheme,
120making use of a free data base system and the GTK toolkit.
121
7c4978a8 122@item
0f82d9d8 123Help develop XmHTML. See @uref{http://www.xs4all.nl/~ripley/XmHTML/}.
7c4978a8
RS
124
125@item
fff05d88
RS
126Help develop software to emulate Windows NT on top of GNU systems.
127For example, you could help work on Willows Twin.
0f82d9d8 128See @uref{http://www.willows.com/}.
7c4978a8
RS
129
130@item
131Implement the Kermit data transfer protocol. (See below.)
132
fff05d88 133@ignore This is being done (Harmony)
7c4978a8 134@item
632c6364
RS
135Develop a free compatible replacement for Qt, a GUI toolkit library. Qt
136is not free software, because users are prohibited from distributing
137modified versions. Thus, Qt cannot be included in a free operating
138system (adding it would make the system as a whole non-free).
139
140But some developers are writing free applications that use Qt and cannot
141run without it. These programs, although free software, are useless for
142free operating systems because there is no way to make them run.
143
144This is leading to a serious problem, and a free replacement for Qt is
145the only solution. Hence the high degree of urgency of this project.
fff05d88
RS
146@end ignore
147
7c4978a8
RS
148@item
149Develop a substitute, which runs on GNU systems, for some very popular
150or very important application that many non-programmers use on Windows,
151and which has no comparable free equivalent now.
152@end itemize
153
6af1f598 154@node Documentation, Unix-Related Projects, Highest Priority, Top
bb5d4e1a
RS
155@chapter Documentation
156
fff05d88
RS
157We very urgently need documentation for many existing parts of the
158system.
159
160Note that there are proprietary manuals for many of these topics, but
0f82d9d8
RS
161proprietary manuals do not count, for the same reason proprietary
162software does not count: we are not free to copy and modify them.
163We do not recommend any non-free materials as documentation.
bb5d4e1a
RS
164
165@itemize @bullet
0f82d9d8
RS
166@item
167A unified manual for La@TeX{}. (Existing documentation is non-free.)
168
169@item
170A tutorial introduction to Midnight Commander.
171
172@item
173A manual for GNU SQL.
174
175@item
176A thorough manual for RCS.
177
178@item
179A reference manual for Mach.
180
181@item
182A reference manual for the GNU Hurd features in GNU libc.
183
184@item
185A manual for writing Hurd servers.
186
fff05d88 187@item
0f82d9d8
RS
188Reference manuals for C++, Objective C, Pascal, Fortran 77, and Java.
189
190@item
191A tutorial manual for the C++ STL (standard template library).
192
193@item
194GNU Objective-C Runtime Library Manual; this would be a reference manual
195for the runtime library functions, structures, and classes. Some work
196has been done on this job.
197
198@item
199Manuals for GNUstep: developer tutorial, developer programming manual,
200developer reference manual, and user manual.
fff05d88 201
bb5d4e1a
RS
202@item
203A manual for Ghostscript.
c05524ad 204
c05524ad
RS
205@item
206A manual for TCSH.
bb5d4e1a
RS
207
208@item
dc32c4fa
RS
209A coherent free reference manual for Perl. Most of the Perl on-line
210reference documentation can be used as a starting point, but work is
211needed to weld them together into a coherent manual.
bb5d4e1a 212
bb5d4e1a 213@item
fff05d88
RS
214A good free Perl language tutorial introduction. The existing Perl
215introductions are published with restrictions on copying and
216modification, so that they cannot be part of a GNU system.
217
218@item
219A manual for PIC (the graphics formatting language).
bb5d4e1a
RS
220
221@item
222A book on how GCC works and why various machine descriptions
223are written as they are.
224
225@item
0f82d9d8 226A manual for programming applications for X11.
bb5d4e1a
RS
227
228@item
229Manuals for various X window managers.
230
231@item
261597d4 232Reference cards for those manuals that don't have them: C
c05524ad 233Compiler, Make, Texinfo, Termcap, and maybe the C Library.
bb5d4e1a
RS
234
235@item
261597d4 236Many utilities need documentation, including @code{grep} and others.
bb5d4e1a
RS
237@end itemize
238
6af1f598 239@node Unix-Related Projects, Kernel Projects, Documentation, Top
d9e60f52 240@chapter Unix-Related Projects
bb5d4e1a 241
d9e60f52 242@itemize @bullet
5aba97f2 243@ignore
bb5d4e1a
RS
244@item
245Modify the GNU @code{dc} program to use the math routines of GNU
246@code{bc}.
5aba97f2 247@end ignore
bb5d4e1a
RS
248
249@item
250A @code{grap} preprocessor program for @code{troff}.
251
bb5d4e1a 252@item
fff05d88
RS
253Less urgent: make a replacement for the ``writer's workbench'' program
254@code{style}, or something to do the same kind of job. Compatibility
255with Unix is not especially important for this programs.
bb5d4e1a
RS
256@end itemize
257
6af1f598 258@node Kernel Projects, Extensions, Unix-Related Projects, Top
d9e60f52 259@chapter Kernel-Related Projects
bb5d4e1a 260
d9e60f52 261@itemize @bullet
bb5d4e1a 262@item
5aba97f2 263An over-the-ethernet debugger stub that will allow the kernel to be
bb5d4e1a
RS
264debugged from GDB running on another machine.
265
5aba97f2
RS
266This stub needs its own self-contained implementation of all protocols
267to be used, since the GNU system will use user processes to implement
268all but the lowest levels, and the stub won't be able to use those
269processes. If a simple self-contained implementation of IP and TCP is
270impractical, it might be necessary to design a new, simple protocol
271based directly on ethernet. It's not crucial to support high speed or
272communicating across gateways.
273
274It might be possible to use the Mach ethernet driver code, but it would
275need some changes.
276
bb5d4e1a
RS
277@item
278A shared memory X11 server to run under MACH is very desirable. The
279machine specific parts should be kept well separated.
c05524ad
RS
280
281@item
282An implementation of CIFS, the ``Common Internet File System,'' for the
283HURD. This protocol is an offshoot of SMB.
c6d6677e
RS
284
285@item
286Support (in Linux?) for dumping the non-textual contents of an SVGA
287console.
bb5d4e1a
RS
288@end itemize
289
6af1f598 290@node Extensions, X Windows Projects, Kernel Projects, Top
d9e60f52 291@chapter Extensions to Existing GNU Software
bb5d4e1a 292
d9e60f52 293@itemize @bullet
bb5d4e1a 294@item
d9e60f52
DM
295Enhance GCC. See files @file{PROJECTS} and @file{PROBLEMS} in the GCC
296distribution.
bb5d4e1a 297
a81ed99e
RS
298@item
299Interface GDB to Guile, so that users can write debugging commands in
300Scheme. This would also make it possible to write, in Scheme, a
fff05d88
RS
301graphical interface that uses GTK and is tightly integrated into GDB.
302
303@item
304Extend Octave to support programs that were written
305to run on Khoros.
a81ed99e 306
2eebaacd 307@item
d71de6f9
JWI
308Rewrite Automake in Scheme, so it can run in Guile. Right now it is
309written in Perl. There are also other programs, not terribly long,
310which we would also like to have rewritten in Scheme.
fff05d88 311
b6a061a8
RS
312@item
313Finish the partially-implemented C interpreter project.
2eebaacd
RS
314
315@item
fff05d88 316Help with the development of GNUstep, a GNU implementation of the
2eebaacd
RS
317OpenStep specification.
318
5aba97f2
RS
319@item
320Add features to GNU Make to record the precise rule with which each file
321was last recompiled; then recompile any file if its rule in the makefile
322has changed.
323
bb5d4e1a
RS
324@item
325Add a few features to GNU @code{diff}, such as handling large input
326files without reading entire files into core.
327
bb5d4e1a
RS
328@item
329An @code{nroff} macro package to simplify @code{texi2roff}.
330
fff05d88
RS
331@item
332An implementation of XML (see @uref{http://www.w3.org/XML/}).
333
bb5d4e1a
RS
334@item
335A queueing system for the mailer Smail that groups pending work by
336destination rather than by original message. This makes it possible
337to schedule retries coherently for each destination. Talk to
fff05d88 338@email{tron@@veritas.com} about this.
bb5d4e1a 339
5aba97f2 340Smail also needs a new chief maintainer.
bb5d4e1a 341
5aba97f2
RS
342@item
343Enhanced cross-reference browsing tools. (We now have something at
344about the level of @code{cxref}.) We also could use something like
345@code{ctrace}. (Some people are now working on this project.)
bb5d4e1a
RS
346@end itemize
347
6af1f598 348@node X Windows Projects, Network Projects, Extensions, Top
d9e60f52 349@chapter X Windows Projects
bb5d4e1a 350
d9e60f52 351@itemize @bullet
bb5d4e1a
RS
352@item
353An emulator for Macintosh graphics calls on top of X Windows.
354
0f82d9d8
RS
355@item
356A package that emulates the API of Visual C++, but operates on top of
357X11. It need not match the screen appearance of Visual C++. Instead,
358it would be best to use GTK, so as to give coherence with GNOME.
359
360@item
361A compatible replacement for Visual Basic, running on top of X11.
362It need not match the screen appearance of Visual C++. Instead,
363it would be best to use GTK, so as to give coherence with GNOME.
364
bb5d4e1a 365@item
ca0afed9 366A music playing and editing system. This should work with LilyPond, a
fff05d88
RS
367GNU program for music typesetting.
368
0f82d9d8
RS
369@item
370An ear-training program for students of music.
371
fff05d88
RS
372@item
373An ephemeris program to replace xephem (which is, alas, too restricted
374to qualify as free software).
7263f2f7 375
bb5d4e1a
RS
376@item
377A program to edit dance notation (such as labanotation) and display
378dancers moving on the screen.
379
b10fca68 380@item
fff05d88 381Make sure the Vibrant toolkit works with LessTif instead of Motif.
b10fca68 382
bb5d4e1a
RS
383@item
384A program to display and edit Hypercard stacks.
385
c05524ad
RS
386@item
387A program for graphic morphing of scanned photographs.
0f82d9d8
RS
388
389@item
390Software for designing and printing business cards.
bb5d4e1a
RS
391@end itemize
392
6af1f598 393@node Network Projects, Encryption Projects, X Windows Projects, Top
ab9ca9c7
JWI
394@chapter Network Projects
395
396@itemize @bullet
ab9ca9c7
JWI
397@item
398A teleconferencing program which does the job of CU-SeeMe (which is,
399alas, not free software).
400
401@item
402A free ICQ-compatible server program. (The ICQ server itself is not
403free software.)
404@end itemize
405
6af1f598 406@node Encryption Projects, Other Projects, Network Projects, Top
ca0afed9 407@chapter Encryption Projects
bb5d4e1a 408
ca0afed9
RS
409These projects need to be written outside the US by people who are not
410US citizens, to avoid problems with US export control law.
bb5d4e1a 411
d9e60f52 412@itemize @bullet
c05524ad 413@item
ca0afed9 414A free library for public-key encryption.
c05524ad 415
ca0afed9 416This library should use the Diffie-Helman algorithm for public key
c05524ad 417encryption, not the RSA algorithm, because the Diffie-Helman patent in
fff05d88
RS
418the US expired in 1997. This library can probably be developed from
419the code for the GNU Privacy Guard (now in development).
7263f2f7 420
dc32c4fa
RS
421@item
422An implementation of SSLv3 (more precisely, TLSv1) which is patent-free
423(uses the non-RSA algorithms) and has distribution terms compatible with
424the GNU GPL. We know of a GPL-covered implemention of a version of SSL
425that you can use as a starting point.
426
bb5d4e1a 427@item
eee331a5
RS
428Free software for doing secure commercial transactions on the web.
429This too needs public key encryption.
ca0afed9
RS
430@end itemize
431
dc32c4fa
RS
432The projects to provide free replacements for PGP and SSH are no longer
433listed here, because projects to do those jobs are well under way.
fff05d88 434
6af1f598 435@node Other Projects, Languages, Encryption Projects, Top
ca0afed9 436@chapter Other Projects
bb5d4e1a 437
ca0afed9 438If you think of others that should be added, please
fff05d88 439send them to @email{gnu@@gnu.org}.
ca0afed9
RS
440
441@itemize @bullet
c6d6677e 442@ignore OpenBIOS is doing this
fff05d88
RS
443@item
444A simple PC BIOS. On most new PCs, the BIOS is stored in writable
445memory (misleadingly known as ``flash ROM''). In order to have a wholly
446free system on these PCs, we need a free BIOS.
447
448This task is made simpler by the fact that this BIOS need only support
449enough features to enable a boot-loader such as LILO or GRUB to finish
450loading the kernel. Neither Linux nor Mach actually uses the BIOS once
451it starts up. Also, it is not absolutely necessary to do all the many
452diagnostics that an ordinary BIOS does (though it would be useful to do
453some of them). However, there may be a need to configure certain data
454in the computer in a way that is specific to each model of computer.
c6d6677e 455@end ignore
fff05d88 456
a47e454e 457@item
7c4978a8
RS
458A free program that can transfer files on a serial line
459using the same protocol that Kermit uses.
a47e454e 460
bb5d4e1a
RS
461@item
462An imitation of Page Maker or Ventura Publisher.
463
464@item
465An imitation of @code{dbase2} or @code{dbase3} (How dbased!)
466
bb5d4e1a 467@item
c05524ad
RS
468A general ledger program, including support for accounts payable,
469account receivables, payroll, inventory control, order processing, etc.
470
bb5d4e1a 471@item
fff05d88
RS
472A free replacement for Glimpse, which is not free software.
473
0f82d9d8
RS
474@item
475Software for desktop publishing. We are extending Emacs into a WYSIWYG
476word processor, to handle primarily linear text; what this item proposes
477is software focused on page layout.
478
283fd8a7 479@ignore It looks like TruePrint will fill this gap
fff05d88
RS
480@item
481A program to typeset C code for printing, to make it easier to read on
482paper. For ideas on what to do, see the book,
bb5d4e1a
RS
483
484@display
485Human Factors and Typography for More Readable Programs,
486Ronald M. Baecker and Aaron Marcus,
487Addison-Wesley, ISBN 0-201-10745-7
488@end display
489
fff05d88 490But you don't have to do exactly what they propose.
283fd8a7 491@end ignore
bb5d4e1a 492
0f82d9d8
RS
493@item
494A program to reformat HTML source to make it easier to read as HTML.
495
fff05d88
RS
496@ignore
497@c This is now being worked on -- rms, 22 June 1998
7c4978a8 498@item
541d49e1
JG
499A program to convert Microsoft Word documents to text/enriched, TeX,
500LaTeX, Texinfo, or some other format that free software can edit.
fff05d88
RS
501@end ignore
502
503@ignore
504@c People are helping the developer of siff release it as free software.
7c4978a8 505
fff05d88 506@item
50b9d07d 507A free replacement for siff (sometimes called sif). This would be a
fff05d88
RS
508program to find similar files in a large file system, ``similar''
509meaning that the files contain a significant number of common substrings
510that are of a certain size or greater. You can find some information
511about siff (which is, unfortunately, not free software) at
512@uref{ftp://ftp.cs.arizona.edu/reports/1993/TR93-33.ps.Z}.
513@end ignore
514
515@ignore
516@c This is being developed -- rms, 3 May 1998
7c4978a8
RS
517@item
518A free replacement for the semi-free Qt library.
fff05d88 519@end ignore
7c4978a8 520
ca0afed9
RS
521@item
522High-quality music compression software.
fff05d88 523(Talk with @email{phr@@netcom.com} for relevant suggestions.)
c6d6677e
RS
524Unfortunately we cannot implement the popular MP3 format
525due to patents, so this job includes working out some other
526non-patented format and compression method.
ca0afed9
RS
527
528@item
529A program to play sound distributed in ``Real Audio'' format.
530
531@item
532A program to generate ``Real Audio'' format from audio input.
533
fff05d88
RS
534@item
535Programs to handle audio in RTSP format.
536
632c6364 537@ignore @c Software patents have made this domain off limits to free software.
ca0afed9
RS
538@item
539An MPEG III audio encoder/decoder (but it is necessary to check, first,
540whether patents make this impossible).
541
ab9ca9c7 542@c Chris Hofstader is working on this.
bb5d4e1a
RS
543@item
544Speech-generation programs (there is a program from Brown U that you
545could improve).
546
ab9ca9c7 547@c We have a project now.
bb5d4e1a 548@item
948c942f 549Speech-recognition programs (single-speaker, disconnected speech is sufficient).
ab9ca9c7 550@end ignore
948c942f 551
1c5d31a7
JWI
552@item
553A braille translation and formatting system which can convert marked up
554documents into braille. This should let the user customize the braille
555translation rules; it would be good to divide it into a
556device-independent part plus drivers. Contact Jason White,
0fd51ae1 557@email{jasonw@@ariel.ucs.unimelb.EDU.AU}.
1c5d31a7 558
fff05d88
RS
559@ignore Being done
560@item
561A program to display text word by word, always showing just one word at
562a time. This method permits much faster reading than ordinary text
563display. If you want to work on this, contact @email{stutz@@dsl.org} to
564learn more.
565@end ignore
566
bb5d4e1a 567@item
b6a061a8
RS
568More scientific mathematical subroutines.
569(A clone of SPSS is being written already.)
bb5d4e1a
RS
570
571@item
572Statistical tools.
573
eee331a5
RS
574@item
575A scientific data collection and processing tool,
576perhaps something like Scientific Workbench and/or Khoros,
577
bb5d4e1a
RS
578@item
579Software to replace card catalogues in libraries.
580
d2c1d7a8
KH
581@item
582A package for editing genealogical records conveniently.
583This could perhaps be done as a Gnome program, or perhaps
584as an Emacs extentsion.
585
ca0afed9
RS
586@item
587A project-scheduling package that accepts a list of project sub-tasks
588with their interdependencies, and generates Gantt charts and Pert charts
589and all the other standard project progress reports.
590
bb5d4e1a
RS
591@item
592Grammar and style checking programs.
593
eee331a5 594@item
ac01a1c0
RS
595A fast emulator for the i386, which would make it possible
596to emulate x86 code on other CPUs, and also to more easily
597debug kernels such as Linux more conveniently.
598
599To make this faster, it could work by translating machine instructions
600into the machine language of the host machine.
eee331a5 601
bb5d4e1a
RS
602@item
603Optical character recognition programs; especially if suitable for
604scanning documents with multiple fonts and capturing font info as well
261597d4 605as character codes. Work is being done on this, but more help is needed.
5aba97f2 606
bb5d4e1a
RS
607@item
608A program to scan a line drawing and convert it to Postscript.
609
610@item
611A program to recognize handwriting.
612
613@item
614A pen based interface.
615
bb5d4e1a
RS
616@item
617CAD software, such as a vague imitation of Autocad.
ca0afed9
RS
618
619@item
620A program to receive data from a serial-line tap to facilitate the
621reverse-engineering of communication protocols.
bb5d4e1a
RS
622@end itemize
623
6af1f598 624@node Languages, Games and Recreations, Other Projects, Top
0f82d9d8 625@chapter Programming Languages
bb5d4e1a 626
d9e60f52 627Volunteers are needed to write parsers/front ends for languages such as
0b2a408e
RS
628Algol 60, Algol 68, PL/I, Cobol, Fortran 90, Delphi, Modula 2, Modula 3,
629and any other languages designed for compilation, to be used with the
630code generation phases of the GNU C compiler.
2eebaacd 631
fff05d88 632@c Fortran status is here so gnu@gnu.org and the volunteer coordinators
cab856b0 633@c don't have to answer the question -len
2eebaacd 634You can get the status of the Fortran front end with this command:
cab856b0 635
2eebaacd 636@example
fff05d88 637finger -l fortran@@gnu.org
cab856b0 638@end example
bb5d4e1a 639
0f82d9d8 640We would like to have translators from various languages into Scheme.
dc32c4fa 641These languages include TCL, Python, Perl, Java, Javascript, and Rexx.
0f82d9d8
RS
642
643We would like to have an implementation of Clipper, perhaps a GCC front
644end, and perhaps a translator into Scheme.
645
6af1f598 646@node Games and Recreations, , Languages, Top
d6eb79ad 647@chapter Games and Recreations
bb5d4e1a 648
c05524ad
RS
649Video-oriented games that work with the X window system.
650
d9e60f52 651@itemize @bullet
bb5d4e1a
RS
652@item
653Empire (there is a free version but it needs upgrading)
654
2eebaacd
RS
655@item
656An ``empire builder'' system that makes it easy to write various kinds of
657simulation games.
658
c05524ad
RS
659@item
660Improve GnuGo, which is not yet very sophisticated.
661
0f82d9d8
RS
662@item
663Network servers and clients for board and card games for which such
664software does not yet exist.
665
bb5d4e1a 666@item
fff05d88
RS
667A Hierarchical Task Network package which can be used
668to program play the computer's side in various strategic games.
669
670@item
671Write imitations of some popular video games:
bb5d4e1a 672
d9e60f52 673@itemize -
bb5d4e1a
RS
674@item
675Space war, Asteroids, Pong, Columns.
676@item
677Defending cities from missiles.
678@item
2eebaacd 679Plane shoots at lots of other planes, tanks, etc.
bb5d4e1a 680@item
fff05d88 681Wizard fights fanciful monsters.
bb5d4e1a
RS
682@item
683A golf game.
fff05d88 684@ignore Being done by jhall1@isd.net
bb5d4e1a
RS
685@item
686Program a robot by sticking building blocks together,
687then watch it explore a world.
fff05d88 688@end ignore
bb5d4e1a 689@item
7c4978a8
RS
690Biomorph evolution (as in Scientific American and @cite{The Blind
691Watchmaker}).
bb5d4e1a
RS
692@item
693A program to display effects of moving at relativistic speeds.
694@end itemize
bb5d4e1a
RS
695@end itemize
696
697We do not need @code{rogue}, as we have @code{hack}.
698
699@contents
700
701@bye
fff05d88
RS
702Local variables:
703update-date-leading-regexp: "@c This date is automagically updated when you save this file:\n@set lastupdate "
704update-date-trailing-regexp: ""
705eval: (load "/gd/gnuorg/update-date.el")
706eval: (add-hook 'write-file-hooks 'update-date)
707End: