Bureau of Demonology, what is your emergency?

_demonology_thumbnail

Victorian England, London. Every night, the city is overrun with monsters, and your task is to work as a telephone consultant. You will answer calls from concerned citizens and provide advice on how to deal with various types of supernatural entities.

Download demo version: Bureau of Demonology, what is your emergency? by Troir

PS: Something like the mix of “Papers, please” and “Bloodborne”

8 Likes

Is there any chance you can upload a HTML version so I can try it out?

I will try)

I liked it! Cool atmosphere and funny conversations with the citizens

1 Like

Thanks) @wender, just interested, what conversation results you got? You can hide them under a spoiler.

@pdhales72 You can try web version now!

Been playing the game only for 15 mins or so because I had to leave, but I got “Acceptable” in the first conversation and “Terrible” in the second. The feedback was the funniest part, those things like "how could you blame the family for the poltergeist? hahaha soooorry!

1 Like

This game is surprisingly interesting. Thanks for sharing. I love your animation for the phone pick up. I will play this again, as just as I was quitting after the screen went black for a while and I thought it had ended, it suddenly said “I will…” (won’t type any more but you know which bit I mean).

Original, entertaining and surprisingly absorbing, good job.

1 Like

Thanks! Well, you’ve missed just the final inscription, there is no more content)

1 Like

Your dialogue system has an issue that although minor, still annoys me. I have just done my own dialogue system for my game and it has the same issue. When the word is typing out at the end of the line it starts on one line, then disappears and wraps to the other line. I don’t know why but it really annoys me. I tried having the entire word added instead of letter by letter but it didn’t solve it. (Well it did solve the wrapping, but it looked even worse IMHO. )

Just while I was typing this I have had an idea. To add spaces for the length of the next word so that it wraps, then add the letters (with spaces) to maintain the wrap while replacing the spaces with the letters. Hmm. I wonder if that would work.

Anyway, I was only mentioning it here because I was wondering if this was me being too pernickety or if you had thought the same? In my dialogue system, which I am very proud of, it is the one thing that I look at and get annoyed with still. Do you have any ideas about how to stop that from happening?

Yeah, I got same feedback from another player, but didn’t think it’s really matter. Now after two same comments I think I should try to fix that)

I will try and answer.

1 Like

I managed to do it in my dialogue script. In the function where I add the next character, if it is a space, I get the next word, then see if it wraps, if it does, I replace the space with a “\n”.

The two new functions used are:


func _get_next_word() -> String:
	var new_next_word = " "
	var look_ahead_index = text_index + 1
	while look_ahead_index < bubble_text.length() and bubble_text[look_ahead_index] != ' ':
		new_next_word += bubble_text[look_ahead_index]
		look_ahead_index += 1
	return new_next_word


func _check_if_word_causes_wrap(next_word: String) -> bool:
	var original_text = SpeachBubble.text
	var line_count_before = SpeachBubble.get_line_count()
	SpeachBubble.text += next_word
	var line_count_after = SpeachBubble.get_line_count()
	SpeachBubble.text = original_text
	return line_count_after > line_count_before

My original typing function was this followed by the new one using the two functions above:

func _type_text_original():
	timer_delay = NORMAL_DELAY
	next_char = bubble_text[text_index]
	SpeachBubble.text += next_char
	text_index += 1
	_is_typing_paused = true
	timer_delay = _calculate_timer_delay()
	TypingTimer.start(timer_delay)


func _type_text():
	timer_delay = NORMAL_DELAY
	next_char = bubble_text[text_index]
	if next_char == " ":
		next_word = _get_next_word()
		if _check_if_word_causes_wrap(next_word):
			next_char = "\n"
	SpeachBubble.text += next_char
	text_index += 1
	_is_typing_paused = true
	timer_delay = _calculate_timer_delay()
	TypingTimer.start(timer_delay)

Don’t know if that is any use to you at all, but I was very pleased with it!

Paul

1 Like

Cool!)

1 Like