176 lines
7.7 KiB
Markdown
176 lines
7.7 KiB
Markdown
# Nijousatsujikenriron (AKA "The Elevator Game")
|
|
|
|
![Adrift on the seas of change; a world of our own making.](images/nijousatsujikenriron-mock-up.png)
|
|
|
|
**Nijousatsujikenriron** is a murder-mystery dating-sim set in an
|
|
elevator. As Detective Monaghan, you just had the worst, and probably
|
|
last, day of your career. As you enter the elevator, you feel things
|
|
are not going to get better. Can you solve the mystery? Can you find
|
|
yourself? Can you move on?
|
|
|
|
Made in cooperation with _[Sketchwhale](http://takunomi.space)_
|
|
and _[Mikko "Mishicu" Aaltio](https://twitter.com/mishicumusic)_
|
|
|
|
Download on [itch.io](https://jmaa.itch.io/nijousatsujikenriron).
|
|
|
|
## Introduction ##
|
|
|
|
Last weekend, 13-15th April 2018, I participated in [Nordic Game
|
|
Jam](https://nordicgamejam.org/), a yearly gamejam set in Copenhagen.
|
|
I did not enjoy the trip at all, but was very satisfied with the
|
|
resulting game.
|
|
|
|
Most of this post is a rant about trains, the jam, implementation
|
|
details, etc.
|
|
|
|
## Transport Purgatory ##
|
|
|
|
I had planned to see [Robert Yang](https://twitter.com/radiatoryang)'s
|
|
presentation on sex in video games, and had planned my train journey to
|
|
Copenhagen with time to spare. When stopped at some random small-town
|
|
station, we're informed that a tree fell on the tracks, and thrown out
|
|
of the train. Together with hundreds of other confused people, I
|
|
waited 3 hours for a [train-replacement
|
|
bus](https://en.wikipedia.org/wiki/Rail_replacement_bus_service) that
|
|
never came. The tracks were cleared, and trains were running again
|
|
before a bus towards Copenhagen came. Good job [DSB](https://www.dsb.dk/).
|
|
|
|
The remaining journey to Copenhagen was spent in a stuffed train,
|
|
where even first-class passengers were standing. After arriving in
|
|
Copenhagen, I still had to walk an hour to get to TAP1, the game jam location.
|
|
|
|
## Friday ##
|
|
|
|
Similar to in [2016](/website/doki-doki-densha-sekai), my friend
|
|
[Sketchwhale](http://takunomi.space) and I had already talked about
|
|
some game ideas before the jam, and just like last time, we ignored
|
|
the theme completely.
|
|
|
|
The idea we settled on was _murder-mystery dating-sim, set in an
|
|
elevator_, which Sketchwhale had called _"This- This is awful- It's not
|
|
even a real mystery"_. We would focus on the dialog between the main
|
|
character, detective _Dave Monaghan_, and the other characters. The joke was
|
|
that the murderer was obvious, but the real game lie in becoming
|
|
friends with the characters. We used a pretty awful custom built 3d engine,
|
|
I'd made earlier in the year (2018).
|
|
|
|
![A lightly-clothed girl, with pink ponytail stands in front of a blue
|
|
and black background.](images/nijousatsujikenriron-day-1.png)
|
|
|
|
The jam started late, somewhere around `21:30`, and so the progress
|
|
after day one was pretty rough, as can be seen above. We had a
|
|
sprite for one character, _Miko_ and some very colorful
|
|
walls. The dialog options on-screen was baked in, and there was no
|
|
interaction beyond rotating between different clones of Miko.
|
|
|
|
## Saturday ##
|
|
|
|
Since 2017 _Nordic Game Jam_ has been a vegetarian event. I have no
|
|
issue with vegetarian food, I can live fine without meat. What I don't
|
|
care for, is being served [skyr](https://en.wikipedia.org/wiki/Skyr)
|
|
natural for breakfast, when a bowl of cornflakes or havregryn would
|
|
have done just fine. Why go for extreme variety, when something so
|
|
normal and cheap is already vegetarian?
|
|
|
|
![The same girl as before, standing in the corner of two walls,
|
|
colored in triangles. The girl is saying "...Yes?". On the left side,
|
|
the player can choose a question to
|
|
ask.](images/nijousatsujikenriron-day-2.png)
|
|
|
|
Most of the game was implemented on the second day, Saturday.
|
|
Sketchwhale drew the remaining characters, and wrote the dialog for
|
|
_Miko_ and the dog. I implemented the dialog system, including all of
|
|
the _Miko_ dialog.
|
|
|
|
The 3d engine is, as previously asserted, a bit rough. It calculates
|
|
texture coordinates wrong, so the act of looking around will change
|
|
how a texture is draw, when the texture fills a large amount of the
|
|
screen.
|
|
This is obviously incorrect, but I couldn't be bothered
|
|
with fixing it before the jam, and didn't have time under the jam.
|
|
|
|
![The picture of a guy patting his head with a towel, projected onto a
|
|
surface in 3d space. The camera is looking at the picture from an
|
|
angle. The projection is weird and
|
|
distorted.](images/3d-engine-stretching-issue.png)
|
|
|
|
Above is an example of the stretching bug. Compare it with [original
|
|
image](images/sweat-guy.jpg). Notice how large his head is on
|
|
the projected surface, compared to how large it is on the original.
|
|
|
|
One way to avoid extreme stretching of the texture, is to split one
|
|
triangle into several. The distortion is limited, as each triangle
|
|
fills less of the screen. Unfortunately the entire engine is such a
|
|
mess, that all my attempts failed with weird warping textures.
|
|
|
|
Sketchwhale had drawn a great wall texture, but due to the stretching
|
|
bug, we could not get it to work properly. Instead we made the walls
|
|
randomly colored triangles, which looks alright.
|
|
|
|
Sketchwhale knew a musician at the jam, [Mikko "Mishicu"
|
|
Aaltio](https://twitter.com/mishicumusic). Although Mishicu were
|
|
already working with another team, he was convinced to make some music
|
|
for us, based on [that one scene from
|
|
Drive](https://youtu.be/Kq2a7MWbmJU?t=1m28s). Mishicu did a great job,
|
|
and I encourage you to play the game through, if only to listen to the music.
|
|
|
|
## Sunday ##
|
|
|
|
The third day started with incredible pressure to get the game
|
|
finished. We started work around `10:00`, with a deadline of `13:00`.
|
|
Sketchwhale mainly worked on a bit of promotional material, like a
|
|
video, while I implemented the dog dialog, and implemented an
|
|
introductory scene. A fun change was to shorten the dialog options
|
|
when not selected. This was to accommodate some long dialog options
|
|
pushing other options off of the screen.
|
|
|
|
![A cybernetically enhanced dog sitting in a corner of the elevator.
|
|
The player has several options when talking to it, some of which are
|
|
cut off, to save screen space.](images/nijousatsujikenriron-day-3.png)
|
|
|
|
We didn't have time to finish the following, during the jam:
|
|
|
|
- The timer mechanic never went anywhere, as we forgot to add an
|
|
ending.
|
|
- The score mechanic was incomplete, due to a bug in the dialog
|
|
system, where some points weren't given correctly.
|
|
- One of the characters has no dialog.
|
|
- The player was supposed to have a gun, and be able to shoot
|
|
characters.
|
|
- A wireframe minimap was supposed to help the player when they
|
|
felt lost.
|
|
|
|
## The presentations ##
|
|
|
|
After the jam, every group had to present their game, in front of 30 other groups,
|
|
before voting on everybody's favorite. My favorite games from our
|
|
presentation scene was:
|
|
|
|
- [Rage Against the Cuisine](https://d-lo.itch.io/rage-against-the-cuisine)
|
|
- [Puppet Improv Theatre](https://saracecilia.itch.io/puppet-improv-theatre)
|
|
- [On-line](https://mrjwolf.itch.io/on-line)
|
|
|
|
All three groups were great at presenting, and displayed the charm of
|
|
their games very well.
|
|
|
|
I didn't get to see the final presentation, or know who won, as I left
|
|
early. I was incredibly tired, and just wanted to get home.
|
|
|
|
## Post-jam ##
|
|
|
|
After the jam, I decided to fix some of the bugs and missing features. I
|
|
added an ending, and fixed the score bugs. Furthermore a proper title
|
|
screen was added.
|
|
|
|
The introduction sequence was heavily modified, to make it more
|
|
intuitive. The doors were made actual 3d objects, and the light
|
|
flickers in a more realistic manner. A fun change was for each
|
|
character's name to only appear once the player has spoken with them.
|
|
|
|
![Elevator doors are open to an unusually large elevator. Each of the
|
|
four characters are standing in their respective corner of the
|
|
elevator.](images/nijousatsujikenriron-post-jam.png)
|
|
|
|
Please do try the game; it is entirely free, and can be
|
|
[downloaded above](#download).
|