Friday, July 20, 2018

Infiltration 0.0.4 - living cities

0 commenti
In last months I have started a new project (some info on bay12 forums), called Infiltration, and my vision is:


a turn based single player asymmetric game where player take control of an agent and manipulate actors and organizations to obtain victory






You are not dead, you are not living.. yet.
Aeons ago, in a time before mith, your enemies sigil you in a realm far from reality. Weakened and far from your power, your will simply.. disappear.
One echo, from time to time, hit your dreams. Something called humanity is playing with arcane power and forgotten knowledge, part of you.
You simply awaken and take a look into the world. These "humans" will serve you as puppets in your quest to become powerful, again.
You can see a preview of current status of the game in this video:



In version 0.0.4:

- living cities simulation: now characters can solve quests, acquire followers, get power and fight other characters for city control
- city panel show character fight on districts
- character panel now display number of followers, money and influence values
- console panel display all little details about living cites simulation
- many little fix on user interface, now more stable!


And some screenshot for updated interface

Now a city have districts, ultimate goal for characters

characters will use money, followers and influence to solve quests and fight for districts



My plan for this release was to integrate city simulation (more here) into game and I'm really satisfied for the result. Now cities are more alive, with characters acquiring resources, fighting for districts control and player manipulate them in the shadows.


Let's play and let me know what do you think, where I can improve to make it more fun!

Thursday, July 5, 2018

Infiltration game mechanics

0 commenti
TLTR: I was on vacation and doing some work at home, but I'm back on design side for this experience, after reading an amazing book.


Last month was a little bit "strange": first work at home, then I was on vacations (yahoo!).
So I had a lot of time relaxing, thinking and reading a book about game design. I've read some books in topic during years and found them a little bit too much abstract or too much in a specific "angle" to be useful. This time, however, I found a nice mix, in Designing Games: A Guide to Engineering Experiences, by Tynan Sylvester.


In my first post on this thread, I've put in a single line my vision for this project as follow:

"a turn based single player asymmetric game where player take control of an agent and manipulate actors and organizations to obtain victory"

(sorry for my English btw!)

and I need to focus more this vision to answer two simple questions:

1) which mechanics my game does it have ?
2) what are the core mechanics?

After think a little bit, I'm trying this "design exercise" and I'm thinking could be valuable to anyone want to start and build a game.. so let's start:


Mechanics

To formalize and think on the right track, I want to write down what is a mechanics (see https://en.wikipedia.org/wiki/Game_mechanics for some reference about this huge topics): "a set of rules designed for interactions on game state" and more important an emphasis on "mechanics is the way game create events" and events are what players wants.

A reasoned list for my Infiltration test could be:

poi = point of interest in the map
characters = not playable characters, agents, etc..
challenges= contest between characters statistic or environment


- characters can move between different pois: characters interactions could be during travel or in pois and found new hidden poi
- characters gain experience, levels and tags: winning challenges, found hidden pois, solving quests will provide experience and on each level unlock tags. Like in promised feature on TWS, characters can reason on tags presence (for example hate an archimage? love a warrior full of scars?). Base statistics will be also increased and characters will be more powerful and able to solve more difficult challenges and quests
- characters can solve quests thought challenges: solve a quest could provide effect also in a poi, for example, raid merchant guild could provoke panic on a poi
- specific triggers in pois unlock new quests: some specific events (killed character, solved quest, character with specific tag) could trigger new quests in a poi
- player corrupt characters and force them to do what he want, leaving clues around: player can move to a specific poi, to a specific quest or challenge, to get a specific bonus and broke sigils and win
- organizations give bonuses to characters : organizations can give new tags or bonuses to organization's characters
- organizations could make war/peace with other organizations: events, quests, challenges can change organization's view on other organizations and trigger war or peace, so organization's member start to fight
- player can grow ancient one in power and unlock new abilities: new abilities can create quests, triggers or give tags to characters, or event create poi
- characters can follow clues and uncover player presence: corrupted characters can find and hide these clues and characters can unlock a "clue quest" and reason on clues, make a challenge and increase "ancient one awarness" in the world

During this writing I've realized that many ideas are already put into my prototype, but also mixed together, so it's hard to change a part of the software without move everything  My bad about this!


Core mechanics

Core mechanics are important because will provide the foundation for the game. An example I've found on the book is for Starcraft 2: core mechanics here is to control scv, build a barracks, train marines and kill enemies. All other units, mechanics, etc.. are build on top of that.
For my game the most important think is for the player:

   player corrupt characters and force them to do what he want, leaving clues around
  
But is the core mechanic? I've found this question hard to answer, because if you think to build a house, this seems to be like a nice door for the player, not foundation to build on it.
So I've tried to build them in order, trying to visualize dependencies between them:



In this diagram what I need to see are dependencies (thanks Tynan Sylvester!) between mechanics. I have mixed up a little bit mechanics with "general concept", like "game world" but I think this should display how this kind of prototype should be made: from bottom to top, for example:

1) corrupt a character without any character available is not possible
2) organizations are mostly independent from what characters do or even from ancient one
3) poi triggers does not involve organizations diplomacy

