-
Notifications
You must be signed in to change notification settings - Fork 0
/
features.html
144 lines (128 loc) · 8.79 KB
/
features.html
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>SLUDGE Adventure Game Engine - Features</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="description" content="SLUDGE is an open source, cross-platform system by which anyone can make an adventure game.">
<meta name="keywords" content="SLUDGE, OpenSLUDGE, adventure, game, free, open, source">
<meta name="Author" content="Tobias Hansen">
<meta name="language" content="English">
<meta name="robots" content="follow">
<meta name="googlebot" content="index, follow">
<link rel="stylesheet" type="text/css" href="sludge2.css">
<link rel="alternate stylesheet" type="text/css" href="sludge2-fixed-menu.css" title="Fix menu position">
<link rel="icon" type="image/png" href="images/Sludge.png">
</head>
<body>
<div><img id="headerGraphic" src="images/sludge400.png" alt="SLUDGE"></div>
<table><tr>
<td id="menuColumn"><div class="fixed">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="download.html">Download</a></li>
<li><a href="https://github.com/opensludge/opensludge">GitHub</a></li>
<li><a href="opensludge/doc/SLUDGE_Help.html">Documentation</a></li>
<li><a href="games.html">Games</a></li>
<li><a href="features.html">Features</a>
<ul>
<li><a href="#current">Current Features</a></li>
<li><a href="#possibilities">Current Possibilities</a></li>
</ul>
</li>
<li><a href="screenshots.html">Screenshots</a></li>
<li><a href="resources.html">Resources</a></li>
</ul>
</div></td>
<td id="mainColumn">
<h1>Features</h1>
<h2 id="current">Current Features</h2>
<p>SLUDGE currently contains built-in support for the following:</p>
<ul>
<li><b>Objects</b> - with easy to use "events" defining how the game reacts when different objects are combined
</li><li><b>Characters</b> - plus automatic scaling (now with anti-aliasing as standard) and special effects such as transparency
</li><li><b>Animations</b> - suitable for one-shot <i>and</i> automatically looping animations; combine any images from a sprite bank in any order
</li><li><b>Costumes</b> - with a costume your characters can look
different when facing different directions (any number of directions you want)...
plus you can provide different animations for talking, walking and
standing still
</li><li><b>Full-screen backgrounds</b> - load 'em from PNG or TGA files in a single line
</li><li><b>Interactive backgrounds</b> - yes, bits of the background image can represent objects too
</li><li><b>Sound effects</b> - play any noise (OGG or WAV) at any time
with a single command; also support for looping sounds, changing the
volume of individual noises and a whole heap of other audio goodness
</li><li><b>Music</b> - play up to three tunes at once (MOD, S3M, IT or XM)
</li><li><b>Full talkie versions</b> - just supply a sound file when you make someone talk or think, and SLUDGE takes care of everything for you
</li><li><b>Scrolling backgrounds</b> - point the camera anywhere at any time
</li><li><b>Freezing / unfreezing</b> - put the entire world on hold while you go to a close-up, look through your inventory or run your custom menu system
</li><li><b>Input handlers</b> - set the engine up so that it calls <i>your</i> function when a mouse button is clicked, when the mouse moves, when a key is pressed...
</li><li><b>Timers</b> - pause for however long you want, whenever you want, without your character saying "..."
</li><li><b>Multiple functions at once</b> - keep that character moving
or talking in the background, animate waterfalls or just devise puzzles
which must be solved against the clock
</li><li><b>Z-buffers</b> - so characters walk behind tables, trees, door-frames, alien machinery etc.
</li><li><b>Floor plans</b> - including automatic path finding without crossing non-walkable areas
</li><li><b>Lightmaps</b> - set up shadows and spotlights simply by using an extra image the same size as your room
</li><li><b>True-colour</b> - SLUDGE uses 32-bit colour throughout
</li><li><b>Any resolution you want</b> - provided your video card can support it, so can SLUDGE
</li><li><b>Windowed mode</b> - with your own custom title bar and quit message (whoo!)
</li><li><b>Full-screen mode</b> - and if full-screen mode fails, your game will run in windowed mode instead rather than just keeling over
</li><li><b>Game loading and saving</b> - plus rename, delete or launch any file you want
</li><li><b>Single output file</b> - containing all your graphics, sounds and script
</li><li><b>Scripts are compiled not interpreted</b> - nobody can break in and see how you did all your clever bits... and they run faster, too
</li><li><b>Shaded variable-width fonts</b> - fonts are just greyscale sprite banks, and if you don't like Hungry Software's demo font (based on Ariel) there are <a href="resources.html#fonts">plenty of other fonts to download</a> courtesy of other SLUDGE users
</li><li><b>Sprite flipping</b> - just use a negative sprite number and the appropriate sprite will be mirrored for you, saving you file space
</li><li><b>Compressed sprite files</b> - yep, your sprite banks are now compressed, saving you even <i>more</i> file space
</li><li><b>Per-pixel mouse-over-sprite checking</b> - the mouse will only register a character when you're actually pointing at it, <i>not</i> just anywhere within its bounding box
</li><li><b>Spinning characters</b> - on command <i>and</i> automatically when turning a corner while walking, at whatever speed you want
</li><li><b>Semi-automatic font conversion ("Fontify")</b> - courtessy of the new sprite bank editor
</li><li><b>Fantastic audio support</b> - not just your standard WAV
files, but Ogg Vorbis and FLAC compressed samples and lots of track-based
music formats (MOD, S3M, IT and XM)
</li><li><b>Improved keyboard handler</b> - catch more keypresses
including function keys, cursor keys and - should you want to - Alt,
Ctrl, Shift, Alt Gr, Caps Lock, Insert, Delete, Home, End, Page Up, Page
Down, Windows and any extra quick-launch keys your keyboard may have
</li><li><b>Multiple transition modes</b> - Bored of your screens
appearing and disappearing too quickly? Now you can disolve or fade in
and out, or even cross fade between one scene and the next
</li><li><b>Your own choice of icon</b> - well, you can't change the
icon for the SLUDGE engine, but here's the next best thing... give your
project a 16x16 or 32x32 image and the engine will use it as an icon in
your game's title bar, and in the taskbar while it's running
</li><li><b>Silent running</b> - no sound support? So what! The engine
can now carry on regardless, letting people with no sound cards play
your game too! It's also an easy way to make a much smaller file for
a faster download for people with slow modems
</li><li><b>Portable custom data files</b> - save an array to a file for
use later, or even use by another SLUDGE game... you can even encode it
all so nobody else can understand it, and all you need to do to read it
is provide the same key
</li><li><b>Background parallax scrolling</b> - leave holes in your room
through which you can see a sky or background which scrolls at a
different speed to the rest of the scene
</li><li><b>Multiple language support</b> - make your game playable in as many languages as you have the time to provide, all within the one game file</li>
</ul>
<h2 id="possibilities">Current Possibilities</h2>
<p>SLUDGE does <i>not</i> contain built-in support for the following, but all this stuff - and a whole lot more - <i>is entirely possible</i> using the language (and, therefore, a lot more customisable):</p>
<ul>
<li><b>Inventory system</b> - SLUDGE uses
one array / stack / queue / linked-list type container which is ideally
suited to implementing an inventory (source code in example project)
</li><li><b>Scrolling credits</b> - You can paste to the screen, and you can scroll the video buffer... what more do you need? (source code
<a href="resources.html#src-scrolling-credits">here</a>)
</li><li><b>Text entry boxes</b> - Freeze, write your message on the screen, unfreeze... and make it look exactly how you want (source code
<a href="resources.html#src-text-box">here</a>)
</li><li><b>Automatic character following</b> - just update the position of the camera every frame, and hey presto! (source code
<a href="resources.html#src-smooth-scrolling">here</a>)
</li><li><b>Fake foreground parallax scrolling</b> - a la Broken Sword... simply update the location of an inanimate "character" every time you move the camera
</li><li><b>Interactive conversations</b> - there's nothing in SLUDGE to
handle this, but with such an impressive scripting language the code
for a complete interactive conversation mechanism is less than 100 lines
(source code in example project)
</li>
</ul>
</td>
</tr></table>
<P class="copyright-notice">© 2000-2011 Hungry Software and contributors</P>
</body>
</html>