Thursday, October 19, 2017

Demo Scene Addition


Mini-update! I added a quick scene, and... well. I had no idea how good that would make it look. I keep reaching for WASD to move the guy around.

It stands to reason that temporary, sucky UX (WASD/arrow keys and the selection bar) comes next, so I can keyboard-shortcut this guy around his tiny arena.

2nd Build, and UI thoughts (Feedback Appreciated!)


2nd build! Restart button is in! Five graphics bugs fixed, two non-graphics bugs fixed. It's been so long since I used my web dev stuff that I can't get in anymore, though, so... sorry, it'll take a few more days to get a playable version online. Support emails required.

I've also made several new children's shirts-- since the shading on the kids' clothes was... well, it looked off compared to some of the rest, and there's really few children's options. Then I added a couple of colors, and I'm going through the color dilemma again. Why this color and not that one? What options should I include? Do these palettes clash? Am I going overboard on the colors? Pixel art is supposed to make heavy use of repeating colors... and this is only sort of pixel-y...

It goes on. Still debating myself if I should remove the washed out skin tones and just have 8, then add the custom color option once I get that working. 'Comet' and 'Dove' will probably not be used nearly as much but... I erm... wanted to make dark elves. Don't hate me.

 Moving on. UI thoughts--

I've got some UX in mind, but how to make them look cute and professional... that might take some work. 

Just imagine the bottom 'action' bar has icons that make sense. A sword, a bow...

I have no idea what I'm doing here (visually).
 You probably see my point. UX-wise, it's pretty okay. Visually... ye gods, someone help me.

Tuesday, October 17, 2017

1st Build!


It's got some bugs, and the options are few, and it desperately needs a 'start over' button, not to mention the horrible, clunky UI, but it's running as a web app on Firefox! Rejoice!

Tomorrow I'll have it on a website, and I'll link it here. Maybe with a few more options loaded in, almost certainly with a restart button.

Once we iron out some bugs, here's what's next:
  • New UI. This thing is terrible. The look is clunky. It's just... no.
  • A playable room that can be walked around-- related to the new UI.
  • More options. Also, a bit more refinement on the current options.
  • Custom colors on assets!
  • Render button (render one or render all the sprite sheets)

Saturday, October 14, 2017

Basic Body QA Complete; Basic Clothing Options Are In!

Dang, I love well designed code. Adding clothing XML, slots, methods, the works took half an hour. Yes!

I'm going to need to fix a few more things up-- some quick image QA for the basic clothing options, a few options for women and children bodies, being able to go back to the body menu from the clothes menu, a 'restart' button... but basically, we're done with the super basics! Yes! Victory!

Wednesday, October 11, 2017

Image QA Is Exhausting

Just in case anyone didn't know.

Almost finished with the men. Women and children come next. All animations in all directions in all colors being scrutinized.

What's finished so far:
  • Body / Male / Walk / South - Flickering around the temple
  • Body / Male / Shoot, Thrust / West - Highlight on head flips to the right side
  • Body / Male / Idle / North - One pixel too high
  • Body / Male / Shoot / East - Meta file had a frame off by 1px, jolting the image
  • Body / Male / * - The darkest skin tone doesn't match my color standard
  • Body / Male / * - Give all bodies the same eye color (on the base)
  • Body / Male / Walk / * - (Eliza's a moron who didn't standardize all her walk cycles)
  • Body / Male / * / Shoot / * - Non-standard skin colors!
About half of these were my fault. The other half came with the LPC set. What's left is looking like a tiny bit of hair before I move on to the next set.

The animation preview is still ugly as hell, but it'll do for now. I estimate it'll take about two or three more days of work before I upload the prototype online and invite people to bang on it with rocks to see if it'll break.

Tuesday, October 10, 2017

Bugs Exterminated; Image QA Started!

So far...
  • adult figures ears and temples have a weird walk cycle flicker
  • the female head-shape change during the thrust animation hasn't been fixed for all skins
  • curly, short hair is pushed so far to the side that it exposes part of the head
  • eyes are out of sync with the male walk cycle
  • brown eyes look dull and empty compared to the other colors
I've got work to do.

Monday, October 9, 2017

Post-Refactor Bug Hunt

Just a quick coding update; the refactor is about done! Six beautiful, small classes instead of one huge ugly one and an awkward side-growth. I can navigate it! The code compiles! It's lovely! Yeah!

