All the Small Things

Just like the song, today’s programming session is mostly all the small things, but there are some major things.  So as a result I’m a liar.  Hooray!

Yesterday, I finished up the battle system.  It works really well, and you can kill baddies and get experience and gold.  Hooray!

There really isn’t anything to show about this, because it fits better in a video format, and I haven’t recorded video of it at all.

Another big thing is that I trawled the internet for music, and music has been incorporated into the game.  I can’t really show this either, because well…music.

What I can show is that the config screen in the title and the config screen in the menu have been implemented, and there have been some slight changes in the title screen.

ps-config-menu

Here’s the very basic (and unstylized slider) that will automatically adjust the volume of the music.  Hooray!  Fortunately, UWP makes this process very easy, so I have to give props to Microsoft.

Also, here is the current title screen.

ps-title

The current working title is Fallen Deity, which is misspelled, because of course it is.  The red text would be whatever “label” I’m releasing this game under which I don’t know what it is.  The random Sample text indicates the current build, which is the Sample.  You can see the button to get to Game Editor, of course that’ll be removed for the final Sample version.

What’s left is a game over, ending and credits screen as well as getting into battles and saving/loading (but that may not be necessary for a sample), and I might punt those so that I can actually start working on the game itself.

The way I plan on working through that is map out each room in a spreadsheet, which will contain what items and stuff you might find in each room.

So, this is a shorter message post because…well, there is not a lot to talk about.  But the game is taking shape, and I’m excited to see where it will be at the end of the month, when you can find it on your handy dandy Windows Store.

Advertisements

All I Want For Christmas Is You*

First draft of our battle UI is done.  It took a surprisingly a large amount of work to get this far.  Next is the battle itself.

ps-battle-ui

What you see here is a Dragon Quest-esque battle system.  Messaging on top, monster sprite in the middle, stats & actions on the bottom.  Enemies have a health bar because that’s just nicer.

The numbers near the bottom of the screen are your cards, which represent your actions.  The number itself is the power of actions.  You get five at the beginning of battle, and 1 every turn.  You can also pass, although that’s not implemented yet.

You get cards from using items, and having equipment.  You start off with one at the beginning of the game – Use Item, which allows you to use an item.

The rarity of each card determines how often they appear in deck, and thus, how often they appear in battle.  For instance, “Use Item” is common.  “Concussion”, an attack that creates a DoT is rare, because it’s a powerful attack ontop of adding a DoT.

Enemies also have cards too.  For instance, this enemy has a laser attack, a sonic attack that decreases your defense, a flamethrower attack and an attack with its weird blades.  Enemies can only choose from their current hand, so if they have all flamethrowers attack, well, it’s going to get hot for you.

The goal of this battle system is make you think about the right task in your hand for the right situation.  There is no binging the attack button, no routines you need to know.  If you play the most powerful attack every round, you could potentially die.

It also thinks about what equipment to have – do you want a more powerful weapon, or a weapon that’s weaker but gives you a better card in the end?

As a result for all this thinking, there are random battles in this game but they are rare, and you will know your likelihood of going into battle, similar to Etrian Odyssey (or at least Persona Q).

So, all that’s really next to do is to just make battles functional.  Right now, they are a static screen.  But soon, they’ll be…not a static screen.

*You = You, my friends, christmas presents, world peace, at least the ability for us to love each other

Something For People to Quibble Over

So, battle system.  Part of it is implemented and that is what you actually do in battle.

I don’t want to make a game where you mash A to win, but where you have to use strategy to complete your goals.

So, to accomplish is, Project Symphony doesn’t have an “Attack” button.  You get action cards.

An action card represents an action you can do.  Similar to card games, at the beginning  of a battle you’ll get a hand of these cards depending on their rarity.  Use an action, you’ll get another card to use your next turn.  Each card has a power level which is a multiplier of your offense (it’s not a direct multiplier, and the actual multiplier decreases with the more power you have, but that’s for another post).

