Live in southern Ontario? Attending dinner meetings is free.
PegaSoft's February Dinner Meeting
Date: February 21, 2006 at 7:00 pm
Location: Office Bar and Grill
Attendance
Ken B, Mel W, Sharon B, Mike H, Gord H
Meeting BusinessJanuary Meeting
The January meeting had been snowed out.
Annual Membership Renewals
PegaSoft memberships are $45.00 per year. Although you don't need to be
a member in order to join the mailing lists or attend our monthly dinner
meetings, membership entitles you to discounts on PegaSoft events and
the opportunity to participate in PegaSoft projects and teach in our
workshops. Membership also allows you to attend our annual PegaSoft
Summer Retreat. Members must sign the PegaSoft Employee Conduct
Policy/NDA.
Ken B and Mel W renewed their memberships.
Web Site Updates
The website has been updated for Internet Explorer. RSS feeds are
available on the headline news and Lone Coder pages.
Open Forum -- Industry QuoteThe views are those of the participants."Google.cn will comply with local Chinese laws and regulations," he said
in a statement. "In deciding how best to approach the Chinese or any
market, we must balance our commitments to satisfy the interest of
users, expand access to information, and respond to local conditions."
-- Andrew McLaughlin, Google senior policy counsel
Ken's Lone Coder column for February featured a discussion on the ethics
implied by Google's "Don't be evil" policy.
It was suggested that the column's use of "local political groups" makes
it sound like Google is bowing to pressure from municipal leaders instead
of pressure from countries. Ken had chosen "local political groups" in
an effort to avoid being censored by Google for discussing any particular
country. In order for Google to work in cooperation with many countries,
Google would have to find a middle ground with the ideologies of that
country. Did working with the ideologies of a country amount to
participating in a cover-up of wrongdoing by a country?
Ken brought out a January 2003 article by Wired, "Google Sells Its Soul",
where Google bowed to pressure from a certain religious organization to
hide websites that criticized that organization's behaviour. Google's
behaviour was not limited to submitting to the restrictions of one
country.
Ken pointed out that Google's "Don't be evil" policy, where "evil" means
the will of the leaders of the organization, was not moral high ground.
In most company, the leaders have absolute power and you can't go
against the leaders. To say "Don't go against the company founder" is
not the same as "Let's do good". However, many people responded to Ken's
column to defend Google as a moral company. Is Google any different from,
say, Microsoft where Bill Gates has (or had) absolute say as the
company's founder?
Open Forum -- In The NewsCodeweavers Debut Crossover Office 5 / Wine 0.9 [eWeek]
Wine, which allows Windows-based programs to run on Linux, has been
considered "alpha" for many years, was now announced to be a "beta"
version with this release.
Mike H had been using Crossover Office and the emulation was hit-and-miss.
iTunes 4.9 works but iTunes 6 would not run so he has to suffer with upgrade
warnings even though he can't upgrade. Likewise, he tried to install a
12-year-old CAD package, which Crossover's web site says should work,
without success.
Crossover Office comes with a config tool and installs Internet Explorer
by default. Using the config tool, you simply chose what application you
want to install. Wine, the free version, must be configured manually,
editing ".ini" files by hand to make different applications work.
Blackworm virus on Feb 3. "The worm, also known as Kama Sutra, MyWife.E
or Nyxem.E, uses the lure of sexually explicit photographs to trick
e-mail users into executing an attachment that contains a payload
capable of permanently corrupting a number of common document format
files." [eWeek]
Ken pointed out that, due to his cautious approach to using Windows and
email, he's never experienced a Windows virus. A friend of his who should
know better tried to unzip an attachment to take a look at a virus and
ended up infecting his computer. No matter how good one's safeguards,
social engineering tricks like promising free goods can defeat one's virus
defenses.
Mike H, working with a company of over 100 users, said there were plenty
of users who wouldn't resist clicking on such an attachment. Spamassassin
was working well to catch nearly 100% of the spam but a recent upgrade
had reduced Spamassassin's effectively for an unknown reason. However,
virus checking on email clients like Mozilla Thunderbird usually caught
the ones that the Spamassassin missed.
Transgaming announces new version of their Linux game software
Transgaming had spoken at the Ottawa Linux Symposium, having a poll to
chose which game they should work on emulating under Linux. Instead
of purchasing their Cedega software, you buy it on a subscription basis
to run your Windows games on Linux.
Ken pointed out that the main reason he uses Windows anymore is to run
his old games. Email, web, office productivity can all be done under
Linux.
Bell Sympatico DSL doesn't support Linux
Bell uses TLS authentication to get email. Although Linux supports TLS,
Bell requires the installation of custom TLS software for Windows making
email inaccessible from Linux.
Ken suggested using Bell's email web interface to forward all mail from
Sympatico to another account such as Gmail. Or one could switch to
another DSL company, almost all are Linux-friendly.
PegaSoft Member ProjectsBusiness Shell (BUSH) (Ken B)
No recent updates. Changes will be made shortly for using BUSH in the
Online Game Project (ie. the creation of a libbush which can be linked
into executables). Support for user-defined packages started but
incomplete.
PegaSoft Online Game Project (Ken B and Mel W)
Mel demoed his work in Python to date. He has successfully written a demo
that transmits joystick information across a network to a server, which in
turn transmits instructions to move a "player" (box) on the client. The
server runs successfully on Windows and Linux. Perhaps not exciting to look
at, it demonstrated a successful client-server messaging model and successful
use of OpenGL 3D graphics.
Ken demoed his thread-and-pipe system for communication between the server
and the clients. He had concerns that the prototype messaging system might
have too much overhead and should be redesigned to improve performance. Ken
was also concerned about how the pipes should be flushed to balance
performance with response time.
Gord H pointed out that many open source or free tools existing to create
OpenGL graphics. Ken said similar tools exist for doing scene layouts.
It was important with the game project to use good open source products
whenever possible to avoid reinventing the wheel.
Discussion: Third-Person Camera Navigation (Ken Burtch)
* "Game Programming Gems" is a book series by Charles River Media
* Features white papers from developers at ATI, Electronic Arts,
Sony, Nintendo, etc.
* Major sections include Mathematics, Physics, Artificial
Intelligence, Graphics and Network Games
* 4.1 Third-Person Camera Navigation by Jonathan Stone, Double
Fine Productions
* "chase camera" - the player's viewpoint follows above and behind
the character on the screen as if the camera is hovering over
the back of the character
* the chase camera may move in response to a situation, such as
zooming in when the player wants to examine something
* Basic camera implementation
* the camera is not positioned absolutely but is given an
ideal target position, usually in reference to the
bounding box surrounding the character
* the location of the camera is given in spherical
coordinates as opposed to the usual x, y, z coordinates
* spherical coordinates use theta, phi and rho
* theta - the counter-clockwise rotation about the
z-axis (the azimuth)
* phi - the -90 to +90 rotation from the xy-plane
(or altitude)
* rho - the distance in the resulting direction
* can be converted to x,y,z using trigonometry for
scene calculations
* spherical coordinates ensure that the ideal target is a
fixed distance but allow the camera to move around an
imaginary sphere in order to get a better position
* if the camera moves out of place, the velocity to move
the camera back into place can be computed using a
"spring system" (that is, the camera decelerates as it
approaches the ideal distance, coming to a gentle stop)
* the same sort of spring system can be applied for easing
the speed that the camera repositions itself while
rotating along the boundary of its imaginary sphere
* problem #1: tight circles
* turning in a tight circle causing the world to fly by
too fast as the camera hurries after the player (the
"Spiderman" movie effect of a camera swinging wildly,
exaggerating his swings)
* when the player turns in a tight circle, the camera
should remain relatively motionless
* problem #2: user control with an auxiliary analogue joystick
* the azimuth and altitude ideal targets can be offset by
the joystick input so the player can nudge the joystick
to get a better view
* problem #3: navigation around solid objects (e.g. walls or a
ceiling)
* the "polygon soup" of systems like OpenGL are great for
rendering but lousy for collision detection. The easiest
way around this is to have a second representation of
impassible objects that is easier to work with, to
determine the location of an interior of a scene.
* the camera is a point in space. To make it move more
realistically, give it an invisible sphere as a personal
space. The sphere will allow the camera to smoothly
slide around objects it comes close to.
* To handle collisions with solid objects, back the camera
up to the point where its invisible body collided with
the object. This causes jumps in camera motion. If the
camera's movement is dampened, you risk momentarily
moving the camera through the object as it repositions.
There are other approaches.
* problem #4: occlusions
* There's a solid object between the player and the camera
so the view from the camera is obscured.
* One approach is to determine a new target position and
move the camera to it so the view is no longer obscured.
This requires a search of scene.
* Another approach (many PS2 games) is to make the object
between the camera and user semi-transparent so you can
see through it, but can break the illusion of the 3D
world if it occurs too much.
Next Dinner
The next dinner meeting is Tuesday, March 21, 2006 at the Office Bar and Grill.
« Truth Humility Communication Nobility Freedom Purity
Excellence Right Support Courage Compassion Quality Honesty Trust
Cooperation Challenge Education »
PegaSoft Canada - A Linux Association Since 1994