Of course, with a nice, happy refactor comes a nice happy bug hunt. Here's what I'm dealing with right now:
  • Weeding out character options that don't have the correct animations results in an out-of-sync error. This is weird. It's also disabled at the moment; I'll tackle it after I get some sleep.
  • Trying to manually set a default starting body (so you're not adding eyes to the empty air before you select your skin color) results in an error. But setting the body by the 'skin color' interface works just fine?
  • My very clever trick to make all layers animate together doesn't work on children, which have a completely different animation set. This one is 100% my fault, because I'm lazy and haven't gotten to it yet.
WooOOoo! No body!

Otherwise... I've got some super ugly UI preview controls I'll need to make pretty (the bars on the top right). I'm thinking of having the character controlled by the keyboard-- WASD style, with actions tied to other prominent keys. Maybe a test environment to walk around in.

For now, I can't tell you how great the animation-speed slider is. I can scrub through animations in slow motion and spot weird flickering distortions even on the base model. The image QA work coming up as soon as I fix those three bugs is going to be so much easier.

Friday, October 6, 2017

Three steps forward, one step back

Of yesterday's to-do list:
  1. Add the animations back in.
  2. Expand the preview tools (animation speed, preview size)
  3. Restrict sprite options by animations needed.
  4. QA all current images. (43 sprite sheets)
QA's moved to the bottom, because it'll be so, so much easier to do with the previous three items added.

In tackling #3, though, I've found my folder structure / XML solution's failed me. I wanted to group things together without redundancy (different versions of the same sprite set shared between body types)... and it's not working. Basically, I tried to do this:


And only now am I realizing, "Wait, child bodies have completely different animations than men and women... but they're in the same... um..."

I'm going to need to restructure my folder and XML, take out a few things, and smooth it back over.

Thank goodness I only had a few options listed though. Seriously. I can't imagine what I would have had to do  otherwise. Still, I've been finishing everything else up at a very nice clip, so hopefully I'll have this finished tonight.

LPC Character Creator Updates!


It's been a while. I'll keep the recap quick-- a lot of sickness, chronic pain, and ER visits were involved. Sometimes it's really hard to program when your head feels like it's caught in a bear trap. The pain's not gone, and I'm popping NSAIDs like they're Halloween candy, but I have been seeing a new specialist since the end of July. And even though I get exhausted pretty easily, the thought of a quick recursive method doesn't make my brain want to melt out of my ears anymore. So! That's good.

So let's talk about the Character Creator, shall we?

You'll notice that this screenshot doesn't look like the others a little further back in my blog. Truth is, the last version and my last approach were getting way too complicated for me. Manual buttons, categories, UI overflow, the sheer amount of all the sprite sets... it really adds up. I needed a better approach.

So, bit by bit lately, I've been going back to Unity and putting in a bit of work here and there. A new responsive UI. A scroll bar that appears when too many options appear. Cataloging everything with XML and dynamically creating the navigation menu.

More importantly, it's working. I'm able to put in major features more quickly and easily than I had with last version's code bloat. Yesterday it was the entire XML import and dynamic navigation system. Today I've finished all preview images and have the program disabling options that don't fit the current body.

So, here are my immediate goals:

1. QA all current images. This includes:
  • 3 body types (man, woman, child)
  • 3 skin colors (coffee, sienna, and ivory) / body type
  • 2 eye colors / body type
  • 2-3 hair styles / body type, x4 colors (black, blonde, brown, red) (28 sprite sheets total)
Add them all up, and this comes out to 43 sprite sheets. Which isn't a small number, but it's not unmanageable, either.

2. Add the animations back in. I'll need to redo a bit of work with the base animation, but the challenging part right now is thinking of a really good UI for it.

3. Expand the preview tools. Add a slider to control the animation speed, increase / decrease the preview sprite's size.

4. Restrict sprite options by animations needed. Because if you need to build a mage character, and your nifty coat disappears during the 'casting' animation... well, that's just not going to work. Select all the animations you'll need when you start and go from there.

Once I have all those things, I'll feel really good about starting to expand the library to the vast and awesome amount of work the good artists at OpenGameArt.org have spent their time and skill sharing with us. I'll also feel okay about releasing an early demo to the web. The heavily, heavily restricted library will only give about 150 unique characters, but playing with it's a start.

Saturday, July 1, 2017

Game Jam!

https://itch.io/jam/opengame-art-game-jam

I'm participating in a game jam! It started today, and it'll last four weeks.

Still pretty sick, but it'll be nice to get my mind elsewhere, when I do have good days. Plus, it'll really stretch my Unity knowledge and make me better at my long term projects.

I've decided to make a 90s style mini-RPG and see how far I can get with it. As an added challenge, everything art-wise is going to be either hand-drawn or some form of open source... because all the art assets out there and the artists who make them are awesome.

I present to you-- Dame.
Day 1.


Friday, June 16, 2017

(Hopefully) Quick Break

Just a heads up-- I've been having a hard time lately, and I've been taking a short break from the game until I feel better.

I'm doing some work on my twisted neck, and a few weeks ago something fell into place. Those who know me in person know I have hyper-flexibility and tend to sit in odd positions... well, some of that seems to be due to the fact that I've never been able to feel neck / back pain before. I had no idea.

And damn, do I feel it now. :/ Which is good for me, because I literally can't hunch in damaging positions anymore and my posture's straightened out, but I'm in a lot of constant pain in the meanwhile.

Tl;dr-- Ouch, ouch, dammit, f--- f--- f---ity f---... ... ... I'll be back in a bit.

Thursday, June 8, 2017

Character Creator: Content Curation

Just a quick note-- I'm hard at work on the character creator still. I've just slipped into fixing / normalizing content creation. Completing incomplete sets, fixing errors.

It took me a while to notice, but there's several animation problems with the LPC set, even among the base characters. Men's stance widens partway through their walk cycle, facing south. Women facing east or west have a stutter on their arm swing. Women facing south on the 'thrust' animation (for weapons like spears and things, get your mind out of the gutter :P ) have their heads morph into a male's past the first two frames.

Why did her jaw suddenly become so wide...? OH. That's a dude.

Fixed! No more spontaneous thrusting sex changes!!!
It may look like a tiny thing, but you can't count on games always having these guys be tiny sprite-specs in the distance. I want them to look good.

Then you have the eyes not lining up with the walk animation, some clothes doing a skittering thing. Lots of little problems that have me doing a lot of graphics work. Anyway, I'll be working on this for a little while yet. Don't go anywhere. :)

