Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1323116 Posts in 59594 Topics- by 50756 Members - Latest Member: Okomfortabelt

November 24, 2017, 03:01:18 am

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsLiteromancy: Spellcasting word game about seeing the future
Pages: [1]
Print
Author Topic: Literomancy: Spellcasting word game about seeing the future  (Read 920 times)
nathy after dark
Level 4
****


SLC Punk


View Profile WWW
« on: February 28, 2017, 02:59:27 pm »

Welcome to Literomancy




Intro

It's been around 4 months since I released my last game (2+ years in the making!) on Steam. I've been focusing on school and taking a break from gamedev for the most part. In the last couple of weeks I came up with a new idea and I'm rolling with it!

Inspiration

A couple weeks back, the local Adam Corey spoke at a gamedev meetup about mobile gamedev, highlighting several awesome games I'd never heard of. Fast forward a week, my parents leave for a trip and my mom asks if we can play some online game with each other while she's gone. I shoot Adam a message, and he recommends Capitals. I like it, she likes it, we end up playing each other for weeks after the trip is over. My brother trounces me when we start playing, and explains the basic strategy. Short words are often much, much better than long, clever ones!

Suddenly I'm disappointed.

So I'm gonna make my own word game [with Blackjack and hookers] where clever plays are enabled and rewarded. And let's throw in magic for good measure. Title: Lettromancy? Oh, Literomancy is already a word? Sick. Now it's about seeing the future.


Core Mechanic & Design Principles

"A word after a word after a word is power." —Margaret Atwood, "Spelling"

  • Every word played is a spell. Spells expand and steal territory like in Capitals, or give the player more information about the board.
  • Different character classes introduce fake spell words into that player's dictionary, with unique abilities.
  • Creative words should almost be always better than short, boring ones.
  • The player can access different layers of information about how the board will look in the future.
  • The player can skillfully manipulate the board to enable better moves in the long run.
  • The game will still be simple enough that I can still play with my mom.  Coffee

Development Roadmap

The idea is for this to be a relatively short project, between 2-3 months in the best case scenario. My original vision was a mobile app, but a friend convinced me I'm better off starting it as a basic HTML5/PHP game using SQL to manage games online. Lower barrier to entry for players, and less hurdles for me to jump through!

Since it's a mobile game at heart, I'll probably slap ads on it at some point. Once that happens, maybe I'll migrate it to itch.io or someplace where I can manage IAP to remove the ads. Player classes/skins/etc. are other possible ways to sell the game's soul.

An app isn't out of the question if it does well, but I'd rather deal with that $100 Apple developer fee later!


Update #1

I started by writing some very simple JavaScript to handle the game's word validation. Chris Hart, the same friend who convinced me to make it a webgame, has a Palindrome Generator online and let me nab the dictionary code from that to kickstart my prototyping.

Then I went about coding a simple square grid which renders through an HTML5 canvas. Today I added color to the grid cells, and wrote some code so you can actually chain letters together by clicking on them. (The board is hard-coded for now. You can spell "CAT", "ACT", or even "TACK"!!)



"TA" is a word??
« Last Edit: June 07, 2017, 06:51:17 am by Nathy » Logged

nu_muso
Level 1
*


View Profile
« Reply #1 on: February 28, 2017, 08:21:59 pm »

Sounds fresh. Looking forward to seeing how things progress Coffee
Logged
nathy after dark
Level 4
****


SLC Punk


View Profile WWW
« Reply #2 on: March 04, 2017, 10:40:57 pm »

Update #2

I nabbed the domain for literomancy.com.  Gomez

I'm thinking for a full title, something like "Literomancy; or, the Spelling Game." Write that in a fancy cursive font or what-have-you, and you've got yourself a whimsical little banner for it.

Really though, the game looks like this:



