]> git.cworth.org Git - lmno.games/log
lmno.games
3 years agoUse CSS custom properties to define named colors
Carl Worth [Sun, 17 May 2020 15:43:19 +0000 (08:43 -0700)]
Use CSS custom properties to define named colors

Hurrah! I've only wanted this feature for decades.

Thanks to Richard for pointing out that it's now been well-supported
long enough that I can reliably use it. This will really help so that
I can change colors in one place and have the entire style follow the
scheme.

3 years agoInsert a line break before the "Players in the game" section
Carl Worth [Sun, 17 May 2020 15:30:32 +0000 (08:30 -0700)]
Insert a line break before the "Players in the game" section

It would be more semantic to have actual "sections" in the content and
some styling that sets proper spacing between sections. But that feels
like overkill given the current simplicity of the page, and the
current problem that there was just too little space at this one
point.

If we do make the page more complex in the future, we can certainly
add semantic sections.

3 years agoFix the page width to allow the content to be a full 720px wide
Carl Worth [Sun, 17 May 2020 15:25:06 +0000 (08:25 -0700)]
Fix the page width to allow the content to be a full 720px wide

The code that was written here with numeric values of 720px was
assuming that the page interior would be as wide as 720px and that
padding would not be counted in that. But when we brought this code to
lmno we violated that assumption by using "box-sizing: border-box" on
the page, (making the padding be counted in computing the width of the
page.

The result of that was that the actual content of the page was only
620px and with actual paragraphs of text included now as part of the
empires client, it's clear that that was narrower than we really want.

So, in this commit, we account for the border-box semantics by using a
maximum page width of 820px (padding inclusive) so that the actual
page contents can be as wide as 720px.

3 years agoTweak the line-height down a bit
Carl Worth [Sun, 17 May 2020 15:23:41 +0000 (08:23 -0700)]
Tweak the line-height down a bit

Now that we've added some actual paragraphs of text, (with the empires
client), it's plain to see that a line spacing of 1.5 is just a bit
too much. It just looks better a bit smaller like this.

3 years agoempires: Adapt HTML to use 'form-field' instead of 'form-row' class
Carl Worth [Sun, 17 May 2020 15:15:45 +0000 (08:15 -0700)]
empires: Adapt HTML to use 'form-field' instead of 'form-row' class

The top-level style.css uses this slightly different (but more
accurate) class naming. By adapting to it here, we also simplify the
empires-specific CSS file to not need to define its own form layout.

3 years agoempires: Defer to top-level style sheet for as much as possible
Carl Worth [Sun, 17 May 2020 15:13:02 +0000 (08:13 -0700)]
empires: Defer to top-level style sheet for as much as possible

Most of the top-level lmno style.css was originally copied from the
style.css file from empires-html in the first place. So there was a
lot od fuplication in these files.

In this commit, we reference the top-level style.css from the empires
HTML file and drop from the empires style.css file all directives that
already exist above.

3 years agoRemove the reset.css from the empires sub-directory
Carl Worth [Sun, 17 May 2020 15:04:00 +0000 (08:04 -0700)]
Remove the reset.css from the empires sub-directory

Instead, just pointing up to the top-level one instead, (which happens
to be identical anyway).

3 years agoDrop the Makefile from the empires directory
Carl Worth [Sun, 17 May 2020 14:58:38 +0000 (07:58 -0700)]
Drop the Makefile from the empires directory

The top-level Makefile knows how to deploy all content including all
sub-directories, so we don't need a lower-level Makefile at all.

3 years agoMerge in empires-html client
Carl Worth [Sun, 17 May 2020 14:53:51 +0000 (07:53 -0700)]
Merge in empires-html client

This HTML client for the empires game was originally developed in a
separate repository (and at the top-level).

In order to create this commit, I first rewrote the history of the
empires-html repository with:

git-filter-repo --path-rename '':empires/

to move all of its content down into the empires sub-directory.

I then fetched things over to thi repository with:

git fetch ../empires-html-filtered
        git merge --allow-unrelated-histories FETCH_HEAD

Going forward, we can develop the empires client within a
sub-directory of the lmno.games content (so they can share common
resources such as reset.css and style.css, etc.).

3 years agoPopulate the name fields in site.webmanifest
Carl Worth [Sun, 17 May 2020 14:01:33 +0000 (07:01 -0700)]
Populate the name fields in site.webmanifest

It's odd that the realfavicongenerator.net site doesn't ask for these
names. If it's going to go to the trouble of creating this resource it
might as well ask for the information it needs to create it correctly.

3 years agoPoint to various favicon resources in the <head> of the index page
Carl Worth [Sun, 17 May 2020 13:58:58 +0000 (06:58 -0700)]
Point to various favicon resources in the <head> of the index page

