Game Creation/Design Catch All

Those working on text adventures, are you creating an engine from scratch or programming in a premade text adventure language (such as Inform or TADS)?

Quintin_Stone wrote:

Those working on text adventures, are you creating an engine from scratch or programming in a premade text adventure language (such as Inform or TADS)?

The second unit of the Unity course I’m taking has you start a simple text adventure game with a barebones engine you create in Unity. I’ve added inventory (kind of), a timer, search, and health points to that engine, and am just aiming for a simple 10-minute text adventure. I’m mainly doing it to learn Unity, but also just to “make a game.”

If I were going to do a more serious attempt at a text adventure, I’d be inclined to use Twine or Quest, or maybe look for some custom Unity asset for making them.

I've continued to make progress in the text adventure. I'm into Section 4 (of 5) now, and can see the end is near.

I've also made some more progress in the SQL course. Things are getting a bit more complex now, but so far stuff seems to be sticking. It's quite logical so far.

Apropos of nothing: The Craft of Adventure (1995, PDF)

A wide-ranging paper on the history and construction of text adventures, by Graham Nelson (author of Curses and creator of the Inform language)

Wish I was a bit more knowledgable so I could contribute to the discussion here a bit more instead of just posting updates. But for now, updates will have to do (sorry!)

Excuse the horrible video quality, but I spent the last few hours fiddling with transitions and varying amounts of screenshake. I'm pretty damn happy with my title screen and boss warning sign!

