Wednesday, December 19, 2018

Working on Shop UI

Rough WIP. What do I do with that empty space in the top right? Eeeeeeh, who knows.


I'd like to make the items sit on little shelves. I figure a tooltip hover will show the name of the item and its gold price.

Got the shops data into Ponyland in Unity (just involves updating the PonylandData.dll and importing the shops.xml), got the basic code for it in place. I just need to work on implementing them properly. Ugly test UI time, here I come!

Tuesday, December 18, 2018

Inventory saves and shops being worked on

Inventory items and gold can now be saved!

I also realized when I shuffled back into WPF to work on a Shop Editor, that I had already done so at some point in the past! I also added the Item Editor to my commit history, so it won't be a tragedy in the event of me messing something up bad.


I think I'll be working on shops for now.

Monday, November 26, 2018

Two-year retrospect and planning

Long time no post! I got admitted to university for computer science and I started classes this past September. It's a lot of work, but I am enjoying learning and growing as a person.

I'd like to do a two-year retrospect on Ponyland, which should have been done in early September, but the second-best time is now! Since last year, I think a lot of great strides have been made, both programmatically and visually. Ponyland has a logo, and even a barren Twitter account; the starting seed of social media presence when maybe this dream project of mine gets further along.

Some hairstyles and a blink animation were created, they've yet to be implemented, but when they are, it's the little things that make things more fun and pretty.

Getting the XML from WPF into Unity was a great accomplishment. It'll be fun figuring all that out again when I pick this project back up.

The user interfaces got super-prettied-up. The inventory is pretty spiffy. The crafting as well, just needs a bit more work.

We even went from flat 2D to more super cool 2.5D! That was a big thing. I created a separate branch on my repository for that. Merging that back was nerve-racking.

When I pick this project back up, here's a few things I want to work on:
  • Adding in the two hairstyles
  • Adding in the blink animation
  • Creating shops
    • ability to sell  items
    • ability to buy items
  • Having items have effects
    • change hair/body/eye color when a food is consumed
  • Figuring out overarching game and player manager systems (bleh)
  • Having inventory/gold/player appearance be saved
    • on local computer for now, just in Unity's player prefs
  • Adding an NPC, doesn't have to do anything yet
Yeah. I think that's enough things to keep me busy for a while. 

Sunday, July 29, 2018

Things can be crafted!

Wow. Check it out! I seem to have gotten a rudimentary crafting system working.


"Stella's Cauldron" is a cheat station that lets me "craft" basic items muahahaha.

Haven't gotten the list on the left to actually be scroll-able yet. That would be a thing to work on. Also maybe some sparkly particle effects when you craft something?

Then there's also designing the... UX of it? The plan for the future of crafting is that initially, recipes will only show up when you collect enough items for them to show up. Then, when you craft something once, you "learn" the recipe for it and it'll be saved in that station even if you don't have all the ingredients (it'll be a lower opacity option if you don't have enough to craft an item.) I'll add a "hide unavailable items" checkbox or something as well.

By the way, I don't think I've ever shown Stella Portabella, here is some art of her:


"hey that mushroom on her head isn't a Portabella!" yeah well whatever.

Tuesday, July 24, 2018

More crafting

Woweee wow wow. I got the placeholder crafting interface to pull data from the crafting.xml, which is pretty cool. I followed the same code design as I did for the inventory; view, controller, and data.


The first crafting station (Stella's Cauldron) is just a test one, so it has items that can't actually be crafted, which is why it has that weird bar in the middle. And the other station has ones that have ingredients but no icons for them yet.

There's a bug when I had on my toggle code to enable/disable the crafting UI (it's been disabled for now) where I have to click on something twice in order to hide/show the interface. Need to figure that out. Or you just can't toggle the crafting menu on/off with the button, can only turn it on with the crafting button and have to close it with the "x" button I'll add later.

Can't actually craft anything yet. I need to figure out how to have the inventory system communicate with the crafting system.

Here's a WIP of the crafting menu design:


I'm going to make the background look like a wooden table from the face down. The list of options on the left will look like a scroll on the table. The potion bottle will also be something that changes based on the crafting station you're at (potion bottle for a generic station, sewing machine for clothing, mixing bowl for cooking, and so on.)