This is a direct copy/paste from the recommendations of
https://realfavicongenerator.net

3 years agoAdd many assets expanded from lmno.png
Carl Worth [Sun, 17 May 2020 13:57:08 +0000 (06:57 -0700)]
Add many assets expanded from lmno.png

These are all directly as generated by https://realfavicongenerator.net
by selecting a couple of arbitrary background colors in a couple places.

3 years agoAdd a very simple LMNO logo
Carl Worth [Sun, 17 May 2020 13:52:27 +0000 (06:52 -0700)]
Add a very simple LMNO logo

Aiming at creating a favicon, etc. from this.

3 years agoAdd simple JavaScript processing of game ID form submission
Carl Worth [Sun, 17 May 2020 01:14:59 +0000 (18:14 -0700)]
Add simple JavaScript processing of game ID form submission

All we are currently doing so far is getting the 404 return status and
properly plumbing that through to a message area.

3 years agoRemove percentage units from grid column sizing
Carl Worth [Sun, 17 May 2020 01:13:21 +0000 (18:13 -0700)]
Remove percentage units from grid column sizing

Richard recommends against using percentages here as it can be
surprising which size the percentage is computed against. This usage
of fr and em units should likely do what we want. (Note: We're not
actually exercising this currently, so we'll need to revisit this once
we add any 2-column field inputs.)

3 years agoAdd a little universal padding to the page
Carl Worth [Sat, 16 May 2020 22:40:53 +0000 (15:40 -0700)]
Add a little universal padding to the page

Regardless of how tiny the display is, we do want at least _some_
padding.

3 years agoRefine the Game ID input field
Carl Worth [Sat, 16 May 2020 22:38:02 +0000 (15:38 -0700)]
Refine the Game ID input field

Here we restrict it to 4 characters, force the input to uppercase,
disable autocomplete (since we don't expect intentional reuse of game
ID codes), and provide some instruction in the placeholder.

3 years agoAdd some basic styling for form input fields
Carl Worth [Sat, 16 May 2020 22:31:47 +0000 (15:31 -0700)]
Add some basic styling for form input fields

Compared to browser defaults this provides larger font sizes and a
more modern flat aesthetic with a simple color scheme.

3 years agoNever allow the background body color to be seen on a tiny screen
Carl Worth [Sat, 16 May 2020 22:17:05 +0000 (15:17 -0700)]
Never allow the background body color to be seen on a tiny screen

This breaks the illusion of "full screen" which we want to maintain on
small devices.

3 years agoAdd some responsive layout for the page itself
Carl Worth [Sat, 16 May 2020 22:06:50 +0000 (15:06 -0700)]
Add some responsive layout for the page itself

This is designed to use all the space available on a small device
(such as a phone) but then to smoothly allow some distinctly-colored
background to be visbile on a large device while maxing out the page
width at a reasoable maximum width.

This styling change does introduce a new containing "page" div around
the content.

3 years agoAdd a simple form for joining a game
Carl Worth [Sat, 16 May 2020 21:00:11 +0000 (14:00 -0700)]
Add a simple form for joining a game

Note: This doesn't actually do anything yet.

3 years agoAdd styling for some mobile-friendly forms and form fields
Carl Worth [Sat, 16 May 2020 20:54:52 +0000 (13:54 -0700)]
Add styling for some mobile-friendly forms and form fields

These fields will reponsively decide whether to layout in 1 or 2
columns depending on whether the fields are declared as "small",
"medium", or "large" and the width of the browser's screen.

3 years agoAdd the most basic of font styling
Carl Worth [Sat, 16 May 2020 20:24:31 +0000 (13:24 -0700)]
Add the most basic of font styling

Simply choosing a sans-serif font for the body as well as some larger
(and bold) font sizes for h1 and h2 headers.

3 years agoAdd a reset CSS stylesheet
Carl Worth [Sat, 16 May 2020 20:21:30 +0000 (13:21 -0700)]
Add a reset CSS stylesheet

This eliminates basically all browser default styling (which differs
from browser to browser anyway). So this does not give any _nice_
styling but it does give a consistent baseline to start with.

Thanks to Eric Meyer for this stylesheet which was obtained (public
domain) from his website at:

https://meyerweb.com/eric/tools/css/reset/

3 years agoAdd DOCTYPE and "meta charset" tag.
Carl Worth [Sat, 16 May 2020 20:16:28 +0000 (13:16 -0700)]
Add DOCTYPE and "meta charset" tag.

I don't know what the DOCTYPE tag even does, but here it is.

