Tuesday, October 29, 2013

This Friday? It starts in 3 days!?

Noooooo..... and I still have no plan. All the pages in my notebook are filled with irrelevant scribbles. With an occasional My Little Pony sketch from my younger daughter.

Ok, I do have a plan. My plan is to lock myself in the public library every day until I hit my word count goal. Words are just words, right? There's lots of them in the dictionary. All I have to do is to pick some and put them in sentences.

AAAAGGGGH!!!

No, don't worry. It's time to meet your new landlady.

"Don't worry. Everything will be fine."

Landlady? Land lady? The term strikes you oddly now that you think about it. Her name is Liz Wagen, and she seems to own half the real estate around here. She runs one of those quaint combination "country store"/antique shops you drove past on your way here. Do those really make that much money? You look at her as you sign your deposit check and the first month's rent. Then you glance away quickly.

Her eyes are fixed on you with something like pity and contempt.

"Ok, then," you mutter as you shove the checks to her, jerking your hand back lest you accidentally brush against her.

She smiles. "Welcome to Sabokan County."

Are you reassured yet? There must be a plot somewhere, even if we don't know what it is, yet.

Three days.

Then it's only 50,000 words to go.

We can do this.

Friday, October 25, 2013

Time for a musical interlude...

OMG! OMG! One week until NaNo starts. Plot? Characters? Huh? But at least I've coded my new idiotic embedded Flash music playing thinga-majig. Woo hoo. Or something. I've just spent the last half hour clicking around on the little bar making the song skip back and forth and admiring my rectangles. It's scary how many web pages I had to read to make something this trivial work.

Relevant to my NaNo? Of course it is. This is one of the songs of the Remnant. The Remnant have sold themselves thought by thought, choice by choice, to the King of Future Memory. They no longer have a future, nor any voice of their own. Thus their words are all stolen from others. They have no original songs of their own. All they have is a patchwork of borrowed sounds. [edit: oops, I was messing with the code and now it's my mini music box. Let's just say they're all random Remnant songs. Yeeeah...]

So what did the Remnant buy?

Protection, and survival. As always. Having foreseen a future in which they willing give themselves to the Breaker of Worlds, the Remnant cut away their own potential selves. Now they wander the Drift like ghosts, like echoes, like the lingering smell of a bad footprint. Sometimes they latch onto a living person and become Ughuls. They operate under the cover of their ubiquitous chain of gas stations and snack vendors.

But do they lurk in boxes? Do they? Do they ship themselves to people in packages? Hide in barcodes and proof of purchases? I have no idea.

In fact, I have no idea how I'm going to do this NaNo at all. It's going to be more useless babble than ever. I need to finish it early, as I'm heading out of town (AFK!) for Thanksgiving.

Tuesday, October 22, 2013

Another day, another IDE...

My Flash/ActionScript books finally arrived, so now it's time to check out the shiny new (to me) toys. I like to have dead tree copies of computer books, even if they're guaranteed to be out of date by the time I see them. It's much easier for me to read and understand stuff when I can spread physical books out on the bed or desk, flip between them easily, flip between different sections easily, and compare examples. (I love my Kindle, but it just sucks for technical material: slow, and the screen is too small.) Then once I get a handle on things, I can search the web for more up-to-date and specific details (and cut and paste!).

So yeah. Flash. Flash Develop. Woo-hoo. Gah. At least it's a little easier on newbies than Eclipse, where it took me forever to find the simplest things (how do you display line numbers!? Why did it erase my files!? Argh!) And it's free. Awesome! So, a few days to learn a bit of ActionScript, then time to focus.

Flash: much easier to deploy than Java! Everyone watches youtube videos, so they all have some Flash plugin installed and enabled. Far less of this "WARNING! DANGER! Are you sure you want to let this program run on your computer? Are you really really sure?" security messaging, which always puts me off when I look at websites. And Flash doesn't seem to have too many security holes. I hope. Also, you can just stick everything in a single swf file. I can post it on my own website for testing. Convenient! (To be fair, you can stick everything into a jar file for Java, but it looks like in some update coming soon, a jar file (and web applets) from a random-private-individual will no longer be executable by other people. I'd have to buy a certificate from Oracle. That's one thing if I'm making money from doing this, but as a hobbyist? Bleah. Aren't people spreading malware for profit likelier to invest in a certificate, since they think they'll make money from it?)

