Literally you just start either at your house, or already in your car on the way to in-n-out. And the entire game is just eating at in-n-out. If you try to do anything other than eat at in-n-out then you will die. I.e. you drive past the exit on the freeway, BOOM 20 car pileup. Don't make a right at the intersection? boom T-boned. etc etc
The in-n-out and everything on the way there is extremely detailed tho. like you can order literally anything you could at a normal in-n-out and you have tons of dialogue options. you can even choose to eat inside or go through the drive thru. every NPC is there for a reason and has a backstory.
and theres no objective, its just an extremely accurate depiction of what would typically happen when you eat at in-n-out. like every single possible avenue explored. going to the bathroom, doing that milkshake trick kayvon talked about, sneaking into the backroom, impresonating an employee etc.
There's two time periods in the story. 2012 and 2213. In 2012 life basically sucks.
You wake up, go to school, listen to *literally* 8-hour long highschool lectures and do
bullshit homework assignments, and go home. The (hidden) objective is to get enough
money to cryogenically freeze your brain ($70,000) and kill yourself in such a way that
your brain is preserved, so you can travel to the future.
It's a sandbox game, so you can do whatever you want, but the consequences are
realistic. If you decide to steal a car and take it for a joyride, you're gonna
get caught. You won't have a wanted level like in GTA, you'll constantly be tracked
down no matter what you do. Each car also has a limited amount of gas in the tank
and not all cars are up for grabs.
If you randomly beat someone up, they'll call the cops and ID you, and eventually
you'll go to jail. And the timeline will be realistic. If your sentence is a week,
you will be staring at a virtual jail cell for a week (or until you decide to reset
the game and start over from the beginning).
In order to simplify things, the game will start at 7:30AM and reset at midnight.
That way the world is predictable and making money won't be that hard.
Since this is in the future, people will be able to communicate in different ways. Some people use speech, others use text. That way you can get away with some voice acting, but not completely 100% voice acting. You know, fill in the blanks with different styles of dialogue. Since some messages could be delivered more effectively depending on how they are displayed.
I think it'd be best if you were a crippled old man or something. If you're using mouse + kb, that is. Maybe there's other people like you who control androids like that.
Every character in the game will be staring at a screen.
Walking down the street looking at their phone. Driving looking at their phone. At home watching TV. In their room on the
computer. On the subway on their tablet. In coffee shops on their laptops.
You are the only character that is not perpetually staring at a screen. But the thing is, you're not human.
Eventually you will find someone locked away in his room, on the computer. Controlling you.
I think the game will go into how poisonous modern computers are. All dialogue will be text based, which is nice
because I can just explain that away with the fact that everyone is glued to their screen. So, naturally, text
would be the only way one could communicate.
I'm not sure how the story arc will go. Free everyone from their computers? Sounds
like a cop-out. Maybe replace all of the humans with robots, since it is impossible for humans to
function in such a society anymore?
The idea I really like about this is that I can go into like, the truly poisonous and horrible habits that
people develop with excessive computer usage. I was thinking about doing one of those twitch streamer YouTube people.
And someone addicted to porn. And someone else who spends excessive amounts of time on internet forums and whatnot.
And maybe some programmers too.
So.... it's 3AM and I have a final in 5 hours. I really shouldn't
be writing a blog post. But I just thought of what
the "game" I'm planning on making should be.
I never wanted it to be a game. I honestly am not very excited by most games these days.
Something about fighting NPCs or solving puzzles just doesn't do it for me anymore.
So, how do I make a game that isn't a game? At first I looked into other mediums to see what's so good
about them. A book immediately came to mind. So make a game that's basically a book,
right? Dialogue and story heavy. But then I realized if people want to hear a story, they'd just read a book
or watch a movie. A videogame isn't good for that kinda stuff.
At that point I basically hit a wall, and that's pretty much what has been
discouraging me from finishing it. But I think I just had a breakthrough.
The "nightmare" sequence in Life is Strange really stuck with me for some reason. That part was easily
my favorite part in the whole game, despite there being essentially no gameplay in it. It reminded me of
one of those rides at DisneyLand or something, where it's essentially a really cool, interactive,
art exhibit.
That's what I think my "game" will be. An interactive art exhibit. Like, a full sandbox, with no plot
essentially, where you basically roam around and check out all the cool parts in Sunnyvale. I was thinking
about having it be set in the "future".... like, a combination of 2012 and 2052. It'd essentally be pure world building
and sandbox... the only things I like in a game.
Of course I probably could add some "gameplay" mechanics in there, but those would be very minor. Maybe I'll
sprinkle a puzzle in there or two. I really don't want to add NPCs, I'd rather have you go against another, real
person.
And that's another thing. I think I will completely skip out on the online stuff. Just local multiplayer. Not
only is it easier to code, but it will promote people interacting with each other in real life. Plus I can take advantage
of multiplayer mechanics that wouldn't be possible in an online game (Melee / Project M, for example).
I sometimes think about an alternate universe in which painting pictures grants you some specific, exhaustible, magical power upon use.
Imagine if you draw a painting of a river, then maybe shaking it would net you some water or something.
More water comes out depending on the quality of the painting.
Since we live in an industrial society, an entire economy would come from painting pictures of rivers.
Blue paint becomes the most manufactured type of paint. Tons of studies are conducted on how to draw
rivers really fast and efficiently. Engineers start designing cheap canvases that are made of the perfect
material to paint rivers on.
Then you have these kids who go through their entire youth with the intention of getting into a trade school
to paint rivers. Once they get out, they start working at painting companies
in San Francisco, where they're told to churn out river painting after river painting.
Everyone knows how to paint rivers. Nobody cares about painting flowers or
trees or people anymore.
late 2014 - early 2016: "break"? i never really stopped; even though i should have. very unproductive time. shitty iOS stuff. i think this is because i lived at mulberry.
mid 2016: Lua NURBS (first pure Lua game "engine")
summer 2016: that 3D LuaJIT game engine that is in all of my previous posts
summer 2016: equalizereverywhere rewrite started
late 2016: Lua 3DS game
Biggest gains: PHP, GMod Lua, cycript, and LuaJIT game engines.
Biggest mistakes: Staying at Quixey for too long; staying at mulberry for too long
I coded in screen recording so I should be able to upload a lot more gameplay videos.
That's basically a poor-man's gravity gun. It may be a good idea to make something like a GMod-style
spawn menu, playing around with blocks is getting kinda boring. I'm pretty tempted to add networking
at this point too, maybe networked game-dev, since Lua is so dynamic?
Yeah I know it's ugly. Took me about 10 minutes though, which isn't too shabby. TrenchBroom is
pretty nice. I actually
spent like 4 hours mapping out the house though; to get the dimensions right:
Kinda reminds of of that time I made that Game Kastle map for CS:S. Wish I knew where I kept
the file for it. It's probably gone forever at this point.
Looks like I spoke too soon. There is something out there that's better than
Hammer, and it exports to .obj. TrenchBroom.
It's a Quake editor, but that's perfectly fine because HL2 is based off of Quake anyway, so
I already know how to use it for the most part.
The guy added a lot of cool features on top
of it too, like vertex editing and 3-point clipping. I'm watching videos on YouTube
about it and it seems perfect for my uses.
An honorable mention should go to LevelBuddy,
which I was initially going to use. But I found TrenchBroom through
looking up reviews to LevelBuddy, lol.
That's an arbitrary .obj file I made in Blender. It's loaded in
bullet as a static physics object!!!! Making levels couldn't be easier.
(Not really tho.... if I could somehow leverage Valve Hammer Editor that'd be ideal, but that's way
too much work)
It's time to model the truck in blender. I also should probably start implementing animation.
And maybe ragdoll physics???? Seems too ambitious but HOLY SHIT LEVEL LOADING IM SO HAPPY!!
Actually I think I'm just gonna make something like the physics gun in GMod. It's kinda lame
just spawning blocks at the center.
Also, I've been playing a few games and watching interviews with Jonathan Blow etc to get my creative
juices flowing. I am so much more set in the "no HUD" thing now. No minimaps, no "journal", no "objectives",
nothing that is 2D flat on the screen. (except the console)
Any info you need to know will be observable in the actual game world. For example, if you want to
switch weapons, you'll have to tell by the color the glock emits.
Hell, I'm even thinking about not having a pause menu. Well... you'd be able to pause the game,
but it would be more of a like... "freezing time" effect.
Actually... I could take that a step further. It's be a freezing time effect, but you will
also be taken somewhere completely different. Like, a matrix-like 'whiteroom' with doors you can
go in to exit/save/load/etc. And it will also have a delay. So pausing the game
will actually give you a slight disadvantage, because a) it takes time and b) you have absolutely
no idea what's going on in-game when you come back to your computer.
Bullet is nice. God damn. I should have just picked this from the outset. No wonder Rockstar
uses it.
It's so much faster and accurate, and the API is easy to understand, especially
with all the tutorials out there.
Unfortunately I had to fight with the build system a bit. I've grown to tolerate CMake, but bullet does this
weird thing where it creates like 6 or 7 different .dylibs for each sub-thing instead of one nice one
I can use with LuaJIT.
Thankfully I made aite, which made it pretty easy to just
completely ignore bullet's build system and compile it
the way I wanted. I had to strip out the
Bullet3 stuff (except for Bullet3Common, since it's used for logging), and it built without any hiccups!
It took like 35 seconds on my laptop tho. But again I guess that makes sense since it's so fully-featured.
Also, getting it to work with LuaJIT nicely is a huge work in progress, because I basically
have to hand-write a C wrapper for every function I want to use. But it really isn't bad at all.
The workflow is really nice since I'm using aite. I can just integrate my C wrapper directly with the core
library, and then just run aite to compile that one file and relink it. Takes like 6 seconds.
Edit: Takes less than 1 second now. I spent some time optimizing aite after writing this.
So.... reactphysics3d is extremely buggy. It actually crashes a lot. CapsAdmin suggested
ODE since it has a C API but it looks like it isn't maintained
anymore, although it seems stable and was once extremely popular. But meh. I'm done with half-baked
solutions that end up not working out.
Time to bite the bullet. Unfortunately
it only has a C++ API, but I've had to go down the C-wrapper road twice already, so nbd. Also
it looks like they're working
on a C API. Seems like a worthwhile investment.
So... I probably should have thought of this before, but I need physics simulation on meshes. Not just cubes.
Reason is: converting the .obj levels I make in Blender to cubes will be a bitch to program. So unfortunately,
qu3e won't cut it.
Thankfully, I don't have to swallow the bullet pill just yet, as I found another, less advertised
engine called reactphysics3d.
It's really well documented, has a small feature list, and it seems to have been in development since 2008!
It also has support for static physics with concave meshes, which is all I need since it will be a level!
Unfortunately it's also in C++, so I need to go through the pain of understanding the C++ API and wrapping
it in C again. :( Hopefully this is the last time.
So yeah all I really have to show from last time is the skybox. I've been refactoring mostly. And
since qu3e is in C++, I had to write a C API for the Lua ffi bindings. So now that's out of the way,
I just need to actually integrate qu3e with my engine. Hence the refactoring. I think it's ready
to integrate now. I'll probably finish by the end of tomorrow.
After that... I think I'd be pretty much set as far as the engine goes. Shadow mapping and
model animation would be nice, but I can always do that later. I think it's due time to
start on the creative process.
I feel myself about to hit a wall. I'm basically idling, implementing font rendering / console / joystick support
instead of actually moving forward with rendering / mapping / modeling. Going on reddit to avoid it etc.
I'm only gonna map out the parts of the bay area I care about / have been to. Everything else will just be a cliff,
where if you look down it's too dark to see. If you fall off this cliff you'll land in Lavender Town. Your
glock will turn into an actual usable gun and there will just be a bunch of Gastly/Haunter/Gengar/Cubone
mobbing you. If you end up killing them all, the Marowak will come out and actually kill you.
Every time you die, your dead body will be left there. So if you die 5 times, and fall into Lavender Town a 6th time,
you will see 5 dead bodies.
Each exit from lavender town will go to the actual routes. But that will just be an illusion, it will
slowly fade back into lavender town. It'll just basically be an infinite room sort of deal.
I read through the rest of the tutorial, lighting is next.
After that part I should start refactoring my code and start integrating the qu3e
physics engine. Then the model loader, then learning Blender again.
After that though... I have no clue. Idk how I'd implement the level or the
game logic. I guess I'll cross that bridge when I come to it.
Hell yea, got a spinning cube in (mostly) pure LuaJIT. Followed
this tutorial.
Instead of writing it in C++ (ewww), I just translated it into LuaJIT and C. :D
The performance of it is surprisingly snappy. I guess we'll see how well it
turns out when I add more stuff to it. I'll probably have to rewrite the render
in C at some point, since it's probably slow somewhere. And multithreading
in Lua is a nightmare.
As far as game mechanics go... I think it's going to be a counter-strike esque
FP"S" when you're on-foot, and a GTA type game while in the truck. You can only
use a controller while in the car, and only mouse + kb while on foot.
As far as weapons go, I think I'm only going to have the glock from 1.6,
with a custom modern-looking skin. No bullets of course. It would be
projectile based stuff. Like gravity gun, hookshot, etc. The ammo info
+ what mode you're using would be on the top of the glock. No HUD. Possibly holding
down right click would give you a better view of the top of the glock.
I really like the idea of combining mechanics from different games, and
forcing the player to use those mechanics. No mouse + kb for driving.
No controller for FPS. It'd be similar to how you don't use a wheel
and gas pedal while you're walking around, and you don't move your
legs while driving in a car. The context switch is still there, which
would make it more immersive I think.
Oh yeah... I forgot to mention before. excessive's
LD33 submission works
on OS X with minimal tweaking! So now I know what's theoretically possible.
I could live with graphics / mechanics similar to this. And this was only made in 4 days!
Also... I was looking around at physics engines and I found
qu3e. It's purely
box-based physics, which kinda sounds bad at first, but apparently
that makes it way simpler. So with that in mind, I think it might
actually be workable.
Like, I'm already cutting corners on the
physics engine by making it a hovercar instead of a regular car,
so I think this makes sense. Plus you can basically make crude polygons
out of cubes, if you rotate them right. I think the GIF in the README.md
file really sells it:
Kind of like GTA, but with no violence. And hovercars. Mostly dialogue and story driven, I think.
But also a sandbox. I don't know how I'd pull that off.
I might have the setting be in Sunnyvale and San Jose, and you just drive to Pokemon League and play
pokemon or something. I like the idea of recreating where I used to live.
...Maybe it'll just be the bay area but with things added that I wish were there.
Hovercars
BART station going through the south bay
Skyscrapers
Actual... you know... fun things to do
Be able to actually enter the tech companies
I really like the hovercar idea though. It'd be pretty funny to just see you go on a roof or something
with the car half over the edge, and then turn off the hovering mechanism and just have it *plop* over
the side of the building.
Plus, the physics for it would be waaay easier than if it was an actual car lol
As for looks, I think I'm gonna go for something of an inbetween of Killer7 and Wind Waker. Dark,
but cartoonish. Always night time too. It'd be especially funny since it's in Sunnyvale. And also
it would be way easier to explain away the lack of other cars and NPCs, since that's how Sunnyvale
actually is at night.
I think I'm gonna get back into making games. Seeing the awesome stuff Karai and shakesoda are doing
with Love3D in LD35 and
LD36 is motivating me. 3D is hard, but they
make it look easy and fun.
Hopefully their LD36 submission works on OS X out of the box... I need a good reference to get started.