Thursday, May 30, 2019

Collisions. Beat up a goblin.


Did the main work on attack collisions. Leads to some funny interactions when you dial the attack speed up to 11. 

No H yet but soon. Wanna make it so you can get hit and defeat the eney, then H.
http://www.mediafire.com/file/ky0yk8jgpl9cqkp/example.rar/file


Ignore weird inconsistencies in the controls, not really done with them yet.
Main thing was just getting the attacks programmed. Won't work on defending until after the first H is added, probably. Also will make it so knockback is effected by attack charge. Or at the very least damage will be. 

Friday, May 24, 2019

In the loop

Been working on main games for the most part. Not moved in completely but enough to work all the time.

Starting tomorrow I'm going to start working on the ongoing game consistently. (The plan in the beginning is around 2 days per week, main game for the rest.) Then a new version will be uploaded every 1-2 weeks.

Tomorrow I'll animate the first enemy and an H animation so that the first real update has some content, and H content can be added as game mechanics are worked on. In the beginning it will be little more than enemies spawning that you can fight.

I'm still not entirely sure what I want to do for combat. I keep flip flopping between feeling like single/double attacks with blocking and parrying are enough, and feeling like it would be dull pretty quick. With boring attacks, the game would have to be driven by the desire for loot, but the question is if that's worth sacrificing fun combat for.

I've considered a few options;

1. Say fuck it and just have more moves and animations. Just have clothing and weapons added less often but make them all high fps.

2. Switch to something like martial arts, and have faster, more creative combat and moves. Have the attack swooshes change based on "style", which would take the place of weapons.

3. Have classes of outfits with entirely different move-sets. Each class can only use it's own moves. Changing your outfit would essentially be like changing the game you're playing, and prevent committing to one, however this would make the looter style more difficult unless outfits break, or some other design cheat is used (If one class has the double swing, and another class has a shit ton of martial arts moves, people probably wouldnt ever want to use the more boring one).

4. Stick to the double hit attack, and just focus on adding simple weapons and clothing that dont add much, but have a lot of them, driving the looter/rogue-lite nature of the game.

5. Abandon the notion of looter outfits almost entirely, and have a shit ton of moves. Outfits could be limited to non-combat actions (For example if you equip a bathing suit, you only have a kick, etc)
Trouble here is choosing a main outfit. (Or 1-3, if there are at least a couple.)

Regardless, I'll go forward with the basic attack as it is, since the main goal right now is to get the H train rolling.

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.