Thursday, June 7, 2018

Started to try Crafting

I made the mango tree bigger - it was too tiny.


 I also figured out why the marker is offset - because I made it offset on the y-axis. Haha. Because if it's not it sinks into the floor. I'll try to think of other solutions, but for now I will leave it be.

Here is dragging items around working! You can now drag items to wherever you want and they'll stay there, even to different tabs:


And I have started to work on how I will do crafting. I've tacked an additional menu onto the Item Editor for "Crafting Stations," where I will add all the crafting stations and what items you can craft there. It's pretty rudimentary right now. I'm not a pro at WPF, so I just mess around until I get something good enough to work. And it works. It exports an XML file of crafting stations, their IDs, and what they can craft.


Sunday, June 3, 2018

Mangoes!

Made a mango tree. :) Mangoes are delicious.




The target marker is back in business. It's a bit offset. I'll figure that out later.

I've also got the clover to work. I think it is pretty nice. Now that we're in 3D space, the clover is in the same perspective as the ground. Clover mayhem (I was testing all the different patches out.)


View in Unity:


Saturday, June 2, 2018

A lot of bugs squashed in parallax mode.

Good news! Almost everything is back to normal in 2.5D mode! I got fruits to bounce, all the fruit trees are functioning, all the flowering shrubs are working, background transparencies are working, and so on. A lot of things I had broken before seem to be working just fine.

The movement marker is kind of working too. It's just being a little weird because it's rotated onto the floor and I can't un-rotate it, but it's not the biggest issue right now.  So I just need to fix that. And I need to figure out what to do with items like clover patches where part of it belongs to the ground and part of it acts like normal objects.

Tuesday, May 29, 2018

Chaos

First things first, I got a menu to pop up when you click on an item and the ribbons animate when you hover over them. Haven't done anything to make the selected ribbon more noticeable yet.


And then... chaos. You see, a friend had recently played Don't Starve over the weekend, and I was very interested in how the game's camera works. It's like 2.5D. It has a parallax effect. In all my previous versions, Ponyland is stationary; nothing moves because it's all done with an orthographic camera. I really wanted to try this parallax effect and... everything is a mess now!

The pony has been sentenced to the warped dimension:


Good-bye, cruel world...



So, what has to be done in order to achieve a 2D parallax effect is to change the camera from orthographic to perspective. But alas... this creates a lot of problems. Things are no longer just 2D. Life is no longer simple. They must now be 3D. My sprites and artwork are fine, but all the components and tricks I used to sort and order my sprites had to be changed or modified. Now instead of using 2D colliders for things like clicking on interactive objects and sprite transparencies, I must use 3D colliders. Every asset needs to be updated. That's not all though, now my raycasts need to be converted and done in a different way.

My fancy golden crosshair marker is being wonky. My dropped fruits are now stuck halfway through the ground... I need to figure that one out. Oh, and the way the parallax is done is by rotating all the sprites 45 degrees, and the camera 45 degrees as well. It's very strange to work with the 3D colliders when everything is rotated 45 degrees. It's not a thing I can eyeball, I need to test out the position of every collider in order to make sure it's working well. See Stella's cottage with 3D colliders:




I've made a branch in my version control for this parallax effect stuff, so nothing is horribly mutated from my last post to the point where I can't get it back. This 2.5D/3D work would open the door to a lot of cool things. Like... uh... this ball:



And then I made it into an eyeball. Get it?! Ahahahahaha.

But seriously, I would be able to use all three axes now. In 2D mode, I used only X and Y. In 2.5D mode, I use X as my X, but Z as my "Y" which is a little strange, but now my Y can actually be used for things like height. Woah, I wonder if I can have clouds and floating platforms? The possibilities... I haven't thought of all of them yet. But I'd be able to have towers and bridges and other cool things! Gravity actually works now too. The pony can fall off colliders.

Here's a final shot of the parallax effect.


Sunday, May 20, 2018

More inventory advances

Whew!


As you can see, stacks now work. Tool tip hovering now works. When you modify the inventory it automatically updates.


And you can drag the inventory around! You can also switch tabs but I didn't show that. So all 80 item slots should be fully functional.