Java: better for bigger games. There's a limit to how much people are willing to download in their browsers, and a limit to how long they'll wait for your game to load before clicking the "x" and doing something else instead. And a limit to the amount and robustness of the game's saved data. I mean, for a traditional desktop game, you can just write things to a file somewhere. Simple and easy to understand. Flash shared local objects? Hmmm... it doesn't even use normal browser cookies. It's more like some stealth area of your computer that Adobe commandeered when you agreed to install the Flash Player.

So which is it to be?

I'm going to go with Flash for now. I'm NOT going to be making huge games. Action Script 3 looks pretty similar to Java, so I don't think I'll be screaming too much at my computer. While Java is great for writing things to run for my personal use, deployment to others is a nightmare.

So think I can learn ActionScript 3 in three days? Ha ha ha. But this Friday is one week before NaNo begins. One week! ONE WEEK!!! ACK! I needs my characters and plots! I need a plan! Where is my plan? My plan? Plan? Plan, show yourself!

var myNovel = new NaNo(2013);
if (myNovel.plotExists()) {
   taisch.doHappyDance();
}
else {
   taisch.setPanicMode(true);
}

Thursday, October 17, 2013

Nice wheel you got there. Mind if I borrow it?

So, just when I get comfortable with the basics of Java and feel that I can translate an idea from my head to the computer without TOO much hassle, it's time to shift gears before I start trying to write my own game engine. These things can just creep up on you. "Hmm, ok, to implement this game idea, it would be convenient if I had some classes like this and some components for stuff I'll be needing to do all the time and a map editor and a way to handle rotation and..." STOP! Yeah. I could do that, but since it would be my first attempt, it would be messy and ugly and full of holes. Now that I can see the kinds of things I'd need to do and a glimmering of how I would do them, I can just go find other people who have already done all that (over many iterations) and download their code, which they have kindly made freely available to other people. (Naturally, some are not free, but I'm a newbie amateur, so it's not worth it to shell out big $$$.)

All right, what to use?

The problem with searching on the internet is that often people's answers to questions and tutorial posts and so on and so forth don't have their dates attached. So often I find myself reading about problems and solutions from years ago. This is how I ended up downloading a zillion packages and trying them out. At least I got some more practice using third-party libraries. (Mostly it's setting the paths that fouls me up. Then there's the eyestrain involved in trying to decipher the often sparse documentation and squinting at source code and examples.)

Forums are better. You can check them out to see if they are still active, see what biases they have, follow their suggested links, read FAQs, and post questions. Nice people out there may even answer you (even if you're clueless).

So yeah. Libgdx it is. Not that I'm planning to do anything 3D or with fancy graphics or action games or whatever, but even when working through the learning-Java games, I could see problems ahead if I scaled up. Libgdx looks like it's solved most of those problems even before I've noticed them, ha ha ha.

Now to actually do it. Urgh. It took me awhile to install, since the recommended IDE is Eclipse, and I've been using NetBeans. ARGH! Stupid Oracle. I blame them. As a newbie, the obvious thing to do was to download from Oracle's site, and they were pushing NetBeans. So I went for it. (They were also pushing JavaFX... yeah... I'm slightly sceptical about that. I have some Java book that mentions the Java Media Framework, and that's pretty much dead now. Is JavaFX going to go the same way?) But NetBeans was nifty. Easy enough to use. Comfy.

Now I gotta switch to bloody Eclipse!? Grrr. Well, I could use libgdx with netbeans, but I'd have to switch to Eclipse for doing Android apps, which I was going to try anyway. Dammit. Took me ages to download it and install the correct plugins and stuff. (The first time I tried to import the sample libgdx project, I got a screenful of error messages. I had accidentally downloaded the wrong version of one of the plugins and hadn't downloaded ALL the other packages needed.) So yeah. That's a day or two familiarizing myself with Eclipse, then looking at libgdx tutorials.

Feels like I'm starting all over again. Maybe I'll get something done today. Or maybe I'll work on notes for my NaNo project. The coding headache is seeping into the novel now. I think the protagonist, when she moves into her new house, will find boxes of old documentation in the basement. A random jumbled mess in various styles, telling of previous experiences, outdated info, and random nonsense. Remember those old books/stories which have a lot of journal entries? (I'm doing Lovecraftian this year.) Like that. They end just as the writer goes off into Lala land to meet the elder gods. Or whatever...