In green you can see what it's already implemented so far.

Looking at this diagram, my choose for core mechanics are the following:

1) game world / character definition / character action
2) characters move between pois, following internal logic
3) character solve quests
4) ancient one / player action / corrupt characters: now player can move a character to a poi and solve quests

These mechanics are the foundation for the game, what do you think ?


So my next steps are:

1) answer these design questions
2) work on core mechanics, don't waste time on other stuff for next release

Wednesday, May 9, 2018

Infiltration: next steps

0 commenti
You can try Infiltration for free on itch.io!




You are not dead, you are not living.. yet.
Aeons ago, in a time before mith, your enemies sigil you in a realm far from reality. Weakened and far from your power, your will simply.. disappear.
One echo, from time to time, hit your dreams. Something called humanity is playing with arcane power and forgotten knowledge, part of you.
You simply awaken and take a look into the world. These "humans" will serve you as puppets in your quest to become powerful, again.
This time I've made a video to show my progress on game so far:




TLTR: after polishing up ui, my plan is to improve underlying simulation


0.0.3 release and how to simulate a city

My hopes is someone is following this sort of "dev diary", but like my previous entries, is not something I'm doing for others, but for myself, in order to clarify project's roadmap and be open as most as possible.

For release 0.0.3 my aim was to create a smaller release (in scope and time) with fewer new features, but important from player perspective. So I've included automatic turn passing with active pause, something like Paradox games like Europa Universalis IV or Stellaris. This feature was requested from a player and after some considerations, I've found reasonable. Prototype does not change too much in term of "feel" and a player can pause at any time. Of course any event will stop time, so player can evaluate events. In the future it's possible to elaborate this pause and let player decide events categories (for example: block turn passing only when there is a rebellion in a city).

I've also added characters portraits (not made by me, found on opengameart.org) for every character classes and I think that feel of the game is now more in line with my vision, so player can simpatize (or hate) a particular character. Sure adding a personalized (or even generated) portrait for every actor in the game for now is out of scope, but is something that can add a lot from player perspective. Imagine for example that player manipulation force an actor to complete a quest, but increase madness a lot. Portrait can display this change with more crazy expression. Something for far future!

Also with a simple introduction for the game (with an icon to reacall at any time) should be more clear what this prototype is about, let me know what do you think about this too! In term of gameplay there is not too much to do, so for now game should be easy after some runs.


Prototype for a prototype


Meanwhile I'm working on improve city internal simulation. It's a big topic, I know, so in this few words I will explain the main idea and why I choose this approach.

First of all, main idea:  infiltration Test is a prototype so goal here is always to do something simple (from my point of view, at first!). Complexity will come with time, so I don't really need to rush on this side for now. Another important goal is to create a world that player can manipulate. For sure a world with some kind of internal simulation is more interesting than a static world, where player on different runs can simply do always the same thing. I've think a lot on this and found a lot of interesting an inspiring examples around, first of all, Dwarf Fortress. On surface DF is a lot about randomness, with many layers of simulation (historical, geological, etc..) that together give us a lot of re playability. DF is just an inspiration for me, but it's also interesting to find that many players found this kind of interactive medium interesting and stimulating.

Let's go back to topic of this article! In present release, npc just react to player actions and context variables, but I want more.. and not too much. Imagine a board game where npc compete for city power and where player can from outside of this "board game", manipulate them. My process was a lot iterative, on following steps:

1) create a small board-game prototype (created with card and paper, a prototype for a prototype!)
2) testing
3) from board game to program

Go deeper on these three steps..


