[tetrinext] Re: TINT UI and Theme Standard draft -- part 1:interface
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Ladies and Gents,
A few suggestions:
- Keybindings. A la Quake, would allow someone to customize which key
moves the tetris block how, and the like.
- Auto-hide menus and taskbar, which show up only when the mouse pointer
(if there is one) moves over them.
- Menu accelerator keys, so you can press, say, Alt-F (a la Windows) to
access the "File" menu. (though such a menu rarely exists in a game...)
- Auto-hide console, which, during the game, ordinarily is hidden, but
pops up whenever someone says something. (shamelessly stolen from Unreal
Tournament, slightly modified. nah nah!)
- Audio taunt and pictures of players to be transmitted across the
network. See Unreal Tournament for examples. (yes, there's a demo...)
- Moving the console/panes/menu/taskbar around by sliding them across the
screen, a pixel or two at a time. Makes for a smooth, animated movement,
which looks really cool! Jared says this isn't hard in SDL...
- Sounds, of course. Should almost certainly be themable. I'd bring up
esd, but it seems that's what SDL uses anyway, which is most definitely a
good thing...
- Background music. Yes! Okay, this probably is impossible unless someone
knows someone who likes making music for a free game, but...
- The taskbar should not be called the taskbar, to avoid confusion with
the one that switches between programs. Calling it the 'toolbar' seems
less confusing.
- And remember, this has to be lightweight enough to run on MS-DOS on a
286 with 2 MB of RAM and a CGA!...uh...nevermind.
- 3D accelerated (probably via OpenGL) tetris blocks. Only do this if
you're insane. ;)
I'd say that's it for now.
Regards,
Alex.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM d- s:+ a--- C++++ UL++++ P L+++ E W++ N o-- K- w
O--- M- V- PS+ PE- Y PGP t+ 5 X- R tv+ b DI--- D+
G e-- h++ r--- y
------END GEEK CODE BLOCK------
On Fri, 24 Mar 2000, Jared Johnson wrote:
>
> okay, involvement has picked up with TINT (what, you haven't noticed?? well it
> has really =) so let's step up the effort to get some design concept stuff
> typed
> out in rants and then converted to cohesive documents in html and put onto the
> page. Here's my attempt at doing this. I'm sure it's quite incomplete, so
> respond to this with some reccomendations/suggestions/comments/flames. let's
> talk
> about the UI. i'll just put it into the format of my ratings page since it's
> the
> only page besides the FAQ that anybody has felt like writing <ahem!>...
>
>
> By the way, i'm sure Zillidot have plenty of additions and corrections to make
> on this, since he's already coded parts of the UI. I hope that his classes
> let
> up on him so that he can come on and post these, or at least to hand someone
> what he's done so far so that they can take a look and note the
> incongruancies with
> what i wrote. I'm sure there will be alot of them, i'm really only writing
> this in order to get SOMETHING started =). on with the show.
>
> User Interface
>
>
>
> 1st Draft
>
>
>
> Introduction
>
> This document is [er, will eventually be] a complete description of the
> features to be implimented in the TINT user interface. This includes a
> complete user
> interface as well as a framework that allows or modifications and extensions.
> We
> will focus on features that are necessary to include in order to have a
> complete and cohesive user interface. In designing the interface, however,
> future
> modularization and extension to the interface should be supported.
>
>
>
> Objectives
>
> It's a good idea to outline the objectives that the UI is hoped to achieve.
> These include the following:
>
> -Portability. This is the primary reason that SDL was chosen as the library
> to
> be used for TINT's user interface.
>
> -Flexibility. In order to achive maximum flexibility, TINT's theme standard
> will be very broad; every visual aspect of the UI can be set by theme.
>
> -Modularity. It is hoped that willing programmers will be able to extend the
> TINT interface by writing modules that use SDL and distributing them seperate
> from the TINT package. the interface code should allow for this.
>
> -Appearance. TINT will have a very arcade-style appearance, adding to the
> enjoyment of the game and to its ability to be modified in various ways by
> creative
> and willing programmers. Design of the interface should allow for visual
> effects that can then be provided by the TINT project or by theme authors.
>
> -Useability. It is not our intention to sacrifice an intuitive interface for
> all of the preceding objectives. Although it may be possible to extend TINT
> to
> be a crufty, uncomfortable interface, TINT's interface should still be
> designed
> to be as intuitive and comfortable as possible.
>
> The rest of this document attempts to outline how these objectives will be
> reached through the design of TINT.
>
>
>
> Interface
>
> The TINT interface will be designed to be as comfortable for the user as
> possible. It will be designed to work in a windowed or full screen
> environment and
> conform to what most people would expect from a program's interface. The
> following elements will be included in TINT's interface:
>
> -Menu System.
> The menu system will give users access to every function available. It will
> probably be designed as most are -- File, Edit, View, and Help -- with extra
> menus
> for various categories of functions, including but not limited to a Game,
> Client, Server, and Chat menu. Of course, some functions that are included
> in the
> menu will be made available directly on the screen and/or via hotkeys, for
> added
> convenience.
>
> -Dialogues.
> Dialogues will be included primarily for connecting to a server, setting up a
> serer, and editing client, server, and interface preferences. Note that which
> options will be available for change within the preference dialogues will be
> determined by further discussion. Input dialogues for simple arguments within
> functions like setting nick name, changing teams, etc. will also be included
> with
> functions that require it.
>
> -Task Bar
> Another common element of an interface that will be included in TINT will be
> the task bar. This bar will be optional -- it can be hidden through an
> option in
> the Vew menu as well as by whatever other means are decided. Every function
> included in the task bar will be one that is available via the menu system.
> It
> will include a text description and an icon -- whether to display the text,
> icons,
> or both will be left up to the theme author and/or user. A possible
> additional
> feature for this task bar would be to allow input of a text argument to be
> added
> as a flag to the function that is being used, via a text input box directly on
> the task bar. This would be useful for connecting to a server, joining a
> channel, joining a team, or changing a nick. Everything included in the task
> bar
> should be modifyable by the theme author and perhaps through the preference
> dialogue.
>
> -Console
> The console will be the "irc-style" element of TINT. It will be the primary
> means by which the user chats with the rest of the channel that he is playing
> in.
> It will support irc-style commands for everything that is included in the menu
> system. This will complete a very comprehensive means by which a user can
> perform the same function in whatever way he feels comfortable; for instance,
> in
> order to join the team "teamsters", the user could either access the "team"
> function
> through the menu system and enter "teamsters" into the text dialogue; enter
> "teamsters" into a text box in the task bar under the "team" function; or
> simply
> type "/team teamsters" in the console. Note that the menu, taskbar, and
> console
> name for a function can theoretically be different, provided that there is a
> means by which such differences can be documented for the sake of theme
> authors and
> users. Aliases for various functions can also be set for use in the console.
> The console will be at the bottom of the user's screen; The size of the
> console
> during the game and between games will of course be different (and can be set
> by
> theme author and/or user). Users will also be able to manually grow, shrink,
> or
> hide the console. This console is remeniscent of the console used in games
> like Quake.
>
> -Panes
> Panes will be used for various information that users would like to see
> displayed throughout gameplay. Gameplay will be enveloped within a pane.
> Other
> possible elements that can be displayed within panes include lists of users
> within the
> channel or on the server, queries with individual players (remeniscent of /msg
> in irc), and winlists. Interested parties looking to have fun could even
> create
> SDL hacks displayed in a pain that do various fun things like, for instance,
> graphically reflecting the height of a player's field. Users and theme
> authors
> will be able to show and hide panes, resize panes that can allow resizing, and
> perhaps set various dialogues to be displayed in a pane (an example of good
> use of
> this would be to place the connection dialogue into a pane)
>
> Okay, that's the end of the interface section. i would just write both the
> interface section and the theme section into one doc, but (1) this is pretty
> long
> and (2) i need to go eat dinner. so, stay tuned for the section on themeing!
>
> keep in mind while you're reading this that:
>
> -It is not a complete document, it needs massive playing with by people that
> know more than me
> -I don't grock much of the technical end of implimenting this at all, so i'm
> sure that there are things in there that are just technically ridiculous to
> do.
> so do me a favor and point them out =)
>
> thanks.
>
> --
> Jared Johnson
> solomon@xxxxxxxxxxxxx
>
> (null cookie; hope that's ok)
>
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCS/C d+(-)>-- s:+ a18 C++++$ UL++++>$ P+>++++ L+++ E--- W+ N+ o? K- w--- !O
> M-- V-- !PS !PE Y PGP- t+ 5-- X R-- tv- b+ DI>+ !D G e>++(>+++) h-- r*
> y-(>+++)
> ------END GEEK CODE BLOCK------
>
>
>
|
|