Or I'll incorporate the storyline for this game I'm planning into my NaNo. (The Color Rancher game idea.) Part of the game is an adventure-style section played through the game shop. Along with regular items, you get notes, requests, etc. etc. You get to an ending by choosing which of the notes/requests/etc. you follow up on. The NaNo will track the other side of this (the NPCs sending the notes. I'm sure one of the notes will be "Hello, world.")

Yeah. Ok. "Hello, world". Here we go again...

Sunday, October 13, 2013

Your anti-virus hates me

Ugh. So maybe Java wasn't the way to go. (Although I do enjoy it as a programming language.) And if I do want to publish a game, I don't want to publish it from my own website. The anti-virus messages will deter most people from downloading my stuff! Self-publishing a novel doesn't have that problem. E-books aren't seen as dangerous to people's e-readers. At least not with current technology.

It's like this: I decided to start with my simplest game concept and see it through all the way to "completion" (getting it out there to people). The basic code wasn't too bad. (Sort of like a short, geeky version of NaNoWriMo... just get it typed in). I got a decently working game, all the parts working, just lacking polish in the art and music. Ok, maybe it won't work on Macs. (I don't have a Mac, nor have I ever used one, hence it's harder for me to test my program on one.) I suspect issues with the save files. So much for the vaunted cross-platform bit of the Java PR! Never mind that, I tell myself, I hate Apple anyway. So. Everything seems fine on my computer. Next I needed to get people (aka my kids) to test it.

Right. Time to make a simple minded install script: I just need it to copy the program into the right directory and make some shortcuts, along with an uninstall program to reverse this. After a bit of googling (and squinting at online tutorials), I go with NSIS, which is free and flexible. Again, it works fine on my computer. Except for the uninstall: I can't figure out how to delete the (now empty) folder from the Start Menu. It said it deleted it. And it's not in my appdata anymore. Why is it still showing up? Grrrr.

Moving on... My daughter attempts to download my setup file from my website. BZZT! Alert! Alert! A zillion warning messages start popping up from her antivirus (my site is unknown! it could be a nest of viruses!). She bravely downloads the file anyway. Then she tries to execute it. MORE warnings, even more hysterical in tone, try to stop her from such a dangerous step. Oh dear. At this point, the delay makes her spam-click on the setup file. Which makes her computer lag even more. So she clicks some more. After five minutes of clearing warning messages off the screen, we finally manage to run the setup program. Look! There's a little icon of my program on her desktop! Isn't it cuuuute? Click on it!

...

Oops. Nothing happened.

...

"Maybe you don't have Java installed?"

...

"Let me install..."

"Mommy, go away!"

...

Right. So my install script should check to see if the user has Java installed...and if it's not, it should prompt them to install it. Should I make my setup program automatically install Java for them? It's not good to secretly install things on people's computers! Well, fine, I'll notify them so they can cancel setup if they want.

Time to try again... with my son's computer. Now Java is popping up warnings about untrusted publishers. My son looks nervous. He complains. ("It's dangerous! It's a virus! Run it in the sandbox! Sandbox!")

He has Java installed. Everything works fine. I uninstall and look for another victim... err, "tester".

It installs correctly on my older daughter's computer. But when we try to run the game, we get an error message! She has an OLD version of Java, and my game won't work. (And I do know which bit of it is causing problems, but...) Damn. People will have out-of-date installations of Java. And some of them will have it that way ON PURPOSE (for compatibility with some program they use, or whatever).

So... what to do, what to do? Do I bundle the Java (JRE) along with my game program, so it can run on its own private copy of Java? That's nearly 30 MB! All to go with my dinky little game. And imagine if every Java program did that. Talk about bloat! Ugh. But I can't force everyone to install/update their JRE willy-nilly. Apparently Java is not as universal on people's computers as they would like to have you think. I guess I will need to compile the Java program and turn it into a Windows exe that can run on its own. So what if it's against the "spirit of Java"?! I just want something that will work.

Ok, so not really worth it for my dinky starter game.

It was made to be a Flash game. That's obvious. One of those casual free affairs that people play in their browsers. Way more people have the right plug-ins installed to play a browser game than would be willing to download, install, update Java. Even if I did write it as a Java web-applet thingy, people don't like having to give permission to strange programs to run. It might crash their browser. It might be infected with pr0n or adware or worse. Ha. No. Flash it is. Time to learn ActionScript.

So... phase 2 of my "Indie Game Development Month/Year/Whatever" (IGDMYW?): convert my game to Flash. Yeah... ugh... learning curve time again. I'm not giving up on Java (I think it'll be better for the longer, more complicated games) but I'm taking a detour.

I don't get "writer's block" nearly as often when coding as when trying to write a novel. So let's see if I can have this done before NaNo starts! Otherwise the procrastination possibilities in November are dreadful.

Friday, October 11, 2013

It's true! They're back...

...by which I mean missing episodes of 1960s era Doctor Who, of course. And according to the rumormongers (some of them with real sources, as far as I can tell), there's more to come. Wow.