Board game prototype
I've played a lot of board game (Risk, Catan, Carcassone, 7 wonders, etc.. ) and I can say I have a precise "feel" of what I want. But how to start create a board game that creates interesting interactions?
My research started from youtube, with some random board games reviews and thoughts on games I've played. For this prototype I don't need a war game or a complex card game, but something simple.
So I started analysing also games I love, like Starcraft (1&2): what kind of resources players manipulate? How these interactions create balance between players?
So i started with a simple consideration: npc need money. Money is a simple concept to track and explain. So every npc start with an amount of money. Using this resource, they can obtain another resource: followers. Followers will be used to attack/defend from other npcs. For me this is really important, because create an auto-balance on which kind of actions npc can do: "can I attack another npc?" or "is better use my followers to do something else" ?
Of course npcs doesn't have these thoughts, but player yes. So if an hypothetical player watches game, can see on top of cold numbers a logic something else, with his imagination. Something powerful and inspired from Hearthstone streaming where during opponent's turn, often host streamer make comments on possible actions, outcomes and so on.
Followers can be used from npc also to complete quests. A quest is generated by world on start of simulation, like a deck of cards to complete, to get more resources. Don't forget quests, because this is the entry point for Infiltration player (you): quests can be created by player and will have side effects that npcs cannot evaluate on start and give player more power for later stages. I will go back on this for sure, don't panic!
So a quest is a mechanics to tell a story. Many games has this mechanics, that provide a lot of useful side effects:

- balance: a quest has one or more pre-requisite, so it's easy to provide some entry-level quest (like "Kill all bandits in the forest", require 5 followers)
- tell a story: a quest with a minimum of description (together with a common lore) can create a meta-story that again player can improve with his imagination, "filling gaps" between quests. For example from previous quest, when you read bandits and know that you are in a fantasy settings, you have can have a lot of examples in mind. Cheap trick? Maybe, but it's fun for me to think about these tricks!
- outcomes: solve a quest can give npc rewards in terms of money, follower or another resource: influence (see more later)
- easy to implement: create a quest is really simple, because with some templates (quest cost 1, obtain reward 1, quest cost 4, obtain reward 4) can be created quickly and balanced again quickly. This comes from Magic the gathering, where a creature that has attack 5 and defence 5, usually cost 5, so 5+5=5, more or less (I know that is no more true from a long time!)

So for this prototype I've created a "deck" or "list" of available quests. Every turn, npc can evaluate if a quest if solvable (prerequisites are met) and do it.
With reward in terms of influence points, npc unlock another core "action": compete for district.

I've said before a little about district, but think about them like a "poi" in a city. Castle, Cathedral, market, port, underground. These "point of interests" are main goal for npc, that fight using followers one against other to conquer them.
There is some randomness here, because of a dice roll involved, but is not so important right now.

So far the "loop" for a npc:

1) every turn, get money
2) acquire more followers if possible
3) solve a quest if possible and get influence points
4) using influence point acquire a district of fight using followers


Test board game prototype

After a first prototype on paper I realized that order must be inverse, because I need that every npc made at max one action for turn, so the correct loop is:

1) using influence point acquire a district of fight using followers
2) solve a quest if possible and get influence points
3) acquire more followers if possible
4) every turn, get money

But an npc can win the game? For now yes and no. It depends on how good dice rolls are and there is not too much "tactic" or "strategic thinking" involved. This is good! From an human point of view this is boring, but from an actor (programmed by me) it's fine.
Think about it: you don't need an AI to create some movement in a city, you need only a little bit of randomness (not too much) and some basic rules and actions. Interaction between these elements is the key!

So after two plays of this game, I've found a lot difficult to follow every npc stats (money/followers/influence), quests (done/todo), etc..
So I quickly iterate in a computer prototype (separate from infiltration test). I would stress a point here: create a prototype on paper and go AFTER to programming side of things is a huge plus for me. Many mistakes are easily spotted on paper and computer programs can create a lot of simulations quickly, more and more quickly that is impressive! I've runs of 500 turns with npcs that still compete for victory.. so I'm on right way to create what I need for infiltration test.


From board game to program


This little journey is almost on it's end.
What I miss? An example is content: with program it's possible to create (not procedurally create, just create) quickly a lot of quests, npcs and different kind of districts to work on simulation, again a good point!
But in order to optimize my time, I've made a command line game, not something with a gui. It's a choice dictated by a simple consideration: I'm the only one that will see this prototype in the prototype. You as player will see all this integrated to infiltration and without all debug informations floating around.
All was nice until I notice that something was missing.. the player!
I've mention before player can create quests solvable by npcs, but how to track advancement for player!

