Saturday, October 12, 2013

Dungeon Diving 3

http://johnakerson.acoders.com/latestbuild.html

Ahh so much has progressed! There's now a fully functional combat system in place for both the player and the enemies (sorry for the lack of interesting skills!). I programmed in a 'rage' bar, which will be the resource management system used by the warrior-type class where the resources build up from standard attacks and you can unleash them on your enemies later on.

I added the ability for the game to create "hallways" to spice it up a bit. They still function as rooms, but with a wall knocked out. One day I want to get better decor randomization in place, but that's not really that important I think. One thing I WOULD like is for the system to be able to create corridors, rooms 3 long and straight that branch off. Dungeon generation is actually the coolest part of the system so far, I generate the blueprints for a room and then I throw it into a factory function that chugs out the room and then I drop it into place.

I also have a working back-end for an inventory system with the ability to specify items as stackable (although the user interface isn't implemented yet, so you can't see anything).

Finally, there's a dialogue system! So now you can see what was really in that chest you just opened. Completely dynamic on my part, I specify the picture and the text and the system takes care of the rest.

Until next time!

-J

Wednesday, October 2, 2013

Dungeon Diving 3

http://johnakerson.acoders.com/latestbuild.html

Preliminary combat is in!! More of a proof of concept at this point -- I went 180 on how I wanted to handle it, but I like this system the best so far. Here's the low-down:

-Each character will be able to learn a variety of skills, but each time you enter the dungeon you'll only be able to take a handful of them. There will be a huge emphasis on making sure you have the right skills and build for the job.

-Skills have a cooldown and a cost. Your class will determine the resource management system that you use. The skills can only be used as often as the cooldown allows, pending you have the resources to use them. This means you'll be clicking nonstop until things are dead! Who doesn't love that.

More to come in the near future, like mobs attacking you back. That's kind of important.

-J

Tuesday, September 10, 2013

Dungeon Diving 2

http://johnakerson.acoders.com/latestbuild.html

Updated with some fancy lighting (and light sources), as well as some randomness to the level generation to make the rooms feel unique.

There actually is a lot of difficulty in making randomness not look so random. What I mean is, in a truely random situation it's totally normal to see something repeated 3 times in a row. But in a random level generator, this is actually a bad thing because, visually, you're not trying to make something random so much as you are trying to make it not repetitious. And believe it or not they're QUITE different. So the last few days I've been going through and every time I see something that looks peculiar, I write in some code to prevent it from happening. The result is a bit of spaghetti code, but there's no reason to prematurely optimize it, especially when I'm the only one working on it.