So, now in the item and equipment menus that were implemented yesterday, you can see the cards that each equipment or item provides.  Oh! You get cards from your current equipment AND from various cards that you use prior to battle.

ps-equipment-menu-with-cards

The equipment screen is a bit more colorful now, as cards can come in white, blue and red varieties.  Blue cards are locked and require another card to unlock them.  Red cards are priority cards and have to be played right away.

In these menus, hover over a card to read its description and title.

ps-item-subscreen-5-with-cards

Here’s the item menu, with some errors (notice the lack of margins and the ‘undefined’ text that I didn’t catch).  The item menu will show what each item and weapon and armor and accessory cards that they provide, with tooltips.

Of course, cards are implemented, which means the battle menu has been implemented.

ps-battle-weapon

Basically, this menu is a summary of the cards you’ll see during battle. At some point you’ll be able to turn a subset of cards on or off.

Status menu is also finished for this particular demo.

ps-status

Not really much here.  Once again, Equipment and maybe even Battle menu might be merged.

Next is the battle system itself!

And also, I decided on instead of trying to make a full game in a month which would be difficult, I’m going to focus on making a sample of an area, akin to old playstation demos.

That way, I can work on the UI, gameplay and everything and not risk leaving one in the dust.

Next time, we battle.

Rock Time

Greetings, greetings.

I woke up at 3:50 AM this morning (i.e. rock time, the official hour in which Dwayne Johnson raises his head from his silky pillow), in order to work on Project Symphony, and work I did and work I shall do and it was good.

I dread writing menu systems.  I think it’s probably the most boring part of the entire game.  Especially equipment menus, because your first instinct is to rewrite the entire item menu in the equipment menu.  I hate that.  Equipment menus are my bane, because I can’t think of a good way to represent that information, and there really hasn’t been a game that has acheived it in a fluid way.

In Project Symphony, I’m punting that ball further down.

No, seriously, here’s the equipment menu today:

ps-equipment-menu

It’s a useless menu right now, it just tells you what equipment you have one (and in the next few days, it’ll tell you another important bit of info, but more on that in the next few days).

That’s because the act of equipping your weapons is actually on the Items menu.  It’s one flow, and really what’s the difference between using an item and equipping it?  Wouldn’t using a sword mean I’m equipping it, or at least using it at least once?

Also, something I need to point out – in the above menu, that’s not static text.  Items are implemented entirely – items can have types, effects, special effects, etc.  The system will read the information accordingly, and will actually display the name of your equipment up there.  It sounds system, but it represented about maybe 30-45 minutes of programming (that’s a loose number – most of today was fiddling with the Items menu).

Items menu is complete….?

I say complete because it does its job right now – it displays your items in the five inventories that you have.  You can’t do anything with your items, but you can see their descriptions.

ps-item-subscreen-3

There are five buttons at the top – those will dictate what inventory you are currently seeing (although they don’t do that right now…mental note…).  The items themselves are links, you click on it, and get a screen similar to this:

ps-item-subscreen-4

Name, description, an effect, and the ability to use or drop.

Use or drop is going to be an important concept, because I plan on writing it so that you have a limited inventory, probably of around 16 slots per inventory.  But that’ll be up the road a little bit.

If you’re in one of the equipment inventories, Use turns to Equip, which will allow you to equip the item, and one day, it will tell you what stat has changed and how much it changed by.

As for the menu itself, here’s what it looks like:

ps-menu-mark1

Obviously, my disclaimer applies to all screens here: this is all prototype stuff, and it’s likely to change at some point, but I am fond of this particular menu.

There’s health information at the top.

Items will go into your items screen.

Status and Equipment actually switched places, but I didn’t take an updated screen shot.

Equipment will go into the useless equipment screen that I showed at the beginning of the post.

Status will display all your stats. There is a chance that Equipment and Status will be merged together, but that’s something I’m still pondering.

Battle will require explanation of the battle system, which will be the next post.

