A downloadable game for Windows

Hazel

(INTJ female succubus meets naive boy obsessed with psychoanalysis, or - Bram Stoker's Dracula but role-swapped, also HP Lovecraft, also 80s pulp horror meets Twilight Zone original series meets 60s noir film)

https://discord.gg/y8bhQzczHk

CAMILLE

Once upon a time, before psychoanalysis became the respectable field of study it is today, there was a boy named Camille. He was an upstanding catholic INFP youngster with a pure heart and an obsession for this budding field.

Opening Spiritual Health Books had been Camille's dream. However, with his father's untimely demise, Camille also inherited the crushing debt incurred to finance the purchase of the premises.

Through unlikely circumstances, Camille becomes acquainted with Margaret Bishop, of the fabulously wealthy and infamous Bishop family. Impressed by Camille's insights and innocence, Margaret tasks him with a special mission and pledges to settle his debts in full in case of success.

HAZEL

Hazel is a young INTJ succubus/lamia with a deep seated misandry. She is not only NOT devouring boys as she is supposed to, but the matrilineal legacy of the Bishop family is imperiled by her refusal to meet any prospects for marriage. All she does is study, read books, write poetry and play the harpsichord. 

This is the nature of Camille's mission: he is to spend some time at the Estate, befriend Hazel, and get her 'out of her shell', so that she may stop fearing the company of men - but go no further.

Back to Hazel, devouring is really not her sort of thing - but as any succubus, she still needs nourishment. Against the orders of her insatiable and evil mother, who is now bedridden, she has been experimenting with "other methods" of feeding. Camille will soon, unbeknownst to him, become part of these experiments.

CHEMISTRY

Camille manages to initiate his mission despite Hazel's acerbic dismissals. He tolerates her demeanor out of compassion as he begins to learn about her past trauma. Increasingly, he is fascinated by her intellect and writings.

But an excessively generous interpretation of her motives has unintended ramifications. Her "new method" of feeding is more humane and progressive, sure, but still involves  lewd and disturbing dream crafting, bullying, and sexually objectifying mind-fuckery. She will seek to pervert him, and extract his innocence and self respect in the form of a nutritious etheric nectar that will slowly accumulate in the ampules and contraptions she has set up.

As the unlikely romance develops, Camille will have to choose between his simple but virtuous childhood darling Flora, and her exact, macabre but exciting opposite. 

Furthermore, Flora is not alone in her fight to rescue Camille. The Bishops have been under close scrutiny for some time now. The forces of darkness have existed since the beginning of mankind - you should not be surprised to learn that the Holy See maintains a secretive elite group of investigators tracking their influence and whereabouts.

Since the demo does not contain anything about Hazel herself, let me state here that the dynamic between the two is a role-reversed version of the Dracula vs Mina in Bram Stoker's Dracula (the 1992 movie by director Francis Ford Coppola). Furthermore I would say that if you were fascinated by the female vampires in that movie, you will love Hazel.

VICES

Camille has to preserve his piety or he is of no use to Hazel. The 7 deadly sins are represented by test tubes at the bottom right: Luxuria, Gula, Avaritia, Acedia, Ira, Invidia and Superbia. So watch how you interact with people, for if your conduct is ungodly, these will increase!


THE STYLE

It is a text parser based interactive fiction, keywords: zork, z-machine, inform7, etc. (but the engine is custom). 

Graphically it imitates Amiga HAM mode on a CRT screen. It tries to give the vibe of those "experimental" retro games that used real photos or footage but had to deal with storage and resolution limitations. For instance, Psycho Killer on the Amiga CDTV.


The game play consists in exploration, object interactions, and tons of LONG dialogs. The playable demo take you from the beginning up to Camille's departure. The beginning of the story is the least eventful. We are just setting the stage for what's to come.

SPECIAL COMMANDS

Be sure to read SPECIAL_COMMANDS.txt which contains a list of commands to load, save the game, screw around with the window size, etc. - will be a UI one day but for now at least it's something and you can load and save.


 

Download

Download
x86_32.zip 100 MB
Download
hazel_linux.zip 112 MB

Development log

Comments

Log in with itch.io to leave a comment.

Gave it a shot, but I didn't get very far lol.  I love the concept - the added challenge of not only being mindful of what we were holding, but also that you can't just drop stuff wherever was great.  I'll have to take another crack at it tomorrow.  I accidentally locked my game up by scrolling the mousewheel while there was some dialgue going.

(+1)

scrollwheel is specifically meant to advance dialog. what OS are you on?

This was on my Windows PC.  I can't even remember which area it was in, one of the first 4 rooms lol.  I'll take another swing at it tomorrow - if I can crash it again I'll let you know how/where.

(+1)

if you start it from cmd you will have debug info in that dos window :)

lol managed to freeze it in the same way trying to blast through the story.  The game itself seems responsive - I can move the mouse, the music continues to play, and there's no indication that the process is hung, but the text is frozen exactly as you see in the screenshot:



[EDIT] And while I was alt-tabbing back and forth between the game and here to test a few more things out, it started responding again, and I haven't been able to crash it again...

Here's the debug text up to the point it got stuck:
H:\temp\games\Hazel>
Godot Engine v3.5.3.stable.mono.official.6c814135b - https://godotengine.org
OpenGL ES 2.0 Renderer: NVIDIA GeForce GTX 980/PCIe/SSE2
Mono: Log file is: 'H:/Users/abraxas/AppData/Roaming/Godot/app_userdata/Hazel/mono/mono_logs/2024-05-19_14.22.35_31116.log'
ERROR: Unable to open file: res://import/mockup_hamview.png-88a0ab49cfa918de4c227c7b5bd0109c.stex.
   at: (scene/resources/texture.cpp:470)
RB_PLAYBEGINS null   retVal 0
Refresh screen with fade
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
Refresh screen with fade
res://overlays/rooftops.png returned by engine
Overlay Image : res://overlays/rooftops.png
Overlay1 visibility False
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
Overlay1 visibility True
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
Refresh screen with fade
Overlay1 visibility False
res://overlays/book.png returned by engine
Overlay Image : res://overlays/book.png
res://overlays/rooftops.png returned by engine
Overlay Image : res://overlays/rooftops.png
Overlay1 visibility False
Overlay2 visibility False
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
ReqSkipLine
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
Refresh screen with fade
Overlay1 visibility False
Overlay2 visibility False
res://overlays/book.png returned by engine
Overlay Image : res://overlays/book.png
Overlay1 visibility False
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
ReqSkipLine
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------LOOK, ,
RB_BEFORE LOOK   retVal 0
RB_CARRYOUT LOOK   retVal 0
RB_REPORT LOOK   retVal 0
RB_REPORT LOOK   retVal -1
/------------------------EVERYTURN, ,
RB_CARRYOUT EVERYTURN   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
ReqSkipLine
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
UPDATING GUI NOW
/------------------------UPDATEFULLBODYIMAGE, ,
RB_CARRYOUT UPDATEFULLBODYIMAGE   retVal 0
Overlay1 visibility True
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
ReqSkipLine
(1 edit)

Does it do it even if you don't alt-tab ever? Did you say you are running this under win?

Also, slight typo under Cleo's text:  "still born" should be "stillborn" 

(+1)

Thanks! Need to iron out all of the spellings and everything.