Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411275 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 06:51:54 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsTidepool, a codable storytelling world for kids
Pages: 1 [2] 3 4 ... 21
Print
Author Topic: Tidepool, a codable storytelling world for kids  (Read 45815 times)
teefal
Level 2
**



View Profile
« Reply #20 on: May 27, 2015, 07:50:40 AM »

Thanks JobLeonard.  I watched the first ten minutes of the first video and a little of the second.  Must watch both when I have time.

We need more people like him to shake us out of our preconceptions, especially with computers.  One of the reasons I love working with young kids is that they don't have many.  They come up with wacky and brilliant stuff I would never have thought of.

My daughter was playing Tidepool the other day and she got all excited and called me in.  "Walk forward and move the mouse in the middle."  So I did.  All of a sudden this scary smile flashed on the screen briefly, then went away.  The version she was using didn't have programming yet, only animation, so I asked her about it.

She made an animation where the first 7 frames were blank (transparent), then the next had her smile.  She then put her invisible animation on "touch mode" (which plays the animation when your cursor goes over the sketch).  That way it lurks until it can leap out at a passing player.

« Last Edit: May 27, 2015, 10:03:38 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #21 on: May 27, 2015, 09:35:19 AM »

After a year plus working on my own, it's both wonderful and horrible to have new people playing Tidepool.  As hard as I try to find and fix my own bugs, I'm necessarily, categorically, awful at the task.  Like racehorses trained to go straight around a circle, developers have well-established blinders with their own code.  We create our own ruts, repeating the same sequence of steps sometimes hundreds of times until we can no longer see another way around.

One funny, and inexplicable, example happened last night.  I was playing Tidepool with my friend Jon, typing to him, making jokes.  "Wait, what just happened?"   A little later, "There it is again."  Turns out whenever you type the closed parenthesis, it sends you "home", just as if you clicked the home button.  How on earth did I go so long without finding this bug?   Well, it turns out I didn't make smiley faces with myself when typing "this is a test" and "right back at ya" over and over.

Also in today's podcast, I brainstorm the new director box, a fresh and full-of-possibility UI design ... my favorite thing to make.  Instead of talking about it, here's a scan from my design book. Nothing makes me happier than solving puzzles like this.


« Last Edit: July 10, 2015, 06:29:33 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #22 on: May 28, 2015, 05:30:42 AM »

I am of course imperfect and emotional.  While academia and business pretend they're immune, working solo on a two year project, I have no such luxury.  From the start, I've maintained that the biggest risk, the most likely reason for failure, is not being emotionally strong enough to finish.  While I left this risk off the business plan for obvious reasons, it's been foremost in my mind all along.  I guess I should give myself credit for putting in a full year so far.

Today's podcast is a good example of the periodic "talking to" I give myself when I'm feeling down.  While most would think it a mopefest, I suspect others can relate.  Much is made in our culture of the struggling writer or painter, working alone in frustration.  Programming is no different.  Whether part of a team or alone, we each wrestle with our doubts.  Being the sole designer, programmer, marketer, and tester is its own kind of gauntlet.

The struggle isn't technical.  It's human.

Logged
teefal
Level 2
**



View Profile
« Reply #23 on: May 28, 2015, 01:02:46 PM »

New frontiers in navel-gazing:  watch me code Tidepool live on Twitch
Logged
teefal
Level 2
**



View Profile
« Reply #24 on: May 29, 2015, 03:35:47 AM »

Some code is central to everything, a kind of Grand Central Station through which all activity passes.  Nowadays such code is usually provided for you by third-party frameworks.  Since I'm essentially making a framework, I get to craft my own centerpiece, which I just named perform, which I discuss in today's podcast.

Whenever you press a key or issue a command, it goes through perform. Each line of your scripts go through perform.  Whenever a player near you does something, it goes through perform, both yours and hers.   If there was one place in all of Tidepool's twelve-hundred pages of code where a bug would wreak the most havoc, it would be the nine lines of perform.