And I really wish the world were already defaulted into utf-8 by now,
but apparently not without an explicit indication. Oh well.

3 years agoAdd a simple Makefile with a "make deploy" target
Carl Worth [Sat, 16 May 2020 20:05:43 +0000 (13:05 -0700)]
Add a simple Makefile with a "make deploy" target

This doesn't do any deleting of pre-existing files, (to avoid deleting
any web content from sub directories that aren't being maintained in
this repository). We'll need to eventually sort out a better solution
for that.

3 years agoInitial commit
Carl Worth [Sat, 16 May 2020 19:55:50 +0000 (12:55 -0700)]
Initial commit

Start tracking static web site content for https://lmno.games

3 years agoFix the gear toggle to work the first time it is clicked
Carl Worth [Tue, 12 May 2020 01:22:04 +0000 (18:22 -0700)]
Fix the gear toggle to work the first time it is clicked

Apparently, the first time this condition is executed, the
host_tools.style.display attribute is not "none" but is instead some
sort of empty value. With the old code, this made a first click on the
gear do nothing, (setting it to "none" but not toggling visibility)
and then a second click would make the host tools appear.

With this change to reverse the logic to look for an explicit value of
"block" (which is set only after the first click) the gear button
works reliably on every click including the first.

3 years agoImplement a very simple toolbar for the host to use
Carl Worth [Mon, 11 May 2020 23:48:04 +0000 (16:48 -0700)]
Implement a very simple toolbar for the host to use

This is a small clickable gear at the upper-right, that when clicked
will toggle the display of some buttons for controlling the game
state.

This is not as clever as it could be. For example, only one of REVEAL
and START buttons need to be displayed at any given time, (depending
on the game state).

But this should work for everything the game host needs (other than
hiding players that have been captured).

3 years agoAdd viewport tag
Carl Worth [Mon, 11 May 2020 23:25:52 +0000 (16:25 -0700)]
Add viewport tag

Telling browsers that we know we are a mobile-friendly site and we
don't want any of that scrolling/zooming nonsense.

3 years agoExplicitly declare UTF-8 encoding
Carl Worth [Mon, 11 May 2020 23:16:00 +0000 (16:16 -0700)]
Explicitly declare UTF-8 encoding

To silence a browser-console warning, (and because, duh, why would I
use any encoding _but_ UTF-8?!).

3 years agoStyle the revealed character names extra large
Carl Worth [Mon, 11 May 2020 23:11:49 +0000 (16:11 -0700)]
Style the revealed character names extra large

These are an essential element of the game. They should basically fill
the content area of the screen.

(I think ideally, the game would size the text so the largest name
_does_ fill the screen and then use a consistent font size for all of
them, but this will do for now.)

3 years agoDrop the message-area notifications for new players joining
Carl Worth [Mon, 11 May 2020 23:06:53 +0000 (16:06 -0700)]
Drop the message-area notifications for new players joining

The names are consistently added to the players list below, so we
don't really need messages here, (plus, the messages got distracting
in later phases of the game such as "reveal" unless the player
manually cleared them away).

3 years agoUse a white background on the body element for a narrow screen
Carl Worth [Mon, 11 May 2020 23:06:01 +0000 (16:06 -0700)]
Use a white background on the body element for a narrow screen

