A double header with this post, as I promised a little look into my Task generation and it happens to be June 1st!
On March 11th I announced The Plan which was a period of prototyping and experimenting to find The Game, an ideal project for me to submit to IGF 2016; the deadline of which is in October. Two and a half months has flown by and a lot has happened;
- Bard Life was cancelled
- Ludum Dare 32 happened
- Project BR was started
- Project Grid Optimizer was started
- Project P4AX was started
- Project Ventura was started
With each of these projects I took anywhere from a tip toe to a full on nose dive into development. The goal was to be able to assess each of these projects and then lock one down as The Game by 1st June.
1st June has come and G-Day is here, so what is the project?
I’ll get into some details about why I picked Ventura over the others at the end of the week, but for the next 6 days I’ll have weekday update ‘Greenlight’ posts about what went right, what went wrong, and why I rejected all the other projects.
So what happens to The Plan now? Well Ventura is locked in, it’s getting made… it’s getting made for the end of October. No excuses, no changing my mind. It’s happening. The extent of how far I will get into the project by IGF submission day is something we’ll discuss over the coming weeks, but my basic goal is to have it fully functioning (perhaps without pretty art) by that point.
Ventura Day 10
Last time we talked about my first steps into the Task generation system. This is the lynchpin of Ventura’s whole design. City States will request things of the players in-game, what those things are is down to the Task Generation system.
- It all starts with a Task Type, this is the ‘Raid’, ‘Rescue’, ‘Extort’, and ‘Scout’ in the UI above. This is the general behaviour that the player has to perform to complete the Task. I currently have 12 of these types planned, which should create a ton of variety between all the Tasks.
- When a City decides to generate a Task, it picks the Task Type. As I develop the game, I want Civilization V-esque personalities for the Cities… which adds a little predictability and flavour to each location. At the moment, there’s a basic dice roll to pick the Task
- When the Task Type is generated it has to run its own unique script to determine which Objectives are needed to complete it. In my prototype, I have the ‘Rescue’ task implemented. This task is themed as the city having a respected noble kidnapped by bandits.
- The Rescue Task needs a location on the map that players can visit, a battle that they can fight, and then it has a completion behaviour which determines if the player needs to return to the City to claim their rewards or if the Task is complete as soon as the battle is over.
- The Location for the task is based on the specific Task Type. Rescue Tasks will specify either an Industrial area (i.e. a Mine, Farm, Workshop) or a Dungeon (i.e. Abandoned castle, spooky forest). When Rescue has been decided as the Task Type, it then adds every possible Location into a list. From that list it picks an object and places the Task Behaviour inside.
- When a player interacts with a Task Location, it will perform the Task Behaviour.
- Most Task Types involve a battle for players to fight. In the Rescue Task Type, players must fight a single battle to release the prisoner. Once the Location is set, the system then generates a battle.
- Battles can have up to 8 enemy units inside. The specific units picked for battle is based on the theme of the Location (a Mine will be based around a Bandit fight, a Dungeon around a Monster fight) and the difficulty of the engagement. This difficulty is based on the original city’s task creation.
- The Battle Generation looks at the objective location, taking its theme. It then looks at the city, taking its difficulty. It mashes those 2 together and then randomly picks from various hand-crafted configurations of unit types.
This is what I have done so far. The plan is for the unit types to then be placed in the Battle scenario based on various terrain features of the Location. Once that’s done, there’s a whole Combat System I haven’t built yet so this is all groundwork!
Day 10 GSD
A lot of work has gone into the Task Generation, as you can see from the screen above, and I’ve expanded out the GSD to help track the holistic functionality of the feature;
As you can see, there is a lot of green! Basic game functionality is very much in progress. The next big thing is to start speccing out the Combat System. That will be large… very large.
There’s no turning back now!