So that's "Enemy of the World" pre-ordered, then. I'll watch it after I finish NaNo this year. That's my incentive! More Patrick Troughton!

Initially I thought I'd rush out and buy them for download, but it seems they're only on iTunes, and I don't want to install iTunes on my PC. So. What's a few months? I didn't see "Tomb of the Cybermen" until about ten years after it was recovered. Just knowing all these old episodes have been found gives me that warm fuzzy feeling.

So. Gotta do the NaNo, then. I'm leaning towards the "Cardboard Age" story today. Bits and pieces of it continue to fall into my head. It's sort of a horror/dark fantasy where the protagonist falls out of the normal world and into the Drift. Influences: H. P. Lovecraft, Jonathan Carroll, Jonathan Boakes, Christopher Priest, Diana Wynne Jones, Lewis Carroll. I'm also going to have the story-within-a-story type of thing going on. I'm thinking innocent children's tales about the adventures of a gang of ugly undersea creatures (a grumpy anglerfish, a pufferfish, a goblin shark, an eel, etc.) How do they connect? Ha ha ha, that would be telling. (In other words, I have no clue. Yet. I think those characters are actually the original Color terrorist/freedom fighters.)

Anyway, it's only October 11. Early days yet. I still have a couple of weeks to assemble my soundtrack. So far, my mutant creations are only about 1-2 minutes long. I like to have a playlist that takes about 50 minutes to loop through. (So I can write for 50 minutes and then take a break.) Man, this is gonna be painful. How many more innocent folk tunes are going to suffer at my hands? And I'll need to make some "horror" tracks to get me in the mood. I have one so far. Used a klezmer tune, "de-bounced" it and added a bunch of synth effects, mwah ha ha ha ha!

Monday, October 7, 2013

Computers...magic...

Computers are magic.

For about the same amount of money I could have spent buying two novels (new, hardback), I downloaded Sony's ACID Music Studio 9.0. It's amazing how much this stuff can do nowadays. My younger daughter and I are completely addicted. It's stupid, but now I, too, can have my overly dramatic A melodic minor scale and arpeggio looping over and over again until I go crazy!

Don't you like A minor?

If this doesn't make you want to jab pencils in your ears I don't know what will...

Yep. I'm going to make my OWN soundtrack for NaNo this year. All kinds of horrible jingles and jangles set over catchy dance beats and random loops from the "Continental Drift" collection. Mwah ha ha ha ha ha!

Why? Why why why?

Ok, this is what comes of being both impulsive and obsessive. I actually probably like coding better than I like writing. So after watching all my kids play MineCraft, I realized that Java had become a viable coding language for games. So my goal is now publishing computer games rather than novels. Ha ha ha ha. No, really. So my desk and bed are now surrounded by heaps of Java books. It's ridiculous. Back in the day, my C book (the K&R, of course) was a slender paperback (less than 300 pages. Pure elegance.) Now everything is a bloated godawful mess. Some of them are filled with typos. Highly irritating when it's in the sample code. But I bought multiple books in the hopes that reading about the same thing in different versions would make it make more sense. I must say that the "for Dummies" one was not. It was too technical for someone not already familiar with computer jargon, but annoyingly verbose and newbie-oriented where it didn't need to be.

Anyway, so after the "rock paper scissors" (I can haz clicky buttons! And pop-up windowses!) and "move item around to catch a target" (I can haz keyboard controls! And crude animation! And wallses! And high score lists!) I made my first "real" game. (In the sense of something someone might actually want to play), so I had to find my own music and images from somewhere, rather than stealing copyrighted material...

Damn it! I'm supposed to be coding, not playing with the music program. Yeah. Well. In theory I'm delegating the music and art portions of my project to my kids. (No, seriously, my older daughter is into digital art, has her own real drawing pad and a few years of practice already.)

So yeah. Right now my next computer game idea is competing for headspace with the NaNo ideas (and the hope of more old Doctor Who episodes to watch). FIGHT!

Friday, October 4, 2013

NaNo continues to call...

...and I can't help picking up the phone.

"Hello?"

"Write a novel!"

"Um. That never works. Why don't I tell you about what I had for dinner this week? Turkey burgers (with cheese!) and stealth onions (the Boy did Not Approve). Pasta (butterfly) with (beef) marinara sauce. With unstealthy eggplants (I had one left over.) ("Ewww! Eggplant!"). Broccolini..."

"Novel! Write!"

"Ok, ok, fine. Whatever."

