Sunday, May 12, 2019

Attack stuff

Moved in to the new place,
I have my desk set up, so I'm back to work.

Was messing with a new weapon today, and seeing what could be done with the swoosh effect in code.

If it's slow, It's possible that elements like the speed of the swoosh and it's coded movement could be tied to a stat or skill.

Top: fast swoosh.
Middle: Slow swoosh with partial X movement
Bottom: Slow swoosh with extreme X movement.



(Note, the player movement is the same in each, only the swoosh effect is different)

Only problem with making it a stat is that it can't really be applied to every weapon to the same effect. For example in this animation, the second swing can't move forward, otherwise it looks weird. Instead it has to move backwards.

This can be fixed somewhat by giving the swoosh an offset , however this would be a bit difficult to make automatic, since the offset depends on the speed, and the size of the actual swoosh effect.

I probably won't utilize it as a stat. Instead I'll probably just settle for using it on certain weapons to make them more distinct from one another, and to add a bit of smoothness to normal animations, like in the second image.

The speed of the swing could also technically be affected by a stat or modifier, since the slower the animation, the longer it stays out and is active. Though being out longer also means that it doesn't hit in front of you as fast. Maybe it could be something like stances you can switch between. (Not visual in the idle though, since that would be a lot of work.)

Anyhow, will get back to work on main games tomorrow.
Next time I work on the ongoing game I'll be working on the first enemy.















Monday, May 6, 2019

Ongoing game world stuff.


One day till internet..forgot about phone data tethering so using that now.

Anyhow.

Been thinking about how the world will work in the ongoing game. Before a lot of the randomized rogue-lite stuff is added, I think it's important to have a world that is dynamic and changes in interesting ways to begin with.

Initially I figured it would boil down to things like

-There are orcs
-There are bug enemies
-There are trees
-Orcs cut down trees
-Bugs lay eggs in trees, so attack orcs.
etc

Because the game will not be a huge single screen, it will more likely be more akin to a boardgame with spaces. Each entity is like a piece that moves each turn (every time you sleep). So for example when the day begins, if orcs and bugs are on the same space, highlighting the space would show that they are fighting. Upon entering the space yourself, the game would read what pieces are in the space (be they resources, or enemies), place them in the screen based on what they're doing, and then the player's actions dictate the outcome of that action.

So for example if a space with orcs says "cutting down a tree", if the player does nothing, the next day this action will complete. If there's another entity that conflicts with this, it may not. Basically, every "piece" would be more like a group, and they would have very specific roles.

Then I started thinking about individual interactions. For example, lets say there's a large monster you can't beat. If you take away 25% HP, what happens? Does it just come back the next day? Instead, I think it would be better if the game keeps track. Monster is hungry > seeks out food. Monster is low HP > avoids other entities. This would make it a bit easier to have dynamic interactions that don't rely on a very specific rock-paper-scissors setup. For example, orcs may have a higher chance of being drawn to trees, but how much can vary. This would make dynamic interactions easier because behavior would still be possible to learn, yet the chaos caused by individual variance would prevent a status quo from going on forever. 5 Orcs may go to the same tree tile, but 1 of them may prefer lakes, so it goes a different way.

The other advantage is that the player could drive interactions between entities. Entities could be made passive by giving them items and befriending them, befriended entities could fight or befriend each other (or fuc). Whether the player fights everything or tries to befriend everything, the movement and introduction of new entities should throw a wrench into any plan. In the background entities will always be killing each other, moving, etc, and the player cant be everywhere at once.

Keeping track of stats should be fairly easy, since every time an entity is created it would be assigned a number (which other entities use to refer to it). An entity's stats would then just be lists; for example love would be a list of 6 values if there are 6 entities.

5
10
3
12
5
2

Where the index is the entity number, and the value is the value of the stat. An interaction would go something like:

entity 0 see's entity 1 (decide on action)
entity 1 is fighting (entity 6)
love stat 1 is (5) love stat 6 is (2)
attack (entity 1)

There would be a lot more calculating to do when deciding what an entity does in a turn (since every entity has to do stuff), however because everything would only happen when you sleep, it could be done without worrying about the game being slowed down to a crawl.

Anyhow, enough babbling for now.



Sunday, April 28, 2019

Control test 2

Second control test testing double swing.
Test 2

In general, if something looks wonky, you can assume it wont be that way in the actual game.

Speed would change based on the weapon, but there would also be ways of speeding up attacks with abilities or items since it's done in code.

Still not sure which I'll go with between this and the single swing. Haven't animated jumping variation yet. Also made it so blocking is faster when done during an attack so that parrying and the like will be possible.


Anyhow, will be moving in a day or two now. Will be glad to have the whole thing over with.

Tuesday, April 23, 2019

Control test

There's no gameplay yet, but because I said I'd update the game before it's in a "complete" form, I figure I may as well let you guys test the controls as they progress.

The control test can be downloaded here

I ended up going back to a single swing attack, added blocking, as well as a back and forward dash.
I'm still thinking about what the default controls will be, since there will also be

- Spells
- Picking up and throwing objects.

I could technically do away with the back dash entirely if I feel like it's a waste of a button. Forward dashing could technically fill all the same roles, although double-tap dashing back and then attacking forward would be more difficult than backdashing and attacking.

Alternatively, the back dash could be done by pressing down + a direction, and blocking could ignore facing direction, but if anything I think that might feel off.

Life stuff

Medical procedure went okay so health is better for now.

Will be moving in a few days. Once I've moved in to the new place I'll go back to working on my current main project, with the ongoing one on the side. In the past few days I've been doing stuff here and there for the ongoing game between moving stuff since it's mostly quick and easy stuff, in the beginning.