So I've introduced a new resource: arcane power. This resource comes only from quests made on districts (I think you can follow the pattern here, right?) and gives npc opportunity to obtain special power/objects and .. uncover world secrets.

So we are on the end of the circle here. When a forgotten secret is uncovered, player unlock new power (create more quests? force manipulation on npcs?


Conclusion

So my plan for 0.0.4 will be to integrate my other prototype simulation into infiltration, so you will see outcome of these simulation in game.
I'm excited to see final result and your feedbacks on that, because even if limited, these interactions between npcs will create a more dynamic world, a crucial point of a game like this one.
Next step on this will be to integrate player actions and quest creation mechanics into this loop, but will be a dedicated post about that!

Thanks for reading and as always any feedback is appreciated!

Saturday, May 5, 2018

Infiltration 0.0.3

0 commenti
In last weeks I have started a new project (some info on bay12 forums), called Infiltration, and my vision is:


a turn based single player asymmetric game where player take control of an agent and manipulate actors and organizations to obtain victory





You are not dead, you are not living.. yet.
Aeons ago, in a time before mith, your enemies sigil you in a realm far from reality. Weakened and far from your power, your will simply.. disappear.
One echo, from time to time, hit your dreams. Something called humanity is playing with arcane power and forgotten knowledge, part of you.
You simply awaken and take a look into the world. These "humans" will serve you as puppets in your quest to become powerful, again.
This time I've made a video to show my progress on game so far:



In version 0.0.3:

    + added intro event panel
    + added automatic advancement for turns with pause
    + added power and awareness icons
    + character portraits based on roles
    + added help button

My plan for this release was to make game more accessible and using feedbacks from players I was able to add some introduction to the game with help screen and the automatic turn advancement.

As always I'm happy to receive any feedback, so feel free to share your thoughts !

See on next update!

Monday, April 23, 2018

Infiltration 0.0.2

0 commenti
In last weeks I have started a new project (some info on bay12 forums), called Infiltration, and my vision is:


a turn based single player asymmetric game where player take control of an agent and manipulate actors and organizations to obtain victory





You are not dead, you are not living.. yet.
Aeons ago, in a time before mith, your enemies sigil you in a realm far from reality. Weakened and far from your power, your will simply.. disappear.
One echo, from time to time, hit your dreams. Something called humanity is playing with arcane power and forgotten knowledge, part of you.
You simply awaken and take a look into the world. These "humans" will serve you as puppets in your quest to become powerful, again.
In version 0.0.2:

  • added recruitment system: if a poi has less than 3 character, there is a 2% of chance every turn that 
  • added faction system: now factions can triggered a war with other factions, guided by relations. When there is a war between factions, player action is not possible. After 10 turns, there is a small chance that factions start a peace
  • maximum character for every poi 7, random between 3 and 7
  • a lot of bugfixes!
  • notification system on left side for multiple events
  • now high madness actions has negative impact -10 on faction relations         
  • display population value on poi stats (used when rebels recruit it's army
First let me thank all people that has supported this experiment, both on forums and on itch.io ! 14 downloads, thanks guys! For a little experiment like this one, is a great result!


Let's dig a little bit in this version 0.0.2 with some screenshoots!

And start with events notification system on left side of the screen. Now when an event, triggered by player actions or from other actors, is displayed on left side for three turns and when clicked the event panel is displayed.

It's a basilar implementation, but now is more easy for player to not miss important events!

So move on faction system.Before this update, faction is just a property for characters player could manipulate. With this update, factions are an actor of the game and has relations with other factions, decide to start or stop a war. Of course player action, in particular character's actions on high madness can impact on faction's relations, so be wise when you play these actions!


And example on how relations are handled right now. I'm thinking to add a separate panel with all relations in one place, to simplify player view on factions.






An important outcome of a war between factions is that character of both factions are not available for manipulation, so be aware of that during play. It's fun from my side to plan to focus on a specific character, then move on calling on a city and.. a ware between two factions occur! As player you have to wait and move to new targets, until war ends!

Another little detail I've missed before is to display poi population on poi panel:



In this screen I'm also highlighting rebellion value, in poi panel and remember that a city in chaos (displayed in red on map) is a perfect place to start a manipulation!

Let me know what do you think of this prototype in comments sections!