So yeah. I do have a few ideas rolling around in my head. Not sure which to go for yet.

  • There was that game I was running back then with a couple of friends. It died before anyone figured out quite what was going on. There was Sabokan county. There were the agents from the Hexagon (just like the Pentagon. Except it has six sides!) There was the weird stuff afflicting the antique dealers. Now I want to make it as a traditional point-and-click adventure game. But I probably won't. So I'll just write the novelization instead. With a new set of characters. So. Option one is "In the Drift: the Cardboard Age". In which we learn the power of Colors.
  • Then there's the untold story of Grandmother Goose (obviously the predecessor of Mother Goose, the head of the Goose Sisters, the martially inclined sect of shapeshifting nuns.) And also her adoptive daughter, the Broken Jar. Wacky hijinks ensue. This is in theory the same universe as the one I used for the Shambhala story I did in 2011 and 2012. I just need a plot. And stuffs.
  • Prequel to last year's story. That whole business with the lost colony ("The Threshold of Night"). Yeah? What was that all about? How did the TechnoPax Virus turn people into gods? And fairy tale creatures? And did they ever figure out a way to coexist with normal humans? Did Ash and Nik's intervention make things better or did they make things worse? Maybe I know and maybe I don't.
So that's three. Of course, it's not the idea that counts but the execution(sounds fatal). Let's see what happens come November.

Wednesday, October 2, 2013

October? You've got to be kidding...

So where did 2013 go? Eh? Eh? I don't even know. Eaten by the (Doctor Who missing episode) Omni-rumour, no doubt.

So it's October. Am I even doing NaNo this year? I have a few story ideas, but gah. I'm so blocked.

So, to get me started this year, I will just type random things in this useless blog. Hey, I'll babble about what I had for dinner. I'm sure everyone cares deeply about that. Yes.

Yesterday
Sausages, soybeans, potatoes, mushrooms => stir-fry (in oil with chopped up jalapeno and onion). Baby bok choy => stir fry. The sausages were from Trader Joe's. Not our favorite "sun-dried tomato" flavor, but it was ok. I love baby bok choy. Note I got that from the Chinese grocery store, NOT the TJ's, which only sells bok choy in tiny, expensive 1-serving portions. Come to think of it, this is also true for their packages of frozen shelled soybeans. I should have used the bigger package from the Chinese store.
Day before yesterday
(Curry) chicken lentil soup. I used organic free-range chicken legs for this, because I'm lazy (it's easier to split up evenly) but it probably tastes better with a whole chicken. (I always use the organic free-range chicken for this, as it tastes much better and doesn't have a bad smell!) Didn't use any bean curd in the soup this time. Nor leeks. Did have carrots, a potato, a jalapeno pepper (chopped up), ginger (in small chunks), and a bit of barley (I had half a package lying around.) Used up the last of the jar of curry powder. (I could have sworn I had a new jar lying around... but that turned out to be a delusion on my part.)
Before that
Trout fillets. Rinse the trout, cut each fillet along the spine to make two and mush it around in the marinade. Marinade: olive oil, lemon juice (fresh lemon!), soy sauce, scallions (chopped finely), ginger (thinly shredded). Smear the fish with cayenne pepper. Ha ha! I love cayenne pepper. Heat frying pan, put in fish, pour in marinade, add a bit of water as needed. Cook on low-medium for awhile (about 8-9 minutes), flip over, cook other side. Vegetable: stir-fried leafy things (probably baby Chinese broccoli). Corn bread. Appetizer: shrimp. Ok, I wasn't confident about the shrimp. I botched the shrimp from the frozen packets last time I tried it. My younger daughter saw the BIG shrimp when we were at the store and made me buy them. They were already cleaned, so I just rinsed them and cooked them with the shells on (for improved flavor). Rubbed them with a bit of salt, then dropped them in the frying pan to cook in a bit of oil (along with some shredded ginger). More cayenne pepper! Ok, so cooked on medium-high for a few minutes, flipping them over to get both sides. When done (pink), served hot! With cocktail sauce. Delicious!
Before that
My memory fails me. Um. Did we bring home pizza? Possibly. Ok. The day before that, then. Was it the stir-fried pork with bamboo shoots and bean curd (which no one likes except me)? (Served with steamed rice, usually.) Or was it the rice noodle thing? (That's ground pork, this time with Chinese eggplant, mung bean sprouts, tomato, onions, hot pepper, etc., with the hair-thin rice vermicelli added in for the last 6 minutes along with heaps of water. Even after soaking it, the rice noodles suck up a lot of liquid when you cook them.)
Before before...
Never mind!
So there. I can be verbose about nothing if I want. What's 50,000 words? Bah!