[wip] Adventurish game

Page 1/3
| 2 | 3

By Uninteresting

Champion (352)

Uninteresting's picture

03-02-2020, 20:03

I've been working on my MSXdev'20 entry for a while. It's actually more of an unnecessary game engine with a short simple game cobbled together with it. The two adventure games in MSXdev'18 (Any Treasure Day and C.C.R. Anexo 1, El Algoritmo) inspired me to try making my own game, but a bit differently.

A WIP screenshot with placeholder art etc. https://drive.google.com/open?id=1Qzj7uoh62pmgXPXutKIEMHoSqm...

Core idea: an unholy mix of Macventure UI on NES (Shadowgate, Deja Vu, Uninvited), text adventures and maybe a dash of point'n'click adventures.

The UI is at first glance a lot like in Macventures, but all hotspots, including exits, available are listed on the right and the player chooses the object first before a filtered list of actions is shown. (I.e., pick "north", and the verbs that will be available can be "go" and "look".) This filtering of available actions per object would also be the end of the point'n'click influences. The cursor can't even go outside the list on the right to point at something on the screen. The icon ahead of "outside" is a map pin (meaning a direction, not this location), the icon below meaning the object is at this location (rather than in inventory, which has its own icon).

The impetus was mostly the idea to create a Python tool to convert input on PC to includables in the ASM files. To have all text automatically compressed, automatically convert PNGs into something the game can understand, convert very simple scripts into something the game engine can handle, replace object references with labels the ASM compiler will replace with pointers. (It sounded more impressive when I first thought about it...) This isn't compatible with any existing IF solutions, because my point was to do this myself.

The current narrative is for a boy penguin to find money to buy his gf a gift, with only about ten locations planned for now. If time and 32KB ROM size limit permits, I might add more. I doubt I'm surprising anyone by saying one coin is found between the sofa's cushions, and that is accomplished by selecting "sofa" and then "examine".

Anyway. The engine is slowly approaching "playable" status but missing many necessary bells and whistles (and then maybe one day supporting memory mappers, but still probably no music and definitely no animation). I'm just putting this up here to push me to actually finish this before the end of July.

Obvious issues in the screenshot are obvious: misaligned pointer sprite, the black line over every 'a', thematically mismatching UI gfx, only a quickly sketched location view, wordwrap not implemented. (And that's before getting into the functional issues the screenshot won't tell...)

Login or register to post comments

By Wlcracks

Hero (566)

Wlcracks's picture

03-02-2020, 20:13

go man go! Sounds good!
My personal interest:
MSXdev requires ROM's, how do you gonna solve the save status. In an click and point adventure saving would be nice.

By Uninteresting

Champion (352)

Uninteresting's picture

03-02-2020, 20:49

Save/load... I haven't decided if I do anything like that.

The game will be short, since there aren't many places, the player won't have to guess the correct words for a parser to recognize and there is no "pixel hunting" at all. I won't have deaths in the game, but I agree carrying the state between two sessions would be nice.

The "transient state" is limited to (items * 2 + 2 + 16) bytes (item locations, player location, state variables). Number the locations and it's (items + 1 + 16) bytes, which might be doable with a looooong password that is not worth it.

Were the intended game longer, I might consider splitting it into separate chapters and having passwords to start from each. I doubt I could fit that much content in the 32KB, though.