Thursday, June 1, 2017

Character Creator: Demo!


I've added in animations!

Still need to put in more hair styles / colors / clothing options, but at the moment we're looking pretty good. :D

Wednesday, May 31, 2017

Character Creator: Animations!


Animations are in!

In some ways, this is a bit of a love / hate update. This is the update that highlights just how much is missing from our animations, and everything wrong with the set.

Children can only walk or stand. There is no hair for adult idling or running, in any style or color... because, if you'll remember, the idle was something I'd made myself. Thera only made run animations, not the hair styles to go with them. Then there are some animations that are broken or just don't work. For instance, the straight nose looks fine from the front, but when you're walking, it doesn't bob with the rest of the head. Some of the clothes are slightly offset.

And I also love the fact that I can see this in detail, as fast or slow as I want to; it was one of the reasons I'd made this tool at all, so I could preview all the gaps in this animation set, so I can see what was working and what wasn't.

This is coming close to being a usable tool now; there's still a good chunk on my plate before I can release it into the wild (messages to say when an animation sprite is missing being a big one, and the 'render' button doesn't do anything), but we're on track right now and I'm pleased with its progress.

Tuesday, May 30, 2017

Figuring Out Content Management

Yet another boring code section-- how to tell Unity what to do with the files / data.

I took the weekend off, took a break from coding to make some basalt column graphics for our terrain (it's not very good, but I'll probably fix it up in time). In the meantime, I paused on the character creator because I'd been hard-coding the icon buttons and the options and... while that 'game' is small enough to work just fine without it, having some system in place that loads in item data is going to be vital.

Trying out JSON data
I tried making the objects prefabs, and I've converted all the relevant data to JSON for the characters' clothing (again, focusing solely on the character creator). This is a new, foreign topic for me, and I'm still a bit shaky on it, to be honest. There's also XML and LUA as options, I know MySQL, and I might just seek out someone experienced with Unity and try to get them to talk to me about how they manage content... but I should probably just start with one method, see how it works, and go from there.

Sometimes I feel very apprehensive about tackling upcoming chunks of a project. The funny part is that I usually breeze through whatever I'm worried about, and it's things that I assume will be a breeze going in that stops me cold. The glamorous life of programmers?

Anyway, I'll be back with screenshots when I have something more exciting than JSON to screenshot.

Monday, May 22, 2017

Maybe if I keep repeating it...

I need to stop getting distracted by remixing / altering graphics. Color palette optimization, splitting dresses into skirt / blouses later...

(The LPC 'underskirt' looks amazing as a recolored blouse, by the way. Very Victorian. Absolutely using this in The Last Score.)

That is all.

Sunday, May 21, 2017

Charactor Creator: clothing finished!

And the clothing section is finished! ... At least, the basics are, anyway.

