Showing posts with label Game Design. Show all posts
Showing posts with label Game Design. Show all posts

Saturday, August 31, 2024

Secret Keep: Technology is done, Prototype is done, now ready for Pre-Production!

I've been working on Secret Keep for a long time now, and I've now got all the major technical systems in place!

I've just put in a funding application with the aim to get funding for Pre-Production, allowing me to bring on a few artists and a narrative designer, to start working together on the the overall story, who our protagonist is, the intriguing and inspiring environments we will travel to, and the creatures and peoples we will meet along the way!

Here's a video showing where the prototype is at, and also discussing some of the new design elements I've been tackling, specifically looking into location maps and modular structures.

I'm really excited to be at this stage now.  Creating all the tech for the game took a lot of work, and forced me to learn a heap of new technologies and ways of thinking.  It feels great to now be at the point of bringing together a team to create the game itself.


Thursday, February 23, 2023

SECRET KEEP - Designing the Scenario System

I spent rather a lot of time just trying to tackle the whole nature of how to present the story, the scenario, the missions, etc.  I thought I'd make a post just about that, as it's been the cause of a long absense from actual hands-on coding in the project!...

Q: How does the player choose missions?  

Q: How do they get a sense of where they are "up to" in the story, or in the world?

Q: How is progress shown and measured?

Q: What's your relationship with each faction?

Q: Is there a world map, and where are you on it?  Is it literal, or abstract?

There are honestly tons of questions, and I've just dabbled so far, and I really don't know the final answers to most of these things!

But it has helped me in thinking about how the Scenario System needs to work, both in the backend, and how it needs to come forward and present to the player in the front end.

I thought I'd post a bunch of my sketches and scribbles along the way, mainly so I can look back on them here and remind myself of my ideas and ruminations!  :D


This was the old Mission Select Screen.  Overall, I don't like it much!

And in reality, most of it was just a mockup of text and images, and didn't actually DO anything.  The different missions themselves didn't even do anything, but loaded into a random "blank" level.  

But I do kinda like how it shows some broader context, like your own attributes, reputations and relationships.

It was now time to actually get this thing working!  To have different missions the player can play, and also to show the world changing in response to their choices and actions.

So...  I started to churn through tons of ideas about how the story and missions could be presented to the player...  How would they choose between missions?  Would would they sense progress?  Would things be divided into "Chapters"?  How would objectives work?  What would be the different types of rewards for each mission?



I decided to make a kind of Mockup Scenario, to move things from the abstract into a specific case study.  This can generally help to think things through more clearly, with specific goals and limitations in mind.



I started to play around with how the Mission Select UI itself should be laid out.  How should the info be arranged?  How would it fit in the screen?  What sorts of Progress Bars or Mission Type Icons, or Reward Icons would make sense?



I kept playing with ideas for icons, to make things easier to understand.  

After all, in many ways "The interface IS the game".  And the player needs to understand things in a fun and intuitive way.



I started to think about the screen flow, and how it's all flow together.  I still wasn't sure whether I'd want things divided into Scenarios, then Chapters, then Mission, and how it'd all fit together.



I started to collect some fonts that were free for commercial use, that could work with the game.  I tried them out in different contexts.



I wanted to make the Mission Select screen, and have the layout make visually and logically before actually implementing it.  It turned out later, I got rid of this version, and stripped my whole Scenario Design back even further!  But this was all involved in the path moving forwards.



So I came up with this mockup of the Mission Select screen, which would indicate the player's overall progress in this Chapter.  They can select Missions from the 3 provided, each with a different Mission Type and Victory Points value.  Click on to see the details on the right hand info box.



I decided I needed a more detailed example Scenario Story example to actually think through what my needs were for how to actually tell a story, but also support branching and a "storylets" approach.  

I still needed to figure out how Chapters would work, and how I'd try to make it clear to the player what the overall story and trajectory was about, even when they just found themselves in the middle of it all!

I don't think I've actually figured these things out yet, in reality!  But this is all part of the process to getting there.



I find I need a good big bench space when working on these sorts of things!  Need to cross-reference and cross-correlate all my notes!