(Not that the MSXdev'18 entries had anything like that either to my knowledge.)

By Timmy

Master (200)

Timmy's picture

04-02-2020, 11:28

That screenshot looks good. You should at least try to finish it.

If I were you I would make sure that you finish the text and the story first and then, if it's still necessary, doing optional things like saving or loading.

If you like your engine and your game you can always write a sequel. Smile

PS. Any Treasure Day was actually written as a techdemo for my GAC-compatible interpreter (without the graphics). But since it's also funny, short, interesting and easy enough to just promote it as a real game as well. Tongue One day I may even explain how to play other GAC created games with this interpreter, but now it's perhaps a bit too technical to explain or to use (i.e. I'm too lazy at the moment). But what I meant to say was, ATD was a short game and I don't plan on any saving or loading. Also I mainly use emulators so I wouldn't even know how to save or load anyway. Wink

By SLotman

Paragon (1242)

SLotman's picture

05-02-2020, 07:04

If you're doing it in ROM, the best way to have save/load is through passwords Wink

By Uninteresting

Champion (352)

Uninteresting's picture

05-02-2020, 21:35

Timmy: I will, of course, go first for minimum viable product in terms of functionality, and probably also with the narrative. It'll be easy to get first two coins (already implemented), but the last may be a bit more complex.

I think I already got all the scripting commands I need to work to be able to implement my original plan for the story, so that may be finished already next week. Then it's all the bugfixing with scripts, adding "cancel" option, character-by-character printing of text, ... all before looking into improving the graphics.

By santiontanon

Paragon (1810)

santiontanon's picture

06-02-2020, 00:18

Very nice! About the passwords, something that many games do is not to save full state. For example, it could save the inventory, but ignore the room where you start (always start in a fixed location, or have 2-4 predefined locations where you can start, which can be encoded with just 2 bits). Also, for those 16 bytes of state variables, do you need all 8 bits of each variable? You can probably compact them significantly if they store numbers that do not go all the way to 256

By Uninteresting

Champion (352)

Uninteresting's picture

06-02-2020, 20:30

Well, I have now implemented the story I had for the game originally, i.e., it can now be "finished" until I add more content to it (on the iceberg). I'll be uploading the dev versions to GD.
Next up: fixing the UI glitches (like cursor spot not resetting), title screen, having the game actually end, support for editing the location gfx in scripts.

Note to self for future: Checking only the presence of scripts associated with items isn't good enough when filtering objects, because now I need to make separate items for the coin on the ground and the coin in the inventory so that the latter won't have "take" command associated with it. The end result -- the descriptions of items and scripts take over 400 lines already (in text editor), and this is a very small story.

By Uninteresting

Champion (352)

Uninteresting's picture

10-02-2020, 21:26

The game is done except for minor polish, which I might or might not do before submitting it to MSXdev'20. Maybe finetune the graphics a bit (definitely not redo everything), add a few more irrelevant objects as red herrings, rename the game, location transition animations. The game now takes about 30kB of ROM, so I won't be adding any new locations to it. No saves or passwords either. It's a small game without real puzzles, with hopefully no deadends and definitely no deaths.

The download link is in the previous post.

In particular, I'm curious if you find the font legible. The previous version was a result of me trying to adapt the script I learned in school to too few pixels.
Two more screenshots...
https://drive.google.com/open?id=1IyGBxctzknWHiGx6hY2C1MWUg8...
https://drive.google.com/open?id=12msS0NV8rFAL2qyE2j1CE4DdHZ...

Controls:
Keyboard up/down, joystick 1 up/down = move pointer.
Spacebar/Fire1 = select option
Left/Fire2 = cancel

Legend:
Black map pin = direction
Blue circle ("target") = item/topic at the location
Bag with "I" on it = item is in player's inventory.

By Rataplan

Champion (339)

Rataplan's picture

10-02-2020, 22:14

I think the font is not clear enough. Playing this on a composite out would probably make it even worse. Maybe make it a bit less italic? Looking forward to play it! I don't have time for huge games these days but I love these type of adventures.

By Timmy

Master (200)

Timmy's picture

11-02-2020, 21:34

I think the font 'shakes' too much and some letters are hard to decipher. It's nice to use an original font, but now the challenge is reading the text instead of solving the puzzles.

I'd also suggest you to tell more about your exits. For example, in the first room you can go 'outside', but in the second room you don't know which exit leads back to the first room. Now it's just trial and error.

Page 1/3
| 2 | 3