Most of it, anyway. Here's what we've got:
  • Can click freely between the 'body' menu and the 'clothing' menu (top left icons).
  • Clicking on a clothes button changes what the sprite-guy's wearing.
  • Clicking on a clothes button changes the colors selection down below, so it automatically expands and contracts based on the outfit. I have a pink child's skirt, but not pink child's pants, for instance.
  • If you've picked blue pants, and then go to a skirt, the skirt will be blue, unless there is no blue skirt available. Then it will be a skirt of a random available color.
  • Clicking on a new body type will change the clothing options. Kids' shirts don't fit adult women.
  • Torso and legs are completely set up (this is so that I can figure out the best way to configure them without having to go back to all the other options and change everything fifty times during development.
What I still need to do for clothes:
  • There's currently a bug where going back and changing the body after picking the clothes will change the clothes selection in the UI, but not reset the outfit on the preview window, so you'll get a too-big dress imposed over a child's body, or a woman's legs sticking out of male pants.
  • Feet and accessories need to mirror the torso and the legs section.
  • Need to figure out how to handle capes, bodices, jackets, ect. Outer layers in general.
  • Most of the clothes need to have UI icons made and hooked into the system.
I also need to finish up with the 'current selection' UI thing, which is both in the character menu and the clothing menu. Right now those green outlines you see aren't hooked up to anything; they just hang out there as you move through the buttons. Annoying but not vital, and on my to-do list.

Once all that's done, I'll put in the animations, hook the character's direction up to 'rotate' buttons and the keyboard arrows, figure out how to render the sheets, and... ... well. Those are all the big points. It's close to being released into the wild.

Wednesday, May 17, 2017

Hair Break

Tiny intermission: I was thinking about the hair selection of the LPC set, and while some are great, the variety for the girls is somewhat lacking. So I made my own (front facing only so far).


I'll probably turn them into proper hair sets later. I just wanted to show them off.

Okay, back to work.

Character Creator: Ears, pt. 2


"Alright, what smart ass invited the Thalmor?"
Ears are completely finished! Color corrections, new run and idle animations, men, women, children. Everything. Turned out, those long ears I did first were by far he most difficult.

Since run and idle animation versions did take a while, I'm going to do color corrections only on the nose types and fill in the new animations / child noses later. It should take me an hour or two. Once that's done everything body-related will be finished... for stationary figures, anyway.

Which means that it'll be time for clothes next. :rubs hands:

I do mean to continue adding support for running and idling. I'll probably continue in the background, but let's be honest, it's a big job. More hands on deck would be amazing, and if it's those animations that are the biggest thing holding us up, it may be better to make an error or certain pieces saying something like 'Hair [hairname] hasn't been developed for run! Click here to help!' if someone wants to use an outfit or hair that haven't been filled yet.

That way, we get our character creator much sooner, a specific 'to do' list, and maybe some volunteers who've played around with the game and like what they see. Worth considering.

Monday, May 15, 2017

Character Creator: Ears pt. 1

I've finished the female run / idle animations! On to the ears.

Pointed Long ears on female idle, in sienna.

At the moment, we have 'normal' (the base figure), 'large', 'pointed', and 'pointed long'. So, three new ear types to match my children, men, and women, eleven skin tones each. That comes down to 99 animation sheets between them all. As of right now, I've finished all female long-ear sheets! 11/99 finished, on top of a night of fixing / setting up the new female animation sheets!

I'm going to guess that it'll take me another day or two to finish the ears, if I can keep my focus like this. I've been working on this all day, so I admit, it's ambitious as a project. So, if we do the math...
  • 11/99 ear sheets (3 ears * 3 bodies * 11 skin tones)
  • 0/99 nose sheets (3 noses * 3 bodies * 11 skin tones)
  • 0/16 eye sheets (8 eye colors * 2 bodies)
  • 0/75 facial hair sheets (5 facial hair styles * 15 colors)
  • 0/960 hair sheets (32 male hair styles * 15 colors * 2 bodies)
The recoloring is easy. Some of these are nothing but quick recolors. Some of these are nearly identical from male to female. ... Even so, that bottom one is going to be a killer. The run tilts the head. Copy / paste won't cut it. Assuming the real work is eight hair redraws per hair style, that still gets up there in effort and time spent.

I'm afraid I may have to par the hair style selection down a bit to make this work. ... On the other hand, there are a lot of 'messy' hair styles. Like eliminating four of the seven blondes, I wonder if some of them won't be missed.

I may post pictures of all the different hair styles and see what you guys think of it, and I'll record how long the first two hair sheets take me, to get a better sense of how much I'll be committing to this. And if I'm very, very lucky, maybe the creator of the run cycle will have some hair already finished. I'll contact her in the meantime.

Sunday, May 14, 2017

Character Creator: run, idle, and animations

So, exciting news! I've discovered an LPC run animation! Yes! Rejoice! (Thanks to BlueCarrot on OpenGameArt.org for alerting me.)

I was going to do ears and noses next, but with the new materials, I decided that expanding my character animation base was the most important. After all, I'm going to need to edit the ears to my extra skin tones anyway, and so long as I'm doing graphics work, it makes sense not to go back to add in run functionality afterwards.

Then I decided to add in an idle animation-- head turning and blinking. Not the most exciting stuff, but the occasional blink adds to the movement of the game, I think. Plus, the standing / eyes shut graphic will be great for sleeping characters.

So, today I've added in the new animations into my LPC men's sheets, added an idle animation, recolored the new stuff to fit each of my eleven skin tones, and I've worked out the animator tree in Unity and tested / tweaked the files until they looked good.

Run / idle animations in progress. Notice the blink isn't in on the idle sets.

Finished! All eleven skin tones are in, for adult males. Note that my idle isn't actually a rapid head toss; the animation in Unity is mostly standing, some blinking, and a quick side-to-side, but it only uses those four graphics.
Unity animator, with conditions to tell the system when to play which animation. Tweaks still needed here, but it's coming along.

Saturday, May 13, 2017

Character Creator: Eyes


Child version of the previous character.
Eyes were mostly easy, except that there are eight eye colors, and none for children. So I spent a little while matching eye colors to the child sprites. I'll need to do the same with the noses, and getting the skin tones to match.

Friday, May 12, 2017

Character Creator: Facial Hair

Facial here is in and running!

Given how like the hair it was, it's not a huge announcement, but it's show-off worthy.

The rest of my time today I've been spending going through the LPC menus, adding in a bit of extra hair styles (braids and curls!), and organizing the clothes.

Clothes are going to be a huge deal. So far it's been pretty simple: body on one layer, hair on another, facial hair on another. Clothes... coats over shirts. Armor. Accessories. There's so many combinations, it's going to be really difficult to keep them all straight. Also, part of the reason the clothes will take a while is because there's a huge variety, and my naming conventions allow me to write much more simple code.

So, that's coming. Eyes, ears, and noses will come next, though I'll need to stop and add in child options, and make new ears and such for my extra skin tones that I've added. I'm going to guess that this will probably be done by tomorrow. Stay tuned!

Thursday, May 11, 2017

Character Creator!

Character Customization!
I'm still getting through the Amitriptyline withdrawals, but I'm reaching a point where I can think again, provided I manage to sleep. Harder than it sounds; I went over a week without as soon as I quit the stuff. Anyway, point being, more programming! Longer stamina! Things getting done again! Yes! Finally!

The screenshot above is actually a sister mini-project to The Last Score. The Liberated Pixel Cup art set is amazing, but because it was by so many different artists, it's also a little scattered. I wanted to be able to preview and study the characters, color combinations, look for gaps in the set, ect. While the existing LPC generator is great, I wanted to have more control over the UI, the colors / styles, and the animations. I want to be able to run the generator on one monitor and tweak the clothing sheets in Photoshop on the other.

So basically, this is a dev tool for myself that I'm going to be releasing soon online as a stand-alone character creator, which will make it officially my first "game". Later I'll cannibalize it for The Last Score, so players can have some control over who they start out with.

The body selection down to the hair color selection all work; eyes, ears, and noses are coming next. Then once I have that in, I'll add in the clothes, improve the UI, hook up the animations, and release it into the wild.

Stay tuned!

Monday, May 1, 2017

May Day Update

First, a big announcement! I am off the Amitriptyline!!!

(Mandatory pause for wild cheering and applause.)

But, in all seriousness. Doing so took almost four months and left my head with what felt like a permanent brain-fog, shifted my moods around, altered brain chemistry... it was terrible. I still feel like someone kicked me in the head, and the fog's going to linger for a few more weeks, but things are going to be so much better. I'm planning on working on the game regularly again as soon as things settle.

In the meantime, I did manage to accomplish a few things before that final drug drop, so since I haven't been giving regular updates, I thought I'll share my recent progress log.

2017-04-26:
⦁    GUI style drag and drop re-enabled. The current action is displayed in the center of the box. GUI box works when dragged in all four directions, without disappearing on the top left quarter.
⦁    Disabled the tile transition graphics. They look beautiful, but I need to rethink how I go about this, and they confuse the issue while I'm working on drag-and-drop selection.
⦁    Implemented button toggle system, to show the current 'mode' we're on at a glance.
⦁    Till preview and job implementation is in. (I had to disable the 'register job controller' line because the Job Controller isn't currently on.)
⦁    Harvest job prefab created.
⦁    Harvest job preview in drag-and-drop implemented.

2017-04-27:
⦁    Updated the pine tree prefab-- not done, but good enough for testing purposes
⦁    Logged bug-- 'unique' placement on biome generator doesn't work.
⦁    Fixed biome generator placement; I hadn't implemented the different scatter types in the map generator.
⦁    Chop preview finished.
⦁    Mine preview finished. Large objects registered onto more than one tile have multiple 'mine' symbols. Refine this later.

2017-05-28:
⦁    Remade the Stone1 graphic sheet to have minimal hang over.
⦁    Tested the new Stone1 in Tiled to check and adjust obvious tiling patterns / problems.
⦁    Made some changes and edits.
⦁    Made three variations.
⦁    Made identical versions for Stone2, Dirt1, Dirt2, and Dirt3.
⦁    Tested these. (They need tweaks.)
⦁    Made another stone version with raised, ragged edges. They don't mesh perfectly, but will do for now.

... And then after the 28th, drug withdrawal symptoms again. But, be assured that things have been moving, and my head's going to be in a much better place, now.

Oh, and have a screenshot of that new stone. :)


Monday, March 27, 2017

Short Break for a Side Feature...

Still alive. Still making (slow) progress on the game, when I can.

But since I started dropping my medication in mid-January, I've managed to go from 100mg of my meds to 30mg, my current dose. Another five weeks and I'll be off them entirely. Good riddance. Amitriptyline, you were not helpful.

Then hopefully I'll have neat updates every two or three days, the way I used to before I started trying to pry brain-altering drugs out of my bloodstream. :)

I did manage to make some small headway on The Last Score, though, and I thought I'd show it off. First, a cool bug from a few days back, because hey, it could be like a modern art game or something...? Maybe?

Cubism in games...? No, probably not.
And the new feature I just plunked together. Look carefully... no, up, up, right...


Give up? Top right corner. The mini-map is in. :D

It's not coded and everything yet. I'll need to plug in script to control scrolling, zoom, the main camera "box", moving the minimap around with the mouse... but not bad for a half an hour of googling. I don't expect the rest of it to take long, either.

The difficult part will be deciding how I want the map to render, so it's not a grainy reproduction of the original or without ruining the retro styling I've got going. I'll play around with it, maybe throw up some options for people to vote on... but honestly, style isn't what I ought to be focusing on.

I'll update more when I can get to it. :)

Sunday, March 12, 2017

Job system in place!

Sorry for the long absence-- between the migraine and struggling to get off these drugs, I had difficulty thinking, much less puzzling out the best way to go about handling NPC job completion.

Because code screenshots are so interesting...?
One of my general coding philosophies is "beat it until it looks stupidly simple". I'd like novices to be able to glance at my work and decide that game programming is easy. Because then I can glance at my work next year (or tomorrow :P ) and know exactly what's going on without spending precious brain cells.

Balancing is something I'm staring at now. Or, I will, once I get numbers plugged into this. While I know that this will only be solved by play-testing and tweaking everything, it's really shocking to realize that in almost every game I play, items' and characters' stats don't actually mean anything on their own.

In other words, I could make a character's HP (hit points) to be 4. ... I could make a character's HP 400. Each one suggests a different system, and that's not something you think about a lot. Or at least, I didn't. I was the GM at tabletop nights who preferred to co-run with a rules lawyer / combat GM so I could focus on characters, story, personal quests and plot and everything story-ish about the adventure.

Anyway. Tldr: I'm not dead, though some days I probably acted / looked like a zombie. I'm happy with the new job-system prototype, and we're moving along. :)

Saturday, February 18, 2017

Time Completion (and health update)

This'll be a pretty short update. I've gotten the time controls, lunar cycles, and day / night cycles up and running, along with a functional UI. The amount of light at night waxes and wanes with the moon, the days grow longer and shorter before and after the solstaces. I admit, the code making up the time control class is a mess and needs to be split up into pieces and streamlined, but that'll be for another day.

(Temperature and weather currently on hold.)
I do have what will hopefully be awesome news, though! I went for another doctor's appointment the other day, but this time it was a doctor specializing in sports medicine. About two weeks ago I'd wrenched my shoulder (the same shoulder I'd wrenched last year). 

This wasn't completely surprising; I've been stuck in bed for over seven months now, so of course my muscles aren't in the best shape anymore. So in I go to see the doctor, explain the history with that shoulder, mention the migraine and that my mom has had spine problems... and after a brief but impressively targeted examination he finds that my neck is completely out of whack and that the center of my head is a whole inch left of the center of the rest of my body. Which in turn skews arms and all this connecting stuff.

... Which can cause migraines.

So I'm off for another MRI on Monday morning. I get copies of the pictures to stare at my insides as soon as they're done, which thrills my geeky, anatomy-loving heart. Wednesday morning we're back to the sports doctor to start fixing whatever's fucked up up there, and then...

And then you might get to see how I tear through this project when I don't have a giant lamprey latched to the back of my head.

So. Fingers crossed. I'm really hoping this is it. I'll make a post about how it goes then.

Thursday, February 9, 2017

Day / Night Cycle Finished!

The day / night cycle is complete!

It now has:
  1. sunrise / sunset transitions based on real world length and times
  2. longer daylight hours in the summer and shorter in the winter
  3. varying levels of darkness at night, depending on the stage of the moon
I've also fixed the firelight / lamp lights, so they no longer become glaring in the day. As for the shadows... I'm just going to leave them the way they are for the time being. Ultimately they're not that important.

The time display wasn't in the video, but a few seconds after hitting 'play' I fast forwarded the game from playing 1 second = 1 game minute to 1 second =  30 game minutes.



Next I'm going to integrate the Easy Save system I was gifted for Christmas next while this refactor is small and manageable. After that, we'll go back to tackling the hard stuff: the job system, and AI prioritizing / needs / decision making.

Tuesday, February 7, 2017

Sunrise / Sunsets


Getting the colors / values right; I may have to consider what to do about the shadows... maybe dim their alpha in the dark? I know I'll be lowering the light intensity from the campfire during the daytime (it looks like a flare now), but it's a start.

I could do shadow animations, (which sounds like a pain). I could also put in primitive shapes off the base and use some of the Unity asset store tools to have dynamic shadows... buuut most likely I'll just do an alpha fade on the shadow layer when it gets dark out.

Anyway, I'll just get the sunset / sunrise cycles going for now.


Growing plants!

Not that I actually think full-grown corn is going to materialize the first day of spring. :P

Corn is growing, the clock is progressing.

Obviously plants won't grow this fast in game, but there's something satisfying about seeing them pop up like that. I'd meant to go back to the job system, but it's been so long since I had the strength to code, I thought I'd do something easy first. I've also scripted this in such a way that I can apply this script to any plant, and the LPC collection has peppers, carrots, artichokes, (eggplant? zucchini? cucumber?), and tomatoes as well.

Tomorrow's goal: change the lighting throughout the day-- dark blue at night, brightest around noon, with a nice happy glow around fires and lanterns. Keeping it simple, while I'm battling drug withdrawal.


Tuesday, January 24, 2017

(Hopefully) Quick Break

Hey guys. So I've been more sick than usual lately. I'm going to take a coding break until I start feeling better.

It's frustrating, because from just after Christmas to the first week in January, I'd really felt better. I'd gotten out of the house for short bursts. I had coffee in a coffee shop...

Then the day before yesterday I could barely walk ten feet without collapsing like an aluminum folding chair. Normal blood pressure, but growing faint even laying down with my head up. I saw the neurologist, decided to stop taking one of my drugs that had changed lately, and the symptoms went down... but even now today, I don't trust myself to walk across the apartment without needing to stop and rest. ... So, so frustrating. To have your world limited to your bed and what's in arms reach; to know that everything's filthy outside the bedroom because you don't have the strength to clean, to read news on the internet as if the universe outside is on fire...

So, yeah. That's my week.

I'll put up neat things when I'm a little more alive. :)

Tuesday, January 17, 2017

Okay, I Lied

I promise, I'm refactoring. Really.

Only, I like to refactor by starting with a clean, empty project and carefully moving the good, important parts over. It's a nice way to focus on the big picture. But after playing some Rimworld and thinking about gameplay, I realized I ought to have had my task system as the central pillar to everything I'm doing.

So, now I'm in a mostly empty project, working on how tasks are assigned-- from the UI, from the main buttons, to object oriented tasks versus component tasks. I've mocked up some UIs-- any feedback on these would be lovely. :)