The exhaust particles you see when the ship moves upwards, or the warning slams together is my first experiment with "for loops" (if that's the right name for them?) I always thought they looked very scary, but they make things SO much easier.

var i;
for(i = 0; i < 20; i++)
{
instance_create(x,y+(random_range(1,41)),obj_dust);
}

Can't believe I was scared by something so helpful!

Anyway, it's nice that Tapgun is finally starting to feel more like a game. Next step is to code in some collisions (so you can actually lose! Yay!) and then figure out what this big dumb boss will actually do. Then...4 more levels.

Edit: I'm on a roll! With loops!

Quick little life system. A controller grabs the life variable and draws it X times, moving over each step by the width of the sprite. Easy!

IMAGE(https://i.imgur.com/SNrntl9.gif)

Double edit: Swapped out the video with a much better one, showing all my progress + game over screen.

Looking awesome Unicycle!

And wait until you discover the wonders of "foreach"

Also Godzilla Blitz, your stuff is looking great too. My own game development has unfortunately fallen to the obligations of working on finishing my basement. Can't say it's as fun. In another few weeks hopefully I'll be able to get back to it!

A_Unicycle, that looks great! And yeah, every coding concept you learn just opens up more and more tools to use to make things better and easier.

fenomas wrote:

Apropos of nothing: The Craft of Adventure (1995, PDF)

A wide-ranging paper on the history and construction of text adventures, by Graham Nelson (author of Curses and creator of the Inform language)

That looks like a super interesting read. I've skimmed through it now. I got a chuckle from the conversation about how early text adventures were constrained by a 255-object limit for the entire game, and that included rooms and objects in them, etc. It's mind-blowing to consider how far we've come.

And pretty much my whole game breaks Puzzle Problem #1 (Get X Use X).

I'm going to read through the whole thing.

Bring on the Case/Switch or whatever the equivalent is in the language you are using A_Unicycle.

it is a way of combining If statements essentially or to check against a limited set of values:
(in pseudo code)

If keypress W then move up
If keypress S then move down
If keypress A then move left
If keypress D then move right

Becomes:

Case (keypress)
A move left
S move down
W move up
D move right
Space fire weapon

I wouldn't use a switch statement for input because then you have to explicitly create cases for when multiple inputs happen the same frame. If statements work better in that they allow you to handle what happens when A S and Space are all pressed at the same time without writing a case looking for that specific occurrence.

Not sure if the language you are using supports this but in many of them you can declare your var inside the for statement like this:

for(var i = 0; i < 20; i++){ instance_create(x,y+(random_range(1,41)),obj_dust); }

Depending on the language/runtime this will give the i local scope to the for loop only which may or may not be beneficial again depending on the runtime and if you plan to reuse that i later. Also depending on your runtime it might be better to use int instead of var and some languages even support using something like short or byte (these use less RAM than an int, but hold smaller values). Many languages that make use of the var type will assign a specific type based on the first value assigned to the var so in that case there is no difference between doing var or int (except in readability) from a memory usage standpoint, but it still may be more efficient to just use int (or in your case byte since you only need 0-20) as it will increase compile time.

I wouldn't use a switch statement for input because then you have to explicitly create cases for when multiple inputs happen the same frame. If statements work better in that they allow you to handle what happens when A S and Space are all pressed at the same time without writing a case looking for that specific occurrence.

I wasn't really suggesting doing that. I just tried to list an example relevant to the thread.

After a few days away due to work/life stuff, I've been back at things the past couple of days.

Despite being really good most of the time with containment on the text adventure, I thought that I could go wide at the end, with a lot of branching options and storylines. Whew, that was a mistake. I'm now up to about 130 story panels, and will need another 20-30 to finish everything up.

I'm not sure of a word count, but I'll be it gets close to 250 words per panel, so about 65 pages of text content in terms of a book. I have two story endings left to complete, so still another few days. I'm writing as much for these various ending paths as I've done for the whole story up to now. Lesson learned, and it's good writing practice.

Now that the Coursera course on Serious Gaming has officially launched, I've been moving forward with that content as well. I'm in the week 4 content, on Persuasive Games. It's decent stuff, but I'm finding most of the value in exploring what's been done in the area and thinking about what other opportunities there might be. It seems very much an untapped market on the whole.

I dunno if this is old news or new news but there's a kit called GB Studio designed to help you make your own GameBoy RPG's. Maybe one day I'll check it out.

ccesarano wrote:

I dunno if this is old news or new news but there's a kit called GB Studio designed to help you make your own GameBoy RPG's. Maybe one day I'll check it out.

Yeah, I saw that a couple of weeks ago and have been meaning to check it out. It looks pretty interesting, and maybe a gentle introduction to game design for people new to the area.

I started a couple of tutorials on how to use Unreal Engine 4 today. It's all quite a bit overwhelming, but very interesting.

astralplaydoh wrote:

I started a couple of tutorials on how to use Unreal Engine 4 today. ...

You are a braver man than me! Good luck!

I was really debating between Unity and Unreal. And I'm more interested in making a top down style game, which seems like Unity would be the way to go. But...I have a suspicion that if I just make it a 3d top down game, I'll find Unreal much easier. It seems to have so much already pre-built for you. And the asset store looks quite full.

astralplaydoh wrote:

I was really debating between Unity and Unreal. And I'm more interested in making a top down style game, which seems like Unity would be the way to go. But...I have a suspicion that if I just make it a 3d top down game, I'll find Unreal much easier. It seems to have so much already pre-built for you. And the asset store looks quite full.

I'd be interested to hear how it goes! It's such a powerful engine, from what I've heard.

I'd be interested too. I've done quite a lot in Unity, but almost nothing in Unreal.

ccesarano wrote:

I dunno if this is old news or new news but there's a kit called GB Studio designed to help you make your own GameBoy RPG's. Maybe one day I'll check it out.

Considering I'm knee-deep in my own Gameboy style game, I'm VERY interested in this. Just needs to wait until I've got some free time.

Looks really cool, and I'm keen to have a fiddle with it when I've done a bit more with my main project.

It's interesting also that it doesn't seem to use any coding either, just all tagging and attributes and stuff?

I guess it's pulling inspiration from RPG Maker? It's been 10+ years since I've used that program, but I recall it being mostly drag-and-drop.

That was kinda what i thought. Why not just use RPGmaker?

GB Studio is free and you can export as GameBoy ROM, so it's got that going for it. Otherwise RPG Maker all the way, I'd think.

But RPGMaker has scripting as part of the engine. You don't need to use it, but it's there and fairly robust. I don't see any scripting options with GB Studio.

I don't mean it as a criticism, more as an observation. It might be a great way to get involved with game dev, especially for kids.

I probably should have thought to post this sooner but the Unity Asset Store is having a relatively rare sale, and it ends today. A lot of popular assets are 50% off.

Thank you so much for the tip.
I bought Game Creators.
I had my finger on the trigger with GKC which seems similar but with more sophisticated features but seemingly a higher learning curve. Alas, I have like zero funds. Like zero as in I can't even afford the $25 sale price.

The videos for GKC are flippin amazing: robust ragdoll, camera control, compass and mapping, dialogue, behaviors, inventory, localized gravity (walking up walls) weapon modding and interactivity that includes things along the lines of trailmakers or simple planes.

I just felt by looking at the manual that Game Creators does what I need and I will be up and running in a few hours.

Awesome, glad it worked out!

I picked up a some things I'd had my eye on as well.

I'm pretty bad about never telling anyone about the game dev stuff I've done, so let me just promote the fact that Mojang released a game based on my game engine the other day

The engine is here, it's a browser based voxel game engine. Basically you give it a world of voxel data, and some textures and voxel properties, and then it manages all the meshing, physics, entities, collisions and so forth.

The game mojang made is called Minecraft Classic. Annoyingly, they've presented it as buggy terrible historical code from 2009, but it's a new thing built on my engine. (The multiplayer stuff is all their work though)

Nice fenomas! Is there a way to invert the mouse y?
Is it possible to shrink the voxel size or add smoothing a la EQ Landmark or voxel farm?
Add hovering?

Any plans to add features like saving prefabs, selections, or mirroring? Other primitives that will be converted to voxels: sphere, cylinder, cone?

fangblackbone wrote:

Nice fenomas! Is there a way to invert the mouse y?
Is it possible to shrink the voxel size or add smoothing a la EQ Landmark or voxel farm?
Add hovering?

Any plans to add features like saving prefabs, selections, or mirroring? Other primitives that will be converted to voxels: sphere, cylinder, cone?

Thanks! Inverse y is the "i" key in my demos, and in the options menu in the minecraft game, or "noa.cameraControls.inverseY" in the console.

More generally though it's meant to be as minimal an engine as possible - ideally just managing voxels and anything that's tightly coupled to voxels (like physics). It has other things (camera controls, an ECS..) partly because they're necessary for a self-contained demo and partly because when I started I didn't see the value of staying minimal as much as I do now. But anyway suffice to say that e.g. hovering would be something that's easy to do in the game logic, by twiddling physics values, but not built in.

Nothing fancy about voxels right now, just one static size and all voxels are solid. (There's an object block type though, for chests and whatnot, where you specify a mesh and the engine makes a copy of that mesh wherever that voxel occurs.)

There's a lot more I could do with it but I'm ostensibly creating a game, not just making an engine for its own sake, and I'm waaaaay past the time where it's okay to add new engine features instead of trying to finish the game