Following release of Number+, I want to highlight some lessons learned and a new approach, tested on ground from myself that worked just fine.
About Number+
Main idea for this project was to
build a turn based puzzle game, for mobile because some friends asked
me to do it, so here we are!
I've done another mobile game for Android in the past (Catch the cat),
but if that game was an experiment, my aim here is to build, test and
deploy on google play store a free game, from beginning to the end.
Inspiration
I've been struggling on this point for some years now. At start game development (and programming in general) is overwheling. You try, something on screen is moving: so cool! But after a while (for me, but after a while some other people too I know personally and from internet), programming could be frustrating.
You can do basically everything.. so you can do nothing?
I think that is a path everyone has to follow: be overwhelmed, find a way, go over a struggle and grow as developer and more important as human being.
In
particular I've started with a simple paper&pen approach: draw a
small sketch for the game, then list all mechanics in the game. This is
an important step: just write them down, in any order, even small
details.
After this first step, just organize them in a tree,
where at root there is most important (and first thing to do!)
mechanics: display all board's tiles.
After this is simple to add them one after one, to build a guide for development.
Click so see details, in gray optionals mechanics
Another
key point is also to stay in focus: highlight mechanics that are core,
ones without them there is no game. An example is when player touch the
board: could game played without this ? No of course! But you can admit
for example that use colors for different numbers is something less
important, so not in the core list.
I think that this
lessons highlighted from Tynan in his books (adapted of cource from
project management, feature prioritization and planning!) MUST be
followed and understood from any game developer, in particular hobbist
or people that do something in spare time. If your time is limited, why
waste it in small things that are not part of the core experience?
Handle feedback and stay focused (again)
My players are awesome: so many reviews, plays and more in general feedback on email, whatsup etc.. Stay organized here is the most important thing.
My solution here is to create a simple spreadsheet and record every interaction with all of my players, after release 1.0.
This leads on two important conclusions:
players like the game
some players need a tutorial
So instead of rushing and add new mechanics is simply stayed still an fix some bugs and add tutorial. This open up a new consideration: have a plan, but listen to people use your game or product!
A crucial lesson to learn as first as possible, if you want another people beside you use your game!
Conclusions
If you don't have too much time, but you want to do something, remember these things:
seek for inspiration, but don't waste too much time: act!
define a scope: limited is better
design your experience mechanics/features: don't overthink! Write them down, don't dream.
prioritize: use a tree as we seen to find a roadmap to follow
ask feedback and listen: listen, don't do your thing only
iterate and know when to stop: you decided scope, right ?
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.5:
- fix bugs on user interface
- enhanced and corrected text from Rowan
- new build system, with all resources included and two separate build, one for windows (.exe file) and one for linux/mac (.jarfile)
In this release I have solved some problems reported on running the game, more specifically on windows. This time there is an executable (.exe file) for windows and a .jar file for linux or mac. I have also included all resources inside the archive, so any problem related to not able to load external resources will be solved! I have to say thanks to Rowan for his support on enhance game's text fixing typos and more in general grammar. I'm sure with your evocative words now game could be even more interesting and fun! Thanks!
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!
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!
Today I'd like to talk an "old game" ( from 2012 !!).
After many years I've found some time to play it, enjoy it and more importantly I'm able to write about it.
Far Cry 3 is an open world first person shooter. Player can see the beautiful jungle islands from his/her own eyes and run around, doing missions, killing people and try to survive!
From the start, as usual, you have few weapons, but more mission you complete, more your arsenal become powerful, more skills you are able to unlock and more deadly you are.
But I don't want to review this title from the fps perspective, because even if the shooting part is spectacular, the little touches are what I really appreciate about this title.
Immediately you are free. You can take any mission, from the "story part" or from the "open world part". You can drive, swim, run, sneak around stealing and exploring. Finding artifacts and get experience is the key to unlock new way to kill, but also to run for more time, to swim more, even to drive with more ease and get less damage from your enemies.
You are also free to explore. You can go everywhere on the first island. You don't care about the main mission? Cool, forget about it. Focus on explore and unlock "radio towers" and get informations about island.
The most enjoyable and yet not fully explored "gameplay idea" in Far Cry 3 are the enemies bases. They are everywhere on the island and you can "conquer them" killing all the guards and after that the "good boys" are the new guards and you have a nice base where you can sleep and get ammos.
Why not fully explored ? Because even if you conquer all the enemies bases, nothing change. There is no end on the war on island .. only the ending of the main quest end the war.. and this is a waste of potential on that side.
Imagine a game where two, or more, factions are fighting each other for supremacy and the player can be the tip of the balance.
What do you think about this amazing game? Or more in general what do you think about open world games ?
Design a videogame is not a easy task. Even if you are involved in a big AAA title, or a simple 7DRL or a Ludum dare 48 hours challenge, you have to think about your design.
I like this kind of small blog posts, because in few word can help to see a problem on a different angle. From my point of view, you can see that many, many successful games have a lot of contradictory choices.
Take for example an RTS like Starcraft 2. As a player, you have to decide if you want to spend your resources build an army now, or expand into a new base, or create new building. These are all contradictory choices, constrained by the amount of resources player has and the time. Of course at the same time, player has to keep in mind what the other player/players are doing!
Disclaimer: I'm not original creator of Gravity Duck concept, you can find original here, purpose of this test is make a tribute to a great puzzle platform game!
So let's begin: use arrows to move duck and X to inverse gravity
Why develop this game? Because I love platformers and puzzle games and Gravity Duck is a perfect example of both. As indie developer it's a good exercise: develop my graphical (yeah, even animations!), level design and programming skills is awesome!
Duck loves eggs, you know...
So let me know what do you think and remember this is just a test build, not final game!
Features:
an awesome puzzle platfomer game involving change of gravity,
15 levels of fun!
enemies and strange devices.. you should soon explore new surfaces to run,
I've found really interesting this post about game design on rampant games, discuss about choices in videogames. In comments I've found good point on not good or evil choices but gray choices, because truth cannot be on only one side, so thinking about quest system I realize point is about choices. So many games today give you so limited choices, mine too of course! Player is always in one path and all can do is follow my direction as game/level designer.
What do you think about open game systems and small choices?
Imagine a world like this: you have an idea and istantly this idea come into pieces in front of you, on your screen. Mind-reading? Maybe. But in this blog I want to discuss something important in many ways: how to do not waste time? How to let your time to be important, productive and more more important, get videogames done? Videogames is just an example, for sure, but I think is something we can understand: you must have one intuition for your gameplay, maybe some images moving on screen and some level of interaction. But many times I've been around with ideas.. but no real example on screen. This kind of activity is named prototyping and in important in many works even in hobby videogame-making. So when I've read this article, my mind starts to thinking: "find the fun as quick as possible", wow, this is important, really. Many hours wasted to understand low level engines, when most important in a videogame is gameplay: I can't simply have a professional graphic on my side, so my games can only (after few examples of just copy well established gameplay) innovate, try to find new mechanics and/or fun. So my idea is: create quick example of little mechanics, try to fix bugs on code and then merge together to make a bigger game. Pretty fun, yeah? But where to start? From scratch! Don't make so much sense, right?
My idea is to have some little example of strange mechanics: like jump/jump higher and higher, speed, orbit around a point and so on.
A really good game, with interesting mechanics: Jump, Copy, Paste. You control with keyboard a guy, in a classic platform game: jump, avoid enemy/spikes and so on. But with mouse you can copy and then paste objects (enemies, blocks, void) on screen, changing level layout. Objective ? As always open the door collecting dots and move to next level. Graphics do a good job and music is sometimes too intrusive.. but all is forgotten when you play a level. Find right way to solve a level is fun, also search for new approach for mechanics are at first simple and then are really deep. A good job and example how to expand concept of platformer using a simple idea. I'm imaging how to expand this concept to the limit :D
War and peace is a game about choices, in fact one. In this one button game, you decide how to research in your civilization: war or peaceful technologies? Fast to play, good to see (graphics doesn't matter here!) and must-play for everyone interested in gameplay analysis and mechanics. Achieve all three ends is not so simple, but is rewarding!
Here small "interview" with Stéphane Bura, creator of War and Peace (thanks Stéphane):
Me: what is story behind this game? how do you design it ? what type of challenges behind it?
Stéphane: I developed War and Peace for the One-Button Gameplay Gamma 4 competition. I wanted to make a game in which pressing a button had a maximal amount of meaning and consequences. The hardest part was coming up with the variables (Growth, Research and Power) and their effects. I wanted to be as faithful to Civilization as I could, while still making the game as simple as possible. Surprisingly, I was lucky enough to come up with numerical values for the various prices and behavior triggers that produced an interesting experience right from the start, so very little tweaking was needed.
From "Chris Avellone Blog" (Creative Director (and Lead Designer on our Alpha Protocol CIA RPG) here at Obsidian Entertainment.)
" ONE FINAL QUESTION. Do you have some tips and tricks to new game designers (people who already are one)? What "traps" they should avoid and what do you want them to focus on?
Document all you can in case you're hit by a bus but don't make them so exhaustive that no one ever reads them - keep it to bulletpoints, streamline it, use mock-ups, and if a particular design runs more than 3 pages, consider fragmenting it into its own document to ease reading. Details matter. Learn scripting, make attempts to understand the tools and pipelines of other departments. Don't just play other games to get ideas - read books, graphic novels, history, non-fiction, and expose yourself to a variety of media to round out your design ideas. Learn to recognize design clichés. Play with game tools and game editors across all genres. Resist the urge to re-design the wheel - if the wheel works well, just use it and then build new content on top of it (this especially applies to genre-specific interfaces). Prioritize your work and recognize that it's unlikely that everything you design will get into the game, so be considerate and manage your scope. Ask for critiques of your work frequently and often if you're not already getting it. The sooner you can play a design, the better, so learn to prototype (it doesn't matter what engine you do it in, if you do it in Flash, or whatever). This could go on forever, but that's the short of it. "
and
" b) Also, what makes a good character?
Consistent, believable motivation and a believable personal agenda. A tie to the game's theme either to reinforce it or as a sounding board for exploring a different perspective on the game theme. An emotional tie to the player (either hate, envy, love, friendship, respect) and reacts appropriately to the player character's actions. Proper casting of a voice actor or, if text only, insuring that the right writer is assigned to developing that character because they understand it (some narrative designers can't write sociopaths, do reverse gender romances, or commit to doing a goodie-two-shoes character). For a computer game, I feel it's also essential that the player understand the purpose of the character and that the character fulfills that role in the game mechanics and the world (for example, companions in F2 needed to be an asset in and out of combat, which I learned in Fallout 2 - Cassidy was much more valuable and appreciated than Myron). "
This man help to do Torment, Kotor2 and now it's working on Alpha Protocol: there something else to say?
In these days i'm playing with Risen and i'm thinking: how much help player during his play? After a error, a npc attack me and i killed it: not so surprising in this kind of game. When i see on his objects i've found a "Don Esteban's mother pendant" (Don Esteban is an important npc): i went to Don Esteban and a new dialog option is showed to me, with a +150xp.
Good thing, rewarding and surprising, because there wasn't no quest in quest log and no mention to this lost pendant.
How much to you feel with these surprising, little thing in games?
Main idea is to open a collaborative-platformer-design to everyone wants to partecipate. After some toughts (and great comments by Giovanni, thanks a lot!), i'll start this collaborative effort.
Using Mind42, a powerful mindmap editor (i'll open editing to everyone wants to partecipate) i'll try to design a platformer.. with YOUR help :D
So let's start, this is first version:
If you want to partecipate, please let me know an email, so i can give you an invitation!