The Wireframe

The Menu
I do feel like I'm ripping off Rimworld a bit, but after several drafts and sketches and brainstorming I've decided that I just can't think of a better way to do it. So... sorry, Tynan? You made awesome stuff.

Sunday, January 15, 2017

Announcement: Time for a Code Refactor

Hey everyone! This is just to let you guys know that progress will be paused on the game for a bit while I go back and refactor old code.

For those of you who aren't programmers, refactoring is a good thing. Taking the time to go back and organize my approach and get rid of unused first-attempt functions can save me a lot of pain down the road. Think of it as a workshop deep-clean.

Deep cleaning, however, doesn't have a lot of exciting pictures to show off, so the blog will probably be pretty quiet. Come back next week, and I'm sure I'll have more progress screen shots for you all.

Cheers!

Saturday, January 14, 2017

Character Ethnotypes and Names

At the beginning of The Last Score, the player will start with twenty randomly generated characters from all over the world, and I wanted their looks and names to reflect that. Right now my code only has a handful of names in a handful of languages to draw from, with coordinating skin and hair color ranges.

In time I'd like to have a range of eyes, mouths, noses, hair types, face shapes, and be able to track genetic heritage as the generations progress. But this is a start.

(Also, the portraits are temporary things. Need to put hair in.)





Friday, January 13, 2017

