Complete.Org: Mailing Lists: Archives: tetrinext: March 2000:
[tetrinext] Re: TINT UI and Theme Standard draft -- part 1:interface
Home

[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]
To: tetrinext@xxxxxxxxxxxx
Subject: [tetrinext] Re: TINT UI and Theme Standard draft -- part 1:interface
From: Alexander Hvostov <vulture@xxxxxxxxxxxxxx>
Date: Fri, 24 Mar 2000 00:35:04 -0800 (PST)
Reply-to: tetrinext@xxxxxxxxxxxx

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------
> 
> 
> 




[Prev in Thread] Current Thread [Next in Thread]