But all-in-all, I'm pretty happy with where the generator's at. The only issue I still have open is the fact that "junk" can form under a chest, but the code involved in making that not happen isn't worth the effort at the moment. So hopefully it doesn't bug anyone else too much (:

Next stop: combat! Should be interesting, and hopefully fun. If not for me, at least for the player (:

-J

Saturday, September 7, 2013

Dungeon Diving

http://johnakerson.acoders.com/latestbuild.html

This is what I've done so far (minus some lighting changes to make it more spooky!). It's coming along well for a week's worth of work (:

Dungeon generation is basically done, I need to place mobs still but the code is trivial. Working on adding some decorative "junk" and lighting (torches!) to the dungeon, as well as improving the wall generation algorithm so it looks more natural and less random. After that it's the fun stuff -- battles!

The battle system will be cool, as the goal is to make monsters "predictable" to a degree. You'll need to know which monsters have which moves, as well as their tendencies. If I get really adventurous, I might even have them learn from your movesets too ;D

The only thing that really "irks" me at the moment is the turning. Since the goal is to make the game "mobile friendly", the navigation of the dungeon is just going from room to room. No time "wasted" etc. With this I'll be creating larger dungeons to churn through, and hopefully the dungeon generator will get to a point where the dungeons stay interesting too.

I'll update again when something cool happens. Until then!

-J

Friday, August 30, 2013

IM BACK!

Finally fixed my computer last night, as suspected the motherboard was toast. Game is still there though. But I think I'm putting it on hold.

The reason is three fold:
#1 I am an amateur. I don't have ANY proof I'm capable of doing what I'm doing, and that's tough for me to show my merit
#2 The market is catching up quick, especially with Heartstone on the way. There's a huge chance I won't recover any money I add into it
#3 I really need a team. It's not a one person job, there's a reason the market is the way it is.
#4 I really don't want to rip people off. I can't figure out a way to make a CCG that isn't entirely about exploiting the players.

That said, I have a new project: it's going to be a dungeon grind sort of game focused on mobile, but instead of the traditional combat system I'm going to have three "slots" you must fill each round with abilities, and you and your opponent trade blows in these rounds. One must always be an attack, one must always be a defense, and the third is your choice but the order and WHAT is the attack/defend moves are up to you. The dungeon layout will be similar to zelda dungeons, but with focused combat rather than open-world. In a way it'll be very similar to Praxis was, except without the cards, and at least initially without the multiplayer. A big part will be knowing which moves to use when, and countering attacks with your defend actions etc. All the while leveling up and finding fat loot and sculpting your guy (:

It'll be fun!

I did a random dungeon algorithm today, it was my first experience really working with custom classes in Unity. I made a custom XY class to hold coordinates and "shift" a direction, and a Room class to hold what's linked and dig a direction. It works great, I can make huge sized maps very quickly. Next is adding keys and locked doors, but this in itself poses a fun problem due to the "inaccessible key" dilemma (which some long time zelda fans might remember unbeatable dungeons if you collected keys in an unorthodox fashion). How to solve this, I'm not sure. But it's something to consider!!

Friday, August 16, 2013

Current Gameplay v1.1

Link to v1.0 here: Current Gameplay 1.0

O V E R V I E W
-The game takes place in a lateral, a fourth spatial dimension connecting two separate "existences" as we've come to understand them. There's an attacker trying to infiltrate the defender's world, and the defender is doing everything in their power to prevent the invasion before the lateral closes.
-The defender has a ‘barricades’ row which protect the entrance to the defender's existence from the attacker. Each player has a units row that they can play units in, and they'll attack the unit in the opposite lane, or the barricade if there is none.
-Players at the beginning of each turn draw to a full hand of 4 cards, and players are encouraged to make as many plays as they can.


DEFENDER   L1 L2 L3
BARRICADES [] [] []
DEF UNITS  [] [] []
ATK UNITS  [] [] []


P L A Y I N G
-Turns are taken simultaneously with the opponent. There is the upkeep, deployment, resolution, and attack phase. All user choices are concentrated in the ‘deployment’ stage. In order, you can:
1. Choose all the cards you want to play, and what their targets are. Cards are paid with resources which refresh to the maximum (5 resources) each turn.
2. Choose your ‘assist’ card if you want to participate in assisting this turn.
-Once both players ‘lock in’ their plays in the deployment phase, the resolution phase begins and plays are resolved in order, alternating between players. The player who controls the assist resolves their first play first. Then attacking begins, and the turn repeats.
-Attacking involves the attacker attacking down his lane (L1,L2,L3). If there is a defender unit, he'll damage that and the defender will attack back. If there is no defender, he will attack the barricade. If the barricade's health is reduced to 0, it'll be destroyed. If there is no defender and no barricade, the attacker infiltrates and scores a point (and the attacker is discarded).

A S S I S T I N G
Each turn during the deployment phase, players may discard a card to the assistance battle. In resolution, the player with the HIGHER card cost wins the assist; if they are tied, the player who currently has the assist retains it. The defender always starts with assist.
Assisting has four benefits:
1. The player with assist gets the first resolution of cards in the deployment phase. This means if you have a critical play, you are essentially guaranteed to have your first card resolve uncontested.
2. If you win assist, you gain 1 Morale and 1 AP.
3. It allows you to “trash” a card, essentially a one card mulligan available each turn to help you churn through your deck and keep the pace up.

S C O R I N G
-The attacker wins the game by infiltrating three attackers.
-The defender wins by gaining points for each turn their buildings are not attacked. This may change, pending a better system.
-Players may also win if they reach maximum morale.

M O R A L E
Morale is a shared meter between both players. It will start at 0, and whenever a player gains morale their opponent loses the same amount (and vice versa). Essentially it's a "tug-of-war" between players. There’s three ‘states’ of morale: high, medium, low corresponding to specific value ranges. Morale is used as a state-base requirement for some effects (If you have high morale, this unit gets 2 ATK), can be spent for powerful abilities (Spend 2 Morale: Opposing unit is incapacitated this turn) and if you have FULL morale you win the game. Thus, morale management is extremely important.

Two ways to gain morale:
2. If you win the assist conflict, you gain 1 Morale
3. Cards effects will sometimes award Morale

C A R D T Y P E S
Unit – your bread and butter ‘creature’, they have ATK/HLT with persistent damage (that is damage doesn't disappear at the end of the turn like in MTG). If DMG = HLT the unit is killed. This makes it VERY apparent if healing will have an effect and state base things that add health are more clear. They also have deployment timers before they're deployed. Each unit loses 1 deployment counter per upkeep. When you play a unit, it’ll be “inactive” (can't attack or be attacked) until the deployment timer reaches zero.
Tactics – They cost resources and their effects are seen immediately. Often used for quick, favorable board state changes.
Generals - Both players have a general. Generals gain 1AP at the beginning of the turn, and any unspent resources at the end of the turn are turned into AP for the general. They can use that AP to enter play and can turn the tide of the game. Generals also dictate what factions you can use in your deck and how many "faction points" you have to spend during deck construction to play off-faction cards.


Unit next time,
-J

Monday, August 12, 2013

More Updates

SO, last weekend my computer crapped out. If it turns out to be my harddrive, then this project is toast and while I want to say I am absolutely starting it back up, there's MONTHS of work to be redone -- I bought an external on Wednesday to back everything up now that I was convinced this project was worth pursuing, UPS came thursday to leave a signature paper, friday someone stole the package, and saturday my computer died. Such is life.

HOWEVER, I have reason to believe it's my motherboard at the moment, which while a huge setback in terms of getting a new one etc is a pain in the ass, once I'm back up and running things will continue to go.

IN THE MEANTIME, I'll continue to post little story snippets that I think up and write like the last post.

ALSO, I think I'm dropping the distortions. They're an awkward card, in my limited playtesting they proved more of an annoyance and source of confusion then a useful and fun tool. I also want to introduce some sort of 'hero'. Without it being so cliche. The hero will have useable abilities that will have big effects on the game, sort of the focal point of the deck and a stone to build on. I think I did a blog about how important it is to give someone options, but not so open that they are paralyzed just trying to come up with an initial direction. It helps a lot, as a player both experienced and inexperienced, to say "hey you can go anywhere, but start walking straight ahead and see where it takes you". The second big use is to tie two big loose ends: I want him to gain points for each unused resource, as well as points for advantage battles. Right now they seem very lackluster, and I want when you lose that advantage to be like "goddamn I needed that". I thought about giving an additional resource on the following turn, but it seemed a bit much so this might be a good alternative.

TRANSITIONAL PHRASE, I'll be updating again soon with more info as it comes. In the mean time keep your seatbelts tight and ready to rock

-J