Circle of Life: Game Edition

As of the last couple of weeks, my migraine's been getting better. No more getting fish hooks through my temporal lobe! Rejoice!

Unfortunately, this doesn't quite get me out of the woods yet; I've been on quite a few rather heavy-duty drugs for months now, and these last few days have been very hard because drug withdrawal while tapering the dosage is a very real, very nasty thing. I've barely been able to move these last few days. Brushing my teeth has been exhausting. My brain's been in a 'ugh can't think' fog for days.

So, coding hasn't been an option. But I did manage to do some pixel art in the meantime, and I've rather proud of the result. Here's the pixel babies (mine), and the recolored adults (originals done by Redshrike) and children (originals done by kheftel).



Tuesday, January 10, 2017

A break from the job system: Characters!

I've got plenty more work on assigning the characters tasks, but I'm taking a break today to code something more fun-- characters!

I'm fairly decent at realism with character portraits myself, but as much as I tried to make my own art work, I couldn't get anything congruent with the retro style. Since I'm going to want to stack features to get a wide range of different looks, I decided that the solution to this problem was proper pixel artists. Specifically, doll-makers.

Modified from these portrait bases.
I've been corresponding with JuliePM about using her work; this stuff is the free, temporary non-commercial placeholder. I've modified it a bit, but the real art will be commissioned later. Still, not bad for a temporary piece?

