I didn’t have a lot of time this weekend but after seeing people progress on irc saturday night (especially rxi and bitslap *drool*) i wanted to give it a shot anyways. Since i only got around 24 hours left i settled on a dialog text adventure. Also i wanted to make a narrative based game for quite a while.
As usual i made my entry using C#. Overriding paint events of pictureboxes to render text in a custom fashion, being annoyed by unprecise measuretext methods leaving behind ugly spaces were all part of this. But generally it worked fine. I spend a few hours working on the parser/backend. It is a simple token driven script or markup language.
And it is modable!
#narration This text will be describtive about the character you're talking to. Also the Narrator has to exist. it is the fallback 'person' when you end a dialog. the #narration keyword is mandatory, but will be ignored for the Narrator.
#intro The "hello" text of the character. #intro is a [keyword]
#keyword is a reply to a keyword determined in [brackets]
#brackets Keywords in brackets will automatically be added as soon as you read them. You can also learn of [persons] that way.
#persons will be identified by (Paran Thesis). To talk to another person, you have to [end] the conversation.
#end will end the conversation
#narration She has an round body and is generally nice and [helpful].
#intro Hello there, what can i do for you?
#helpful Do you want some [food] or [drinks]?
#food Here, have some pie!
#drinks Have a beer!
Open the “Dialog” file residing next to the .exe in a texteditor and paste the markup text above (play the game before that if you don’t want to get spoiled) and create your own dialog adventure!
3 things though:
1. remember that #narration, #intro and #end are mandatory keywords.
2. remember that every keyword needs text
3. the win/end condition is currently hardcoded, so sorry about that, but feel free to look at the source
Furthermore, if you are interested in more features like conditional replies (yes/no), location based persons/traveling, character-bound keywords and possibly more puzzle features, leave a comment or come discuss in irc or twitter.
Lastly, there is no error handling as of yet, so if your script doesn’t work, the .exe will just crash.
Have fun adventuring! And paste your own adventures aswell
I totally had fun this LD! Even the painful aftermath helped a lot with figuring stuff out. I was at long last able to upgrade to glsl 1.5, fix my shader setup, get more familiar with matrices again (even if i’ll forget it all by next week) and was able to deliver a solid entry, that’s actually gamy, unless most of my previous entries.
Like every other LD i need a good half day to get over the theme. I keep complaining on IRC, to my housemates, to basically everyone that dares trying to talk to me within the first couple hours of saturday. I don’t try to intenionally violate it, but i usually end up doing something that only remotely could be considered themed. This time around it was technically quite challenging to set up, but the gameplay atleast mechanics are simple:
Get Gems, don’t run into things, get to goal.
Day 1: The Work
After a bunch of coffee and ranting i fired up the IDE and started working on TunnelVision, not actually being determined on pulling it through. I made the ring model, imported it and have it arranged along a spline. I realized that this solution is not at all sufficient because rotating the rings along the spline direction is a task i didn’t want to bother with. I remembered that you can construct a rotation matrix out of forward, right and up vectors, so i use an array of those to make up a track, where each node has a definite position and orientation i can further work with.
Applying a constant rotation along the forward axis, and a translation along its up and right vectors allowed for some interesting level design components to create segments that don’t look dynamic and not too uniform, like a rotation of 12 degrees every ring in distance 2; although it is nice to have that kind of control. Basic ship and camera mechanics were added aswell, but in even cruder forms than it is in the entry. Also i started implementing phong shading only realizing later that there will a be whole lot more problems arising.
Textured rings along a spline
Random orientation and scale changes. The path looks nicely dynamic but the rings arent aligned towards eachother
Day 2: The Joy
After implementing most of the basic mechanics in day 1 i could focus on building actual tracks and a add little more variety to them, get some polish done and get a smooth release. Glad that i decided as i did because i was just on time, so i thought. I realized a bug in the intersection code just after the submission hour started, i tried my best to get rid of it, but i wasn’t able to figure out exactly what the problem was and i wanted to wrap it up, so i left it in.
Another thing that is still bugging me are the ship controls and camera logic. I wasn’t able to get the physics done in a way they behave like i intended them to, so i didn’t bother with it for the time being. The camera logic is another beast. Just attaching the camera do the back of the ship looks very boring and undynamic, i wanted to have it follow the ship with a slight delay but that turned out more diffucult than i imaged. So for now it keeps following the path left behind by the ship in a certain distance. The result is not quite like what i had in mind, but it’s close.
Otherwise it was a smooth process; I planned to have enough time for everything so i didn’t need to resolve to botching. Only thing i regret is that i weren’t able to squeez in a second tune.
Spiral Power! ORE WO DARE DA TO OMOTTEYAGARU
Day 3-6: The Pain
Only the day after submitting is when the actual work started. “Error”, “Not working” and “Crash on startup” are only a few of the messages you can read in my comment thread. Again. AGAIN. ATI oh why you just do not care when compiling shaders. At first shaders weren’t able to compile on nvidia systems at all because i called functions that aren’t available in the shader-version i specified (Thanks for realizing ATI). Then, after upgrading to #version 150 nvidia complained about attribute/varying keywords being obsolete (Thanks for mentioning ATI).
After fixing that the game started to run, but the normals were totally wrecked. At this point i already got a lot of help by you guys, providing me with info in your reports and helping me to fix this, so let me say thank you: THANKS YOU! A remote debug session with NeiloGD in a Hangout enabled us to figure out the culprit. I am at fault myself for not realizing this one: I assigned the correct shader only after buffering the modeldata and assigning the attributes. Since the wrong shader was loaded at that point, the Normal-attribute was not active due to optimizations by the compiler. I can see how that is my fault, but damn, ATI, why you allow for such lax programming!
All in all i’m very happy with TunnelVision. It turned out mostly like i planned, and you guys seem to like it too
But yeah, i’m sorry i forgot to add the option for inverting vertical controls. It will come soon =]
Speaking of which: A post compo version is planned, and partly in production. If you want to be kept up-to-date on that you can follow me or visit my burrow [RSS].
I’ll just twist the theme until it makes sense. Well, gameplay wise it is pretty minimal, music will be minimal too, graphically, well, sophisticated minimalism maybe
Here’s the devlog:
v Final part 4 v
Tomorrow it is time to fix the camera pathing, some more ring-meshes and track-generation, aswell as music, sounds, ui, polish, controlschemes, gamepad support, enemies, collectibles, special effectsOMG IT IS 4AM!?
Added a photoshop-like action history (in the Overseer tab)
Added a bunch of Tip-of-the-Day messages so you don’t get lost (in the Project tab)
Plus a couple more little adjustments and finetunings. I highly suggest you use it, because otherwise your games will suck!
The Startup/Create/Load/Quit dialog
Look at the amazing landscapes!
A Photoshop like undo-list. Also GREEN
And here is once again the preview of the AutoTiler!
So if you’re making a 2d RPG or Platformer or anything inbetween i hope you don’t shy away and use this marvelous piece of software (and maybe it won’t even break! If it should you can drop me a message anytime though, and i’ll fix it ASAP, especially during the compo!)
Today i went in there and shamelessly ripped of my own website design and used it as a template for the LevelUp homepage. This is obviously makeshift, but better than that wiki i had used before. Other than that, the release of v0.9 will be coming later today as i’ll need to fixa few buggies still.
So yeah, here’s a screenshot for your entertainment!
It’s a preview!
So why don’t you head over there now and download the 0.9preview until the final is released? http://lup.wzl.vg
You better do, or do you want to be stuck using tiled and ogmo for the rest of your lives? x)