File: UPDATES

package info (click to toggle)
xtux 0.2-2.1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 4,616 kB
  • ctags: 465
  • sloc: ansic: 2,921; makefile: 89
file content (175 lines) | stat: -rw-r--r-- 7,264 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
Xtux update log.					David Lawrence


JUL 27:

	Cleaned or rewrote lots of code. Things are done much more sanely now
	than before. This is because for most of XTux's development, I have
	been really tired and decided to add a new feature before I went to
	bed. This led to really quick and very dirty hacks. Hopefully other
	people can now work on my messy code! This is necessary because I can't
	program AI to save my life. Help!

	I've implemented sound using ESD, I use GNOME now, so it works for me!
	If you have any objection to using it, please write the non ESD
	sound code!

	SOUND IS NOT ENABLED BY DEFAULT! Change it in header.h

	Yeah I know about caching sounds etc, but we haven't recorded very
	many at the moment and will probably have to do sound through OSS along
	with ESD in the future.

	There are lots of user tweakable settings you can change in header.h,
	I may make it so it is changed at runtime, but at the moment you have
	to recompile.

	I've tried to separate code much more, eg you won't find any references
	to an xpm anywhere but image.c, to draw an entity you don't have to
	keep track of what to draw or the details of the image, it's all hidden
	and done for you.

	Entity classes have been introduced to simplify working out what to do,
	most of the time you can drop in a new entity and it will work as
	planned (but with default properties (health, speed etc)).

	Added lots of new monsters and images. The new fireball looks quite a
	bit better than the old one, I've turned to the dark side and have
	started using the Daemon now because the fireballs kick ass.

	Since the only fun thing to do in XTux at the moment is to kill bunnies,
	I've made the bunny killing even more fun! You can also have the
	heads or blood spats or gibbed parts stick around if you want, do this
	by editing header.h

JUN 4:

	Got most of the tech tileset implemented. Built a slashdot map to test
	it out. Simplified the image loading/retrieving by getting rid of magic
	numbers etc. Added a splash screen so that people don't get bored
	waiting for the bloat^H^H^H^H^H images to load.

	Took Beck out of the game, added frogs (just to piss the real life Beck
	off) and a spoon, for another stupid movie reference ;)

	Recorded lots of sound FX (most aren't included with the distribution)
	Will actually make a decent job of playing them soon, when I figure out
	exactly how I'm doing the sound.
	At the moment, I think I'll do both ESD and PLIB, and let people choose
	at build time. ESD has advantages such as being able to play other
	things at the same time etc, while PLIB doesn't need other lib's in
	order to get going.

APRIL 30:

	Added messages. Yes, I went overboard with them in home.map!

	Eventually I'll allow more general special objects such as teleporters,
	triggers etc. The position is kept in the .map file, while the specific
	data is kept in the .dat file. I'm thinking of using 1 digit hex for
	'special objects' but I wonder if 16 per map is enough.

	The way this is done is kindof a kludge, but I didn't want to do
	anything brilliant or I'd ruin the overall consistant kludgy feel ;)

	Changed how images are loaded in image.c, now you don't have to concern
	yourself with the location in the array of a particular tile. All
	that needs to be done is add the tile descriptor in "tile.h", and then
	add a line in image.c such as:

		FLOOR_PIX( T_FOO ) = load_image("foo.xpm", NULL);

	I actually did it in a way which ment you didn't have to enter as much
	information as the method above, but it involved preprocessor over-
	abuse, and I believe it made it somewhat hard keep track of things.

	Fixed up check_entity_collisions, so there are no duplicate cases.

	Added a new "feature", try uncommenting FOCUSFOLLOWSNUKE in the file
	'header.h' and recompiling. I may put that in as a player preference
	(ie you don't need to recompile to switch it on/off), but it's far too
	experimental at the moment ;)

	New poster up in Tux's room. Don't worry, it's clean! If you have
	any cool posters send them in. Try to make sure it looks decent at
	around (ie less than) 64x64 pixels.

	I've started version numbers, we're currently on Linuxsa V0.4, once
	we reach Linuxsa V1.0 I'll post to slashdot, freshmeat etc and go
	to actual V0.1

	I would like some more maps, and at least a very basic example of a
	'tech' style map before that, though I may jump to V1.0 on a whim
	however ;)

	I am learning C++ and GTK. My next project will definately make use of
	OO and Toolkits.
	Of course, before any of that I've got to finish xtux...

	My summer job finishes next week, so I'll have plenty of time on my
	hands for programming.

APRIL 28: (not uploaded)

	Added a menu that lets you select player/map without having to restart.
	This is good because the maps take less than a second to load while the
	pixmaps take ~10 seconds or so. The fact that the xpm format is
	ascii doesn't make for quick loading.

	I want up-arrow to cycle back through the maps, but unfortunately I
	don't know how to do that without saving all the maps into a list
	(which isn't so bad, but I'm lazy!).

	Fixed up some messy code, there is still a huge amount left though!

APRIL 24: (Updated web page)

	Changed the controls somewhat, Space shoots SELECTED weapon, and
	control/alt selects which weapon. You must have enough amunition to
	fire weapons with ammo, at the moment (prob for ever) fireball/cd is
	unlimited.

	New images for weapon selection. 1 pinched from Aftersteps icons, the
	other (nuke radiation sign) is programmer art so it may be changed.

	New monster, a cute little bunny. I am quite happy with the AI for him,
	he acts quite bunny-like!

	Nuke's don't clip on bunnies, cause they are too low to the ground.

	I Moved almost half of win.c to images.c, so now the actual drawing
	routines and image handling are separate.
	Bug fixes, PLEASE REPORT BUGS! I'm sure you can find them!

Things to do:

	Document things, such as howto add a new monster, or tile. I haven't
	done much with the map guide on the web page, but I'd rather code than
	write HTML. Volunteers?

	Fix up death animations so they are done properly, ie not using the
	health kludge that they are now.

	Collision detection. This is done very badly, eg you can't get within
	speed distance from an obsticle. The only reason it looks ok now is
	because I gave the entities a much smaller width & height than they
	actually should have.

	AI. The bunny is good, but everything else sucks.

	Sound. I think I'll use wav files, because .au's sound like crap. Too
	bad wav's aren't as easy to play.	

	Make a proper menu, with options etc. I don't like menu's, but some do.
	I've got to learn a toolkit sometime, but I'm not sure of which as yet.
	Perhaps I'll make a drop-down menu ala xbill rather than a quake style
	one as present.

	Optimise the draw_map function. You only need to update the parts of
	the map that are new on the screen (eg scroll_w, scroll_h) but at the
	moment it updates it all. This is by far the most intensive part of
	the code, so it needs to be FAST!

	Other optimisations, such as not redrawing the whole status bar when
	switching weapons. This isn't that critical, as it doesn't happen often
	and isn't really that big.