Also, Julie has an art blog. Go look at it. :)

Sunday, January 8, 2017

Animation Copies!

Dear Unity Engine,

You can't copy one animator onto a new sprite sheet? Really? ... Which the utmost respect, what the hell is wrong with you?

So, this is something I've been facing (and avoiding) for the last month or two: I have a ton of identical sprite sheets for different skin colors, hair colors, hair styles, different clothes. Each one has several different animations (idle, walk, cast spell, stab, thrust, shoot bow, die/hurt), and each one of those have four directions they could be facing, not to mention different sprite sheets for men, women, and children. So, assuming two hairstyles in four colors, five skin colors, two possible outfits... we're already looking at 2240 animations, not counting the children's walk cycle and hair and such (2 * 4 * 5 * 2 * 7 * 2 * 2).

2240 is not a nice number. Even though it only takes me about thirty seconds to set up each animation's Animator, that's still nearly 19 hours of animation prep. No. Uh uh. I refuse.

So every few days, I've been thinking that maybe, if I could just figure out how to phrase this problem in google, I could get a magic shortcut from some clever person who's come before me. Duplicating animations / animators is a waste of time, since the new animators point to the old animations, and it takes nearly as long to reset them all. Using an Animator Override still requires you to define each animation for each item. I needed a way to define it once and move on.