I got a SQL database up and running on my server, and learned enough SQL and PHP skills to set up what I think is an elegant link between server-side and client-side logic. I can call PHP scripts to query the database, return PHP arrays encoded as JSON, then parse them on the JavaScript end to get JS objects. Nifty!

That code looks like this, for anyone who's interested and/or knows a better way:

Code: ("util.js")
// POST to a PHP file with the given arguments, calling onSuccess if the
// script succeeds.
//
// onSuccess = function(data) {
//   // ... data is the Javascript object version of the php script's return
//   // value
// }
function callPHP(filename, args, onSuccess) {
  $.ajax(
    {
      type : 'POST',
      data : args,
      url  : filename,

      success: function(data) {
        // Call on Success on data after being transformed into a JavaScript
        // object
        onSuccess(JSON.parse(data));
      },

      error: function ( xhr ) {
        alert( "error" );
      }
    }
  );
}


Code: (util.php)
<?php
  
# Return an object as a parseable JSON string for access through JavaScript
  
function return_php_object($object) {
    echo 
json_encode($object);
  }
?>


I implemented some very basic matchmaking, which, however unsophisticated, is a big deal for me having never dabbled in making networked multiplayer games of any sort. When a player enters their name from the landing page, the server 1) checks for any existing games waiting for a second player, 2) creates a new empty game if no such game exists, then 3) connects the player to whatever game was found/created. The server returns the game id and player's id within the game to the web client, which then uses these values to query the game state and render it (i.e. the name of each player, for the moment).

So if you wanna give Literomancy a go with a buddy, you just have to join immediately after each other and make sure you ended up in the same game. Or, join once in one tab and once more in another tab for some thrilling self v. self competition.