Config will be configuration options.

And that’s it for right now.  A lot of good progress was made.

I’m going to be laying the groundwork for the battle system next, which is basically implementing that Battle menu, and everything should be revealed than.

105 Hour Mininum

I am going to attempt to make these dev diaries longer, and part of that is going to be by ranting, showcasing bugs, pointing stuff out, etc.

Anyways, here is some of my progress!  Intractable objects (to use RPG Maker parlance, “events”) are actually finished, although buggy.  There are a couple of bugs in this system, my favorite being this:

ps-get-right-up-in-there

You really have to get up in there to talk to this dude!  But he does work, once you get in the right spot.

ps-npc-text

Note: this design is beta.  The game isn’t even half finished or quarter finished.  Things will change.

NPCs and chests and traps and little cute objects share the same system, that is that they run off of actions.  Currently, an event can have a default action, and then two more actions that are run off of switches being on (in RWP, this was from actual switches on the ground, in this game, it’ll end up being more ethereal and be able to switch on certain switches from the code itself).

They are also written from the same place, which is an event editor in the game editor, as it’s now known (previously the map editor).

This editor simply is just a bunch of text fields, and then you convert it into JSON to put it in certain data files.  I’m sure UWP can write directly to these data files, but I don’t want the risk of file corruption.

Here’s a pic of the Event editor.

ps-event-editor

Oh.  I haven’t changed the text in the menu yet.

So, this is *very* exciting screen defines the event’s key (what it’s referred to in data), as well as the particular sprite it uses, the name of the event (which might be removed – I was originally thinking of using this as nametags for NPCs, but since this system got expanded…), and then it’s actions!  Each action can have five (well…) actions!

Nothing = does nothing.
Display = displays text.
Remove = Remove something from your inventory.
Give = add something to your inventory.
Kill = kill the sprite or the player.

There will probably be more added in the future, like “battle” and “love” (because all you need is love!)

So that’s current progress, and I think progress is going well, provided it’s been less than a week, and we already have NPCs working…what are we doing next?

The answer is: the menu & inventory system.  At this point in the story, the main character needs to open a chest with some items in it, so we need to figure that out.

And also – I thought of another story, and I’m sticking with it.  I’ll unveil that soon.

You are filled with determination.

My thanksgiving break ends today.  Oh well, oh hum.

In the mean time, I worked at a lot on Project Symphony – figured out not only warping from one map to another, but also collision detection.

Also added a bunch of features to the map editor, such as adding warp targets and loading existing maps to edit.

I also figured out a basic storyboard, as well as work out (in my head) elements of the battle feature.

Today I hope to work on NPCs, item chests and a menu system!  This batch of work will probably take a while, so…I just need to say determined and get through everything!

My name is Lucy, and I’m Way FM

I like to consider my personal projects to be mad science projects.  I mean, why else would I try to create a game using Javascript and HTML WITHOUT using the canvas tag?

I was inspired to work on the original RWP when I saw a demonstration of using sprites as divs, and the performance impact – there was very little, at least until you get the thousands of sprites on the page.  I thought “hmm, this can be applicable for me.”

So Project Symphony takes place all on a 13×16 grid, which are all represented by divs.  Sounds crazy, right?  Well, think about it – why not represent things this way?  A wall, a floor, a rock, whatever is an object.  By having it represented in markup, you don’t need to to represent it in a game array of some sort.  As a result, things are easier to do things such as collision and removal.  Basically, we’re using our markup as a way to represent all of our game information.

Here’s progress i made this morning:

  • Map editor is done for right now.  You can save maps, and there are some QoL changes too, such as the ability to erase tiles and you can see what tiles you have selected in the palette.  Also, added a data tab, for future things.  Right now it holds a text box for the key of the current room.
  • A configuration file for defaults and application wide configuration, such as what room to start off in.
  • The game will read the configuration file, and use that to render the first room.

Next job?  Get the player character on screen and moving around.

project-symphony-rendered-map