Which is why I'm nervous, since yesterday I completely rewired things to allow for the new programming functionality.  Such major changes are best left for the beginning of milestones, since this gives time to let the ramifications reveal themselves.  We're 30 days from the ISTE conference, but I'm still leary of such system-wide changes.  Time will tell.
« Last Edit: September 07, 2015, 09:18:49 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #25 on: May 30, 2015, 05:19:22 AM »

Well, yesterday I really broke things.  Tidepool has several commands that operate on the player, such as forward, rotate, and so forth.  I wanted to generalize the system to use the same commands on any visible item in the game, so I could say "seymour.19 forward 20", etc.

To do this, I needed to move a lot of well-tested functionality from the TpCameraGroup class (which controls what you're looking at) to the TpItemNode class (which controls each visible item).  After an unholy slew of cut-and-pasting, I tried Tidepool and found that you can no longer move.  Even stranger, as you do try to WASD your way around, the player's "lamp" (a light source that goes with you) does move, giving the impression of a ghostly friend walking without you.



A few attempts to fix this made things even worse.  I start today with the player looking straight up at the sky and no way to move.  Luckily, we use version control, so I can revert this mess if I really need to, though I'm hoping to find the bit I missed this morning.

Aside from this, today's podcast talks about the core command set.
« Last Edit: May 30, 2015, 05:26:05 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #26 on: May 31, 2015, 03:54:06 AM »

Two weeks since the Alpha 2 launch and my website visits have simmered down to a handful a day.  We reached 255 new visitors, with only 9 signups to test the next version.  Feel free to signup now and reserve your username.

I've managed to write daily devlog posts, which seems to have helped on TIGSource, but nowhere else (ISTE, Reddit, Twitter, G+, Facebook).  I'm planning to add a few new communities, such as homeschoolers, but I'm beginning to think my posts are too abstract to generate any interest. I've started to use screenshots more.  Perhaps if I draw an animation of a cat playing a piano?  

Today's podcast talks about creating compelling content and improving the website. Here's a quick scene:


« Last Edit: July 10, 2015, 06:30:12 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #27 on: June 01, 2015, 04:38:27 AM »

Today's podcast begins with a rundown of the four primary ways a software development schedule can slip:

  • real time - you're not able to spend enough hours
  • poor focus - your brain just can't latch on
  • tech troubles - third party nightmares or your own damn bugs
  • goldplating - you make something better than it needs to be

When a deadline is looming, these fears are my constant companions. Collectively they can turn a month into three pretty easily.  We try to manage this with daily status checking and course corrections, but even then the schedule's pretty much a gamble.  Software is hard

So how do I know that Milestone 3 will be done in the next nineteen days?   Honestly, I don't.  It's a reasoned estimate, one that the software gods are likely laughing about right now.   With more than thirty years of software project experience behind me, I can say with certainty that software schedules are uncertain.

Which is why we use tools like agile and timeboxing, but that's another story.
Logged
teefal
Level 2
**



View Profile
« Reply #28 on: June 02, 2015, 04:40:10 AM »

Today I let myself dream a little, imagining what I would do if Tidepool attracted thousands of players.  Such "counting of chickens" has both practical and motivational value.  Planning for 25,000 users is daunting technical task in the short term, especially when you consider that popular Minecraft servers rarely (if ever) reach that limit.  

I do have a few things in my favor. First, I've been designing for a large multiplayer environment from the start, unlike Minecraft.  Second, I'm using the same foundational tech that large companies like Bank of America use (the Java EE 6 stack).  Third, I'm an "application performance monitoring" (APM) consultant, having worked with companies like Marriott, Lowes, and (this week) Saks Fifth Avenue to help keep their LARGE systems running smoothly.

All things in my favor, but Tidepool is a different beast than these lean (and well funded) corporate systems.  It takes significant time and effort to test realistic load, especially for a system with graphics-intensive clients.  Firing up LoadRunner to simulate web users is one thing.  Imagining what'll happen when 500 players decide to meet in-game for some community event is another.

Given this, I've been rethinking my "open the floodgates" date a bit.  Perhaps better to have a closed beta for a while.
« Last Edit: June 02, 2015, 04:53:19 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #29 on: June 03, 2015, 05:10:05 AM »

In today's podcast, I talk through a current bug involving 3D coordinate transformations.  After some recent refactoring, the player no longer moves in the direction they are facing.  The WASD keys move along the X and Z axes only, even though you can look around correctly.

Talking about it with you, the imagined audience, is an example of something called rubber duck debugging, where you try to explain a problem in simple terms to a non-technical stand-in.  The act of explaining it often clarifies the problem, allowing you to fix the bug.  In truth, the rubber duck is often more helpful than most managers.



Last night I was at dinner with my consulting client until 10pm.  Between the time this bug has taken, and the hours I've lost down here in Jackson, I'm beginning to worry that I won't be able to make up the lost time.  I'm not at the "change the plan" stage yet, but I'm fast approaching it.
Logged
teefal
Level 2
**



View Profile
« Reply #30 on: June 04, 2015, 03:56:04 AM »

In 24 days, I'll be attending the largest annual gathering of education tech enthusiasts, the ISTE Conference in Philadelphia.  While I won't be presenting, I do hope to speak with as many teachers as I can.  This morning I debated what printed materials to hand out.

I'm a fan of moo.com, primarily for their ability to print a different image, front and back, on every business card or postcard you print.  I've been around the advertising world for literally my entire life.  Such flexibility (and pricing) is pretty much unheard of until recently.

I plan to print a variety of in-game sketches on the front and signup details (including unique codenames) on the back. Right now I'm debating between their square cards (left), mini cards (center), and postcards (right). The postcards would be best to leave on a table for people to take, while the others would be great to handout.  At these prices, I might even do both. 

Now to convince my alpha team to spend the next few weeks drawing sketches.


Logged
teefal
Level 2
**



View Profile
« Reply #31 on: June 05, 2015, 05:58:14 AM »

Last time my wife used the Tidepool website, she was overwhelmed.  "Where do I click?  There are two many choices."   Over time, the site has grown in complexity.  With fourteen choices on the side navs, it was overdue for some serious pruning.

This morning I split the site in two, with half pertaining to the actual game and the other half to project nuts and bolts.  Now you have to click "Project" to see things like "Roadmap", "Biz Plan", and "Tracker".  



While this helps, I'm still feeling fairly "meh" overall.  I designed this to be an internal project site, so didn't spend much wow time on it.  I'd love to add more images and color, with some nifty scrolling sections as is so common these days, but I just don't have the time to do it justice.

Besides, I don't want it to be too slick.  Tidepool is a hand-drawn world.  The website should showcase this aesthetic.
« Last Edit: July 10, 2015, 06:30:47 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #32 on: June 06, 2015, 09:30:38 AM »

The hardest thing to do is write tiny bits of texts.  Today I debated the new Tidepool talking points which, when written, will go on the back of the postcard and will replace the "About" page. I've talked about each point a hundred different ways over the years.  I've written a full business plan and made a project trailer.  

So once more, in rough form, here goes ... what makes Tidepool different?

  • world - explore and create a shared hand-drawn 3D world
  • stories - make interactive stories and games for others to play
  • coding - program your creations to watch for conditions and respond to events
  • courseware - build supplemental educational materials that teach concepts deeply
  • fundraising - players can purchase crystals from vetted schools and NGOs
  • agents - chat with cognitive agents, allowing a conversational approach to coding

A good start, but more is needed before it's brochure quality.  I've also got to match my icons to the concepts:

             
« Last Edit: July 10, 2015, 06:31:44 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #33 on: June 07, 2015, 01:55:50 AM »

Today I fly to Phoenix and I woke up too damned early.  Stressing over all of it, today's talk is a jumbled mess of pre-conference prep and daunted expectations.  

My reach has always exceeded my grasp, so why should now be any different?   The blessing of such ambition is consistently exceeding the norm.  The curse is stress and broken promises.  "In the long run men only hit what they aim at. Therefore, though they should fail immediately, they had better aim at something high.”

So what's to do?  Fifteen features, 9 improvements, 22 bugs, conference handouts, finish the trailer, make the Kickstarter page, publicize to new audiences, and keep these daily devlog posts going.  All the while spending working hours consulting for the State of Arizona and all my "free time" doing billable hours on my other project.

Twenty-one days. Criminy.  Will I finish all of it?  Of course not.  Will I try?   That's the plan.
« Last Edit: June 07, 2015, 02:01:46 AM by teefal » Logged
teefal
Level 2
**



View Profile
« Reply #34 on: June 08, 2015, 05:15:08 AM »

This morning's talk was a good one.  As I paced my hotel's pool deck in downtown Phoenix, I discussed the five coding concepts in Tidepool, then introduced a possible sixth concept.  If you've ever wondered how someone actually makes a programming language, this talk might interest you. 

The five concepts are:

* agents - the codable do'ers in Tidepool
* properties - name/value pairs, aka variables, parameters, arguments
* rules - bundle of things to do when conditions are met, aka functions or methods
* conditions - a list of boolean expressions that determine if a rule is fired
* messages - instructions for an agent, aka statement, method call

Towards the end of the talk, I introduced "forms" as a general way to introduce the concept of records or objects.  This led to a coalescence of UI & concepts that I haven't completely thought through yet.  Instinctively, properties and conditions seem like they should be contained in forms.  I need more exploration to say exactly how.

In other news, I finally fixed the "don't turn when I move" bug.  My changes unexpectedly sped things up considerably, so I had fun zooming around the world on hyperdrive before I put a slow-down factor in there.  It's good to know players can get zippy if we want.
Logged
teefal
Level 2
**



View Profile
« Reply #35 on: June 09, 2015, 06:34:25 AM »

Today I paced an empty dark Phoenix downtown while I talked and sketched the Tidepool director box UI flow.



Imagining how clicks and presses navigate a complex interrelation of data is never easy.  Imagining children using it is a whole 'nother ball game.  What stays on the screen at the same time?   Will the player get lost?   Will she need to click back and forth between the panes too much?

In the end, you make the best design you can and implement it.   The sketch above is like a lump of clay that later gets molded after repeated use.  No one ever gets it right the first time.
« Last Edit: July 10, 2015, 06:31:57 AM by teefal » Logged
Sgt. Pepper
Level 1
*


View Profile
« Reply #36 on: June 09, 2015, 06:59:09 AM »

You may have already explained this, but what language is the game coded in?
Logged
teefal
Level 2
**



View Profile
« Reply #37 on: June 09, 2015, 04:41:43 PM »

You may have already explained this, but what language is the game coded in?

Sgt Pepper,

Right now it's all in Java, both server-side and client-side.  I also plan on doing Android and iOS implementations for the client.  Hopefully, two projects that let you port JavaFX to Android & iOS will reach enough maturity for me to do this semi-automatically.   These ports are scheduled for the fall.

Tim
Logged
teefal
Level 2
**



View Profile
« Reply #38 on: June 09, 2015, 04:43:21 PM »

You may have already explained this, but what language is the game coded in?

Ah, another answer to this would be: what language do you use to code IN THE GAME.  Smiley

It's my own language, as yet unnamed.  Suggestions welcome.
Logged
Sgt. Pepper
Level 1
*


View Profile
« Reply #39 on: June 09, 2015, 05:48:15 PM »

You may have already explained this, but what language is the game coded in?

Sgt Pepper,

Right now it's all in Java, both server-side and client-side.  I also plan on doing Android and iOS implementations for the client.  Hopefully, two projects that let you port JavaFX to Android & iOS will reach enough maturity for me to do this semi-automatically.   These ports are scheduled for the fall.

Tim

Oooh, Java? I'm glad I'm not alone in this Java game dev world Smiley
Logged
Pages: 1 [2] 3 4 ... 21
Print
Jump to:  

Theme orange-lt created by panic