Trying to define the range of mission types I want to support.



Thinking about pacing of the chapters, how many missions are in each.

What would give a good feeling to an overall story arc?



What if mission objectives were more like "Bingo", where you have a range of objectives, and need to tick them all off, in any order?  

This is how Thief: The Dark Project works.  You can have numerous objectives, and tick them off as you get to them.  I like this format.  This led to more like what I've ended up with, down the track a way.



I realised I'd sort of lost track of my prior convictions and ideas, which was to have a more broad "Library of Missions".  A database of missions that can "come to the surface" as the player acts through the game.  

I realised that my current design thinking was perhaps a bit too rail-roaded, a bit too specific and kind of fragmented.  Not open enough.  Not general enough.

I realised I actually needed to get simpler and more atomic, in order to make it more versatile and more powerful.



I also took a beat to think about the player, and their ultimate perspectives.  

Why are they buying the game?  What do they want to get out of it?

What are their criteria for happiness and satisfaction with the game, and with the story and the missions?

What is their experience of getting the game, and going through the main scenario, and also perhaps delving into user made content, or even making some themselves?

What kind of value do I need to provide?



Thinking about what makes up a cool campaign.  

What would I expect from the main campaign if I was the player of this game?



I started thinking about how it all needed to fit together, in terms of how the screens appear to the player.  There would be mission select, and little intros and outros (of text) at times, and playing the missions themselves. 

This was all really part of "boiling down" the idea to its simplest component parts.



I was thinking about "Groups" or "Chapters" or little chunks of missions.  Here, I think I was still stuck in an earlier idea of how to have missions trigger other missions, and I was thinking about it in a fairly fixed way, creating structures and ideas that would serve my needs, but actually in a way that was overly complex and finicky.

I later boiled this down to a more generalised system of having variables and tags, and checks and changes, that could be applied to achieve the same things, but in a much more open and general-purpose way.




At this point, I had tens of pages of notes, and multitudes of ideas bouncing around.

I made a reference board of some of the key stuff that I kept finding myself wanting to reference.

I kept wanting to know:  What are the mission types I want to support?  What are the factions I have models for?  What is my example story arc?  How would the objectives system look in a mission?



This was my mockup story arc I was using to think through the shape and needs of the scenario system.  This really helped me to work through what was really needed, and was vital in boiling down and removing complexity that wasn't needed in the system.



Thinking about what elements would be needed in the Mission Data.  



After having my mockup scenario idea, I kept trying to think about what that structure really was, and what it needed behind it to work.  I think this was the stage of my workings where I started to realise that I didn't need to strict concept of "Groups" but instead to go more atomic with variables and tags that could mean anything!



Thinking about how the screens would be presented to the player.



This is where I kinda went back to the drawing board. I wanted to go "full storylets", and have a more generic, open system.  

I would need a scrollable list of "however many missions happen to be open", rather than being limited to "3 missions available at a time".

And I recalled a system I'd made previously for a Tile RPG game called The Age of Nothing, which had quite an open Quest System, that used Checks and Changes and acted on a table of variables to track basically "whatever I wanted".

This system had worked well, and really had many similarities to the Storylets Scenario System I wanted for Secret Keep.



I asked a few of my programmer friends if they'd be up for giving me some advice, to talk over where I'd gotten to with my Scenario System plans.  This was a great idea, and it lead to a few big benefits!

I got into Diagrams.Net, and plotted out my whole system of data and logic in more detail, so I could present it to my coder friends.  This process in itself was very helpful!

And then chatting it through with multiple programmer friends, I got excellent insights and advice into what looked fine about my plans, and where there were some issues or improvements or simplifications to be made.

It also lead to some chats (and more research) into the differences and benefits of Scriptable Objects versus normal Monobehaviours.  I'll probably end up using a mix of the two, in different places.




I finally got down to it, and delved into the Unity project, and ended up implementing most of the core features of the system over a few days, and it worked great!

Once I had a solid plan, for a nice generic system, it came together fairly smoothly, and I was really happy with how it came together.  There's still more to do on it, but I think the foundations are good!