Next up:
  • Menu pops up when you click on an object
  • Drag around items to move them between tabs or in another slot
  • Animate the tabs when you hover over them, and make it better known which tab you're on

Thursday, May 17, 2018

Inventory has evolved beyond the debug logs!

The inventory has evolved past just listing all items that you picked up in the Unity debug logs, into a graphical interface that actually shows you what you picked up!


Tada! Stacks don't work yet, it's very basic. A function runs and updates your inventory's icons every time you click the inventory bag icon. The close button works, and the inventory bag icon reopens it. The ribbons will be for more inventory slots, so you'll have a total of 16 * 5 = 80 inventory slots.

Turns out I need to put all my icons in my Resources folder, I was trying to be clever with my Item Editor and keep them in the same path as my Sprites folder. Unfortunately didn't turn out to work. I think it's a waste of space to have both sprites and icons look the same, so I'm debating creating vector sprites for all items that can go in your inventory. It'd make them match the inventory better.

Inventory specific goals:
  • Make stacks work
  • Make the tabs work
  • Animate the tab ribbons when hovering
  • Allow items in inventory to be clicked on for a menu that allows you to remove/use them
  • Make the bag better, make it so that when you pick up stuff while the inventory is open, it updates it right away

 Also here are some other interfaces, for the quests and notifications, that aren't in the game yet.



Friday, May 11, 2018

Player Manager has started to blossom, and some UI icons

I got the Player Manager to start working. It will spawn a pony and set up all the references correctly. This is the first step towards having the same pony when you go in between scenes.

I've started working on some prettier UI stuff, starting with some icons for the GUI. Inventory, notifications, quests, and settings icons. Here's a picture of my UI workspace in Illustrator. The dialogue/chat bubbles have been done for a while, I just haven't had a reason to use them yet. NPC dialogue and chat functionality is far into the future.


The final placement of the inventory, notification, quest, and settings buttons will probably be to the bottom right. I just liked having them to the left while working on them.

I think next I should work on a nice looking inventory interface, or at least make a placeholder one. And then start seeing if I can make it generate the icons for the items you have in there. Right now if you hit inventory it lists all the items in your inventory, or that your inventory is empty if there's nothing in there. So it works, it's just all in the debug logs.

Wednesday, May 9, 2018

Minor tweaks for various things

I did a bunch of fairly uneventful things. They're actually pretty cool... to me. But nothing worth a screenshot.

I fixed the movement target reticle so that if you drag your mouse it'll drag with it. And it used to pop up an additional time after you'd already have reached your desired location. It doesn't do that anymore.

The I had a bit of script in the player movement that determined if your player was stuck behind something and so you can't get to your desired location and it would stop moving. But it worked off of how long it had taken you to get to a place. So you could be walking for a very far distance and it would consider you stuck because you hadn't reached your destination yet. It was a fairly easy fix, I just added a velocity check. Now it works well regardless of how far you're walking.

Last but not least, I did get the items XML in the game! This is very exciting. It was weird, since you have to work with the Item Editor and some .dll file in conjunction with Unity. But I got it in, and then changed all the items in Unity to reference the item XML item ID and it's working well! I also harnessed the power of enums for the wearable items slots, which makes it so much better than using an array of booleans for each wearable item slot, when I get to wearable items eventually.

Monday, May 7, 2018

Enhanced object transparency and hair!

Hello! Long time no post. I've been busy. Just booted up the project today, hoping to work on some items XML stuff, when I got distracted by the object transparency. I had originally made it work only halfway. See, if you were behind multiple objects, it would only make one transparent. Not really helpful there. So I changed it today so that being behind multiple objects will make them all transparent.


And I've been quietly modeling some hairstyles. Hair is difficult to model nicely. Trying to make something that's many thin shapes into one giant shape that still flows nicely. Need more practice.


Left hairstyle was based on a pony I made for a Flash dress-up game called Penny the Pony. Translating from 2D to 3D is always a pain. Now you have to make things look good from multiple angles on a 3D surface instead of only one dimension on a 2D surface.

My goals remain the same - work on interiors, (I've got a sketch of Stella's interior done) work on the items XML, work on a nice inventory interface, maybe get these hairstyles in the game so my pony is no longer bald... there's so many things I could possibly work on I don't think I should list all of them. So many!