Day 21: Back to Quests


Day 21: Back to Quests

I just started brainstorming some quest ideas for the tutorial:

tutorial >
	get 2 people to like you = false -- charmer
	maxout_1_skill = false, - go getter
	ai machine puzzle = false -- technician
	obtain_luggage = true -- DIY
	recieve_clearence = true -- im a professional
	obstain key card= true -- fake id
	charm authority = true -- vouged for
	charm 2 gangs = false -- vouged for

This is my first attempt at a Quest Sttate:

M.quests = {
	["tutorial"] = {
		npcs_like_you = {
			passed = false,
			condtions = {
				[1]=false, --1st -- labor003
				[2]=false, --2nd -- Eva
				[3]=false, --3rd -- corps001
				[4]=false, --4th -- security002
				[5]=false, --5th -- Doc01
			}
		}, -- charmer
		maxout_skill = {
			passed = false,
			condtions = {
				[1]=false, -- speed
				[2]=false, -- strength
				[3]=false, -- perception
			}
		}, -- go getter
		ai_puzzle = {
			passed = false,
			condtions = {
				[1]=false, -- flag maintenance
				[2]=false, -- "unscrew monitor"
				[3]=false, -- help maintenance 
			}
		},

Luggage Quest

obtain_luggage = {
	passed = false,
	condtions = {
		[1]=false, -- item 1
		[2]=false, -- item 2
		[3]=false, -- item 3
	}
},

I created a level called baggage. The idea is to make it off limits and add more attempts to steal items. I also made it so that if an NPC is watching, the player can only steal 1 item, per attempt. I needed an “Invisible door” in order to navigate from one outside level to another.

`Old Build Screenshot of Baggage level:::

Housekeeping

Issues

  • matchanovel hacks don’t work in html bundle.
  • should update index.html css to match itchio theme / logo theme
  • lots of html5 bugs for camera and GUIs

Head Banging

Really racking my brain trying to separate game state and update logic.
I was thinking of having a systems folder that imports game state and manipulates it.
have a file for tasks, ai, world, rooms, npcs?? etc…

Did

  • create ai, task and world system files. abstracted from state files.
    • more abstraction needed in gamestate
  • created a function for checking if an npc already has a caution.
  • added a dice_roll utility
  • got hud map working again
    • * I disable it again later
  • Added more dialog scripts for the first room.

Idea

  • items that could track npc where-abouts
    • lojack
  • items that let you know what an npc is up to
    • microphone
  • could have different stations based on time of day.
  • no type checking is kind of a pain
    • * I later switch to Typescript

Surprises

  • I uncommented out quest and other caution types. I got stopped by an npc to perform a quest. I didn’t think that would work.
  • I added logic that you can only perform one action on an actor’s inventory it here is an npc watching. Then I added logic that if you stole directly from an npc they are the watcher. Surprised that it worked and created cautions automatically.
  • Code working without me realizing is nice.

Downsides

  • downside of having a bunch of stuff work with out much effort is that a bunch of bugs spontaneously spring up.
    • HUD input_focus bug is back
      • Hate the hud

Back to the Luggage Quest again

  • want to add a chance that luggage gets stolen

Next

  • figuring out how checkpoints and quests work together

Get Beeline Blvd.

Leave a comment

Log in with itch.io to leave a comment.