I also thought back to another game I've made called B-Grade Renegade: Race to the Rocket, and how the randomly generated missions work there.

It's actually a pretty cool system, where the player can choose between 3 mission each turn.  Each mission has an Objective Type, a Reward value, and also a Perk in the area, and a Distance travelled by taking that route (with your travel distance being important, as the game is a race against the clock).

I'm really happy with how that system worked, because there were many dimensions to consider each turn, with perks such as "well paid job" or "find cars here" or "there's a shop on the other side of this mission" being things that might be really valuable to you at the time, or not valuable at all, depending on how you're doing in the game.

So these factors all weigh against one another, and factor in differently depending on your current situation, such as:  Do you already have a car?  Do you have money to spend?  Do you need more supplies?  Are you low on health?  Etc, etc!

These are all things I could consider further for Secret Keep, somehow!



I also listened to a good Harvey Smith interview, talking about the design of Dishonored 2, and ways of thinking about the Core Abilities of the player, the essence of what the game is about, and how that can change going from Game 1 to Game 2, and various other things.

This is something I should think more about for Secret Keep!



An example of what Mission Data will be needed to define a mission in full.



When thinking about how to get the actual Objective Types working, I've had to stop and really think about how missions will be generated, how an objective will be "set up" in the world, and how it'll be "checked off".  

This is all done dynamically, so it needs to be able to take its cues from the Mission Data, and sort of "take care of itself" without any designer-hand-placement.  

So this raises big questions about how much info the designer will actually specify in the Mission Data, and what this data will look like.  How vague or specific can it be?  What's the interface and data actually look like for specifying these things?  All a big work in progress.

I quickly moved from my paper spreadsheet to a digital version, and things started to grow and shrink and get complex!

The main thing I needed to learn from this was what generalised variables I could use, across all mission types, to get the ball rolling, so I could actually start implementing ANY of the objective types.



So I've made an actual start on the Scenario System, in the project itself!

There is Scenario Data, Mission Data and Rules, with Checks and Changes used across them.

It's a nice generalised, atomic system, that is versatile and powerful.

I've also implemented the in-game Objectives Dialog Box, which shows your objectives and their current status (complete or not complete).



I've only implemented 2 objective types so far, one of which is sort of just a placeholder "Find the Flag" objective.

I still need to implement at least 2 - 4 other objective types, which are more complex, and depend on me doing some other work first.


Working through this process, it really makes me realise, even though I've released many games, there's just so much to learn and tackle when designing and programming games!

Each new challenge can be so huge and daunting.  And progress is very slow when combined in with all the other parts of my life!  

It's nice to look back on a process like this and see the progress, and enjoy seeing it come together.


Saturday, October 8, 2022

SECRET KEEP - Dev Diary 18 - "From Mission Design to World Design"

Going for a nice walk in the forests and gardens, and thinking about how to tackle the design of the story and the world.

I've decided to step back from designing the Scenario System itself, and instead look at my World Design more broadly, as I think this needs to come first.

I've been laying the foundations for the technologies of my game!  Now I need to lay the proper foundations for the world and setting of the game.

I've realised I need to go deeper into the specifics of designing the broader realms and creatures of my game world, to have a proper foundation to build on.

Sunday, January 2, 2022

SECRET KEEP - Dev Video 10 - "Towers: Entryways, Basic Rooms, Crossbow Guards"

Made some more good progress with the towers.

- Can build any sized tower.

- Land around that tower is automatically flattened and reserved, so that no trees, grass or other objects get placed there.

- Discuss thoughts on future tower generation & mission activities!

SECRET KEEP - Dev Video 6, 7, 8, 9 - Building Towers & Flattening Land

Catching up on the past few weeks!
It's been the lead up to Christmas and New Years, and now both are done!
But I was also very pleased to get a bunch of things done on the project.


  • Taking stock of the project, before embarking on a stint of development coming up!
  • Tweaked the player controller. Integrating a more grounded player with blackjack, sword, torch, etc. Swimming.
  • Thinking about plans for building towers, flattening the land, etc.


  • Basic terrain flattening code working!
  • Thinking through all the steps that need to be done to get this working "automatically" for each tower built.


  • Got automatic building of  towers and flatting the land working.
  • I can now build towers of rectangular proportions, and it automatically flattens the terrain, with padding and falloff.
  • Not yet reserving the land for the building, so currently still getting grasses, trees and other objects being spawned inside the buildings.


  • Tweaking the tower generation system. Smoother code. Updated Blender kit pieces.
  • Talking about my ideas for a Reserved Land system.
  • Talking about ideas for a tower generation system that's more formalised and contextually aware.
  • Was still working with 8m x 8m x 3m kit pieces here. Thinking about 10m x 10m x 4m room size instead.

Saturday, October 16, 2021

SECRET KEEP - Dev Video 5 - Menus, Save Format, "Find the Flag" Mission Stub!

It's a real joy to be getting back into proper development of SECRET KEEP.

I had to take time away to learn more programming (making MUZTEK Base Game systems), to figure out how to fully Pause and Unpause the game properly, and how to do Save & Load of game state.

Now I'm back, and I've integrated these concepts into SECRET KEEP in a basic way, with a Menu System in place, a basic Save & Load system working, and a basic Mission Generation loop in place from the menu, into the game, and back out again.

Here I show the basic menu, save, load, mission generation loop in action...

 

It's great to now have this in place, as I can start to actually work on game systems, mission types, NPCs, player abilities, etc, all working within this foundational framework I have in place.

Here's a bunch of screenshots I also took at this point in time!







SECRET KEEP - Dev Video 4 - Mission Structure Ideas

I've pulled away from the hand-crafted idea of Secret Keep, and I'm leaning back into the procedural generation systems I've been working on.

Here I discuss the broad concepts behind how missions will be generated...

 

Here's a series of screenshots I took at this stage...





Tuesday, January 5, 2021

SECRET KEEP: Building a Castle (sketches & plans)

I've been doing a bunch of sketching and planning for SECRET KEEP.  

I thought I'd post a handful of these things here.  :D


Warming up my drawing hand with some sketches of items from The Black Cauldron (Disney, 1985).


Sketching some items from The Sword in the Stone (Disney, 1963).  

Trying out Charcoal Pencils for the first time!  Nice blacks, and a cool sketchy feel, but needs fixative!  :)



A little castle sketch from an interesting picture I found on the internet.



And a watercolor sketch of the king's castle in Daventry!  :D




A sketch of how an arrow loop looks from outside the castle (left) and inside the castle (right).



Thinking about how the user interface and interactivity will work.





It's finally time to knuckle down and actually come up with the layout of my castle for SECRET KEEP.

This task was bewildering me for a while because a castle is a complicated thing, and I want the location to feel grounded and real, and so I got sidetracked for quite some time just studying up about castle, and actually trying to understand all the main parts of a castle, where they are, and how they work.

I started to list out the elements that were important to me, that I wanted to include.



I decided to have six floors in total, including 3 above ground, and 2 below ground, and a tower.  The player won't know about all of these locations to begin with, and will learn more about the hidden parts of the castle, and how to access them, as they continue to explore the space and learn more about the story and characters that inhabit the castle.


I then started to translate those lists of rooms into actual floor layouts on another piece of paper.  It was good to use A3 paper for a lot of this work, to keep connected ideas on one page.  (I usually work on much smaller A5 pages when throwing down ideas, as I can carry an A5 clipboard around with me at all times).


Thinking more specifically about the spaces that would be important to the player, and where the game would start, around the kitchen, the garden and the great hall.


Once I had a sense of the rooms I wanted to include, I did a quick sketch on a small piece of paper, from side-on cross-section.


And finally, I ended up with a rough multi-floor plan of the entire keep of the castle, the crux of my game SECRET KEEP.  

I've just roughed out the position of each room, and now feel ready to start actually building the space in my Unity project.



A close up of the tower top room.



Now I'm ready to start actually building the castle in Unity!