This avoids some ugly-looking dark area at the bottom of the screen,
(since our page content doesn't always fill the screen). So things
look better like this.

3 years agoAdd some mobile-first styling
Carl Worth [Mon, 11 May 2020 22:46:59 +0000 (15:46 -0700)]
Add some mobile-first styling

Some of the changes here include:

  * Adding a reset.css for good control of all styling

  * Using only the center portion of the window for a very wide window

  * Dropping wasteful margins around page content for a narrow window

  * Forcing input fields onto their own rows

  * Use grid display for form for consistent input width

  * Use 2-column for on wide windows and single-column for narrow

  * Use more modern flat styling for the submit button

  * Drop the ugly dashed outline for button focus

3 years agoDon't show the "Players in the game" header when there are no players
Carl Worth [Mon, 11 May 2020 22:45:22 +0000 (15:45 -0700)]
Don't show the "Players in the game" header when there are no players

It looks really broken to see this header with nothing below it. So we
still it as not displayed at first, and then only display it once a
player is added.

3 years agoImplement support for the "game-state" and "character-reveal" events
Carl Worth [Sun, 10 May 2020 22:51:59 +0000 (15:51 -0700)]
Implement support for the "game-state" and "character-reveal" events

We had classes here named show-state-<STATE> and hide-state-<STATE>
for elements that should be shown only in a specific state
(show-state-<STATE>) or that should be hidden in a specific state
(hide-state-<STATE>).

For example, the new loading screen saying "contacting server" is only
shown in the "none" state (show-state-none), before getting any events
back from the server. Similarly the list of players is hidden during
the reveal state (hide-state-reveal) so that it is visible in all
other states.

In response to the game-state event, the code finds all relevant
elements with appropriate classed from both the old and new states of
the transition and hides or shows them as appropriate.

Also, we now support the "character-reveal" event by inserting the
revealed character name into an element where it can be seen.

3 years agoMove the message area outside of the pre-game div
Carl Worth [Sun, 10 May 2020 22:50:11 +0000 (15:50 -0700)]
Move the message area outside of the pre-game div

The message area information is intended to be available regardleess
of the game state, (while the pre-game content is only intended to be
displayed while players are joining the game).

3 years agoAdd messages to message area when a player joins or leaves the game
Carl Worth [Sun, 10 May 2020 17:06:07 +0000 (10:06 -0700)]
Add messages to message area when a player joins or leaves the game

This replaces code we had previously for adding a message to the
message area when we completed sending a register request. The new
code is more reliable in the sense that a message is added _only_
after the server reports the event for a new player. (Previously, if
the server was offline, a message would still appear saying "Player is
now in the game!" which would be false and confusing if there was no
server responding to the register request at all.)

3 years agoRename player-register/player-deregister to player-join/player-leave
Carl Worth [Sun, 10 May 2020 16:55:43 +0000 (09:55 -0700)]
Rename player-register/player-deregister to player-join/player-leave

This brings the client into conformance with protocol version 0.3.

3 years agoAdd a message when the connection to the server is lost
Carl Worth [Sun, 10 May 2020 15:45:02 +0000 (08:45 -0700)]
Add a message when the connection to the server is lost

Making it clear to the user that something has gone wrong.

3 years agoDisable autocomplete on the character field
Carl Worth [Sun, 10 May 2020 15:43:59 +0000 (08:43 -0700)]
Disable autocomplete on the character field

This is intended to prevent multiple players (using a single browser)
from accidentally seeing a name that a previous player entered when
the browser offers it up for autocompletion.

3 years agoTrack removal of players (by either deregister or by capture)
Carl Worth [Mon, 4 May 2020 00:42:10 +0000 (17:42 -0700)]
Track removal of players (by either deregister or by capture)

Currently the capture UI is rather spartan, (the captured name just
disappears—it doesn't appear as a capture next to the capturing
player).

3 years agoAdd event listening to the HTML client
Carl Worth [Mon, 4 May 2020 00:18:21 +0000 (17:18 -0700)]
Add event listening to the HTML client

Specifically, displaying a list of all players. This captures both the
existing players at the time the client connects, as well as adding
any additional players that register.

3 years agoAdd another missing const
Carl Worth [Mon, 4 May 2020 00:17:51 +0000 (17:17 -0700)]
Add another missing const

(Someday I'll fix things so that I can't commit non-lint-clean code.)

3 years agoAdd a simple "make deploy" target
Carl Worth [Sun, 3 May 2020 18:01:26 +0000 (11:01 -0700)]
Add a simple "make deploy" target

To simplify the deployment which I'd previously been doing manually.

This will deploy only the state of committed code.

3 years agoUse an actual "submit" input element instead of a "button"
Carl Worth [Sun, 3 May 2020 17:54:57 +0000 (10:54 -0700)]
Use an actual "submit" input element instead of a "button"

This has the advantage of allowing the user to just press the Enter
key on any field of the form in order to submit it. For this we move
the invocation of our javascript handler for the form submission from
onclick() of the button to onsubmit() of the form itself. Finally, we
have to reutnr false from our new onsubmit() handler so that the
browser doesn't reload the page (which would clear the message that
results from a new player being added).

3 years agoCorrect a couple of typos in the welcome paragraph
Carl Worth [Sun, 3 May 2020 17:27:22 +0000 (10:27 -0700)]
Correct a couple of typos in the welcome paragraph

What embarrassing misspellings!

3 years agoMove API endppoint to have an /api suffix
Carl Worth [Sun, 3 May 2020 17:14:19 +0000 (10:14 -0700)]
Move API endppoint to have an /api suffix

We moved this on the server to create room for some non-API content
to be served from /.

3 years agoInitial implementation of a web client for the Empires game
Carl Worth [Sun, 3 May 2020 17:07:15 +0000 (10:07 -0700)]
Initial implementation of a web client for the Empires game

This implements only the ability to register a player in the game.

3 years agoInitial (empty) commit
Kevin Worth [Mon, 27 Apr 2020 01:55:04 +0000 (21:55 -0400)]
Initial (empty) commit