... So, it turns out that Unity doesn't support 2d Animator duplication (which is a huge oversight, in my opinion). BUT, there is a hacky workaround: a script on each animated character that replaces the default sprite with the correct one. ... Which is a bit of a memory/CPU hog and probably shouldn't be used for smartphone games, but it works.

I modified this code from a Unity conference video on workarounds for common 2d problems. Just in case anyone's struggling with the same thing.


using UnityEngine;
using System.Collections.Generic;

public class ReskinAnimation : MonoBehaviour {

public string spriteSheetName;
SpriteRenderer spriteRenderer;
Dictionary<string, Sprite> sprites;

void Start() {
sprites = new Dictionary<string, Sprite>();
this.spriteRenderer = this.GetComponent<SpriteRenderer>();
Sprite[] spriteList = Resources.LoadAll<Sprite>("Humans/" + spriteSheetName);

foreach(Sprite sprite in spriteList) {
this.sprites.Add(sprite.name, sprite);
}
}

void LateUpdate() {
string spriteName = spriteRenderer.sprite.name;

Sprite newSprite = null;
if (sprites.ContainsKey(spriteName)) {
newSprite = sprites[spriteName];
} else {
Debug.Log("Sprite not found: " + spriteName);
}


if (newSprite != null) {
spriteRenderer.sprite = newSprite;
}
}
}


Saturday, January 7, 2017

State of the Game

A very basic job system has been implemented! The test character can now:

  • walk to specified points (using the correct walking animations)
  • navigate around obstacles
  • go to bed
  • chop down trees
I've a few bugs to deal with on the last point because I reworked some code away from my original design, but that shouldn't take long. Harvesting a crop and eating a food item come next, and both will be easy and in quickly.

I've also implemented a test scene to quickly try out all these basics.

Test Scene Setup

I'm starting to really want a good code refactor, but I'm going to try to wait until I've finished with my goal list first.

Next up: character inventory, hauling to the stockpile, personal job queue and general public job assignments, character needs (food, rest) and character needs UI, building objects.

We're not out of the woods yet, but we're getting there. :)

Wednesday, January 4, 2017

Bug of the Day: Man Becomes Nudist When Facing West

... Because somehow, that makes sense. :pokes game engine with a stick:

(Still doing task-assignment stuff.)

Edit: Bug fixed. Have a video of it anyway. :)


Monday, January 2, 2017

In Which Everything Is Connected

I've been working on jobs, as promised.

Except... those jobs need to be connected to working, functional, responsive humans. Who need orders from the user interface. The placeholder human class was a cluttered, ugly mess of brainstormed wish-wash, and...

Well, it's been a bit slow-going because I went back and rewrote it all. On the plus side, I've neatly organized my humans into distinct pieces that will make them much easier to deal with.

In the absence of exciting 'this is done' announcements, have some slightly dishonest (Photoshop-ed) screenshots. I painted his eyes shut and added the speech bubble manually.

But, it will be a reality! Soon!