Past that the game consists of a totally empty grid. (I've been focusing on the player-to-player connection part.) Fun!
Logged

nathy after dark
Level 4
****


SLC Punk


View Profile WWW
« Reply #3 on: April 04, 2017, 07:58:08 pm »

They finally gave us more Rick and Morty after almost 2 years. Guess that means I owe you Update #3 a month later (don't ask how that math works).

Almost immediately after posting the last log with screenshots of an empty letter grid, I implemented a slapdash algorithm to fill it with random letters, and to track whose turn it is between two players. (The turn actually just alternated every couple seconds because I didn't have time to implement a "play word" button. (Maybe the button should say "Spell" for punning/thematic value when I do get around to it.))

A week after that I migrated my whole website (including Literomancy) to my own new web server, thereby losing the whole database structure which I failed to adequately document. While recreating the back-end game database, I started writing step-by-step instructions for that process, because it's extremely important to have all that down. That, unfortunately, is the point where school reasserted its horrendous time-sucking force and I had to stop before getting things even working again the way they did before. That is to say, the current state if you visit the working prototype (now moved to literomancy.com is: Completely Broken. Sorry about that.

If you want to support me making Literomancy (and writing cool game design essays) I did manage to start a Patreon page over Spring break which I hope will give me more time to throw at gamedev instead of worrying how to pay for coffee.

Other than that and a good amount of unrelated writing on my website, the last 2.5 weeks have been academic hell during which no gamedev work has happened. So to sum up the tangible progress on Literomancy: I moved it to a new link but it's broken now.  Shrug

Hasn't stopped me from writing down awesome (=scope exploding) ideas, though:

  • I want to write a basic neural net program to traverse the dictionary identifying all words that relate to the four mystical elements (you know, the ones from Avatar (not the movie)) and let those words influence gameplay on different levels you can play. So, challenge someone to word-duel in the tundra, and obscure ice-related words will be the ones that build your special energy, for example.
  • It bugs me that no one actually expands their vocabulary by playing word games unless by accidentally discovering a valid word who-the-hell-knows-what-it-means and never using it again. I'm gonna make Literomancy teach players cool new words AND WHAT THEY MEAN by having an algorithm in the background identify some of the highest-scoring words that could have been played and weren't. Then after the game there'll be a message like "But DID YOU NOTICE the word 'bathysphere' which means 'a spherical diving apparatus from which to study deep-sea life, lowered into the ocean depths by a cable?' (source dictionary.com)
  • The object of the game is to destroy your opponent by learning their secret word of power.  Wizard Both players at the start of the game are assigned a hidden word whose letters are scattered around the board in marked positions. So the battle is basically a race to uncover each other's secret words and spell them. Guess it based on partial information, and you'll still win if you can spell it without uncovering the special squares (like guessing the whole phrase in Hangman) (we'll see if this is actually balanced or fair by any means once I have a fuller prototype, heh)
Logged

Zireael
Level 2
**


View Profile
« Reply #4 on: April 04, 2017, 11:04:42 pm »

I love the idea of using a neural net AI to teach players new words  Kiss
Logged
nathy after dark
Level 4
****


SLC Punk


View Profile WWW
« Reply #5 on: April 23, 2017, 02:34:50 pm »

Update #4

I took Literomancy (janky 0% finished mess that it is) to Salt Lake City's Mini Maker Faire!



I had decided to go show off my work with the Utah Games Guild, and was planning on bringing just The Whisperer in Darkness (my finished visual novel) and Apprentice Quest (a tiny adventure game I made last year for the Global Game Jam), but the Maker Faire being an event designed for crazy creative folks to show off their bonkers projects of all sorts, the other devs convinced me to bring Literomancy and do live coding to attract programming enthusiasts and get folks interested in the process at an early stage. It went pretty well! I got my first 6 mailing list subscribers.

Which, by the way, if you want in, here's a link, but this devlog will pretty much always be more detailed and up-to-date, so.

Here's my workstation complete with 2 laptops (for demonstrating the online multiplayer) and a 3rd screen to show the internal state of the SQL database:



And I made a good amount of progress on the prototype considering I was also fielding questions the whole time about The Whisperer in Darkness, and tons of kiddos with their parents asking how to get into gamedev. (Depressing side note: I couldn't stop thinking how every encouragement and business card with "google Unity/GameMaker" written on the back is a lie, probably none of the kids I talked to will actually make it in gamedev, and neither will I.)

Right now with a friend you can play a game like this: Nat vs. Not Nat, assigned the true names "Betsy" and "Andy" respectively:





Your true name is hidden from the other player until they reveal those tiles by spelling words. They will try to learn it and destroy you with it (and you'll do the same, to be fair). One unintended side-effect of the way I implemented the prototype is that you can spell words using the hidden letters of your name that only you can see. If your opponent notices you used a letter they couldn't see, then they get a free clue on one of your name's letters. I really like that mechanic and I'll probably keep it in later versions.

If you spell your own name by accident like poor Betsy here, you lose:

Logged

nathy after dark
Level 4
****


SLC Punk


View Profile WWW
« Reply #6 on: June 07, 2017, 06:50:44 am »

Update #5 (last update? Sad)

I'm putting this game on hold for the foreseeable future. There's a few reasons for that:

  • I intended the project to be a quick and easy mobile game I could soft-launch by June and maybe generate some ad revenue to fund my next projects. It's June now, and...
  • Scope was ballooning like crazy, but I still wasn't 100% passionate about the idea like I am with some of my other projects
  • I wanted to design playable characters based off of famous English-language writers. I was psyched to design special abilities for Edgar (Allan Poe), Howard (Phillips Lovecraft), Isaac (Asimov), Harlan (Ellison), Margaret (Atwood), Shirley (Jackson), etc., and planned on researching to inject many more diverse writers in the mix, but that would have been a big undertaking if I wanted to satisfactorily balance out the entire white (+ largely male) festival of literary giants I already knew about.

Anyway we'll see if anything comes of it in the future. Clearly I still have ideas and attachments pertaining to the project, and I've learned some cool new kills (SQL database multiplayer, basic PHP) so there's still the slight possibility that it's something I return to eventually.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic