README.md
1# Variations on Rockdodger 0.5.8
2
3VoR is a quick action game where you drive a space ship and try to avoid
4crashing into rocks. Current information about vor can be found on the
5homepage: https://sametwice.com/vor
6
7Here are the keys:
8
9 Space: Start playing
10 1: Switch to easy mode and start playing
11 2: Switch to normal mode (default) and start playing
12 Arrows: Steer (use short taps, and remember to slow down)
13 Esc: Quit
14 F: Toggle full-screen mode
15 P: Pause/unpause
16 3: Save a screenshot
17
18See INSTALL for instructions on building, running and installing.
19
20VoR is released under the GNU GPL -- see file COPYING for details. The audio is
21public domain.
22
23Jason Woofenden and Josh Grams like Rock Dodgers (a game by Paul Holt:
24http://spacerocks.sourceforge.net/) very much: both playing it and hacking on
25it. VoR is the result. It is currently based on the rockdodger 0.4.2 codebase,
26with quite a few modifications, both user-visible changes and internal
27technical improvements.
28
29Available for download from https://sametwice.com/vor
30
31Note: This is a fairly hard game, intended to be a quickie game for when you
32want to kill a few spare minutes. For reference, my best time [Josh Grams] is
33about 2 minutes in version 0.3. I'm not generally very good at video games, but
34I have been playing this one for quite a while now.
35
36
37## Changes from Rock Dodgers
38
39User-Visible Changes:
40
410.5.6:
42 * Some rocks disappear when hit by your exploding ship sparks
43
440.5.4:
45 * new sound effect and music
46 * F key toggles full-screen mode
47 * 3 key saves a screenshot
48
490.5.3:
50 * another attempt at fixing the x86 crashes.
51 * made valgrind happy.
52
530.5.2:
54 * another attempt at fixing the x86 crashes.
55
560.5.1:
57 * another attempt at fixing the x86 crashes.
58
590.5:
60 * lots of bug fixes
61 * tweaks to engine and explosion graphics and new font
62
630.4:
64 * Rocks now bounce off each other, and are pushed by particles.
65 * Now with two difficulties: normal and easy.
66 * Better new ship placement after you die.
67
680.3:
69 * Scrolls to the right so you can zoom ahead.
70 * Fully random rock generation; rocks no longer wrap vertically.
71 * Rocks' relative speeds are now uniform in all directions (i.e. much more
72 up/down speed variation). Noticeably hard...err...more "interesting".
73 * Command-line option --game-speed.
74
750.2:
76 * New graphics, generated by POV-Ray. Yeah, okay, the ship is really cheesy.
77 At least the rocks are cool.
78 * Real collision detection; no more "ship is 1 pixel bigger all around
79 than it looks."
80
810.1:
82 * Moves like a real spacecraft; no more friction!
83 * No more silly shields or lasers; just pure rockdodgin' fun!
84 * Up/down scrolling; gives you more escape options.
85 * Proper time display for score, not just raw milliseconds (bleh).
86 * Ship explodes, blowing rocks away, rather than automagically vanishing
87 them.
88
89Internal Technical Changes:
90
91 * Build system now uses autoconf (as of 0.5.5)
92 * Replaced SFont with Jason's font.c
93 * Started factoring a lot of stuff out of main into their own .c files.
94 * Removed a bunch of unused code.
95 * Function definitions: name at beginning of line (line following the return
96 type) for easy grepping as per GNU coding standards.
97 * Real collision detection (bbox/bitmask).
98
README_font.md
1# How the font is generated, and how to edit it.
2
3The font used in VoR is generated from the pixel layout in
4`font_template.txt.gz`. You can edit this file easily with vim. Don't unzip it,
5vim handles this for you. Just open it up and do `:set nowrap`. You should now
6see the font and be able to edit it nicely with replace mode (hit capital `R`).
7
8The font is generated from this template by creating a huge blob object in
9povray. A small diffuse sphere is created at the location of each `#` in the
10template file, and the result is rendered where the density of all those
11combined spheres is high enough.
12
13If you create a font that has considerably different dimensions you will have
14to fiddle with a few numbers in the sources:
15
16 * update the `TEMPLATE_WIDTH` and `TEMPLATE_HEIGHT` constants in `font_guts.c`
17
18 * If you've changed the aspect ratio considerably: update the "up" and
19 "right" vectors in `font.pov` These determine the aspect ratio, and what area
20 of the coordinate space is rendered. Be sure to leave enough space around
21 the edges so the font doesn't get clipped. Don't worry about excess black
22 around the edges, it will be cropped automatically after rendering. The
23 constant `OUTPUT_WIDTH` in `font_guts.c` is in povray units.
24
25
26The font template was created from the 10x20 font from the misc-fixed pack. It
27was tweaked slightly in particular so the dots on the `j`, `i` and `!`
28characters don't touch the rest of the character.
29