Author Topic: I rented a boat  (Read 2126 times)

eri0o

I rented a boat
« on: 01 Apr 2021, 15:08 »
I rented a boat

AGS DB | GitHub Repository



I_rented_a_boat_windows.zip

I_rented_a_boat_linux.tar.gz

A journey sometimes is a short game and sometimes is a lifetime.

This game was made for MAGS March “Journey”.

Note: This is a first person game made in AGS, it plays best in Fullscreen, use ESC in game to reach the menu, there you can look into Controls if you need help figuring the game keyboard+mouse movement scheme.



« Last Edit: 13 Apr 2021, 11:20 by eri0o »

arj0n

  • Mittens Vassal
  • art consists in drawing a line somewhere
    • arj0n worked on one or more games that won an AGS Award!
    •  
    • arj0n worked on one or more games that was nominated for an AGS Award!
Re: I rented a boat
« Reply #1 on: 01 Apr 2021, 15:27 »
Very nice and impressive mags entry.

eri0o

Re: I rented a boat
« Reply #2 on: 01 Apr 2021, 15:36 »
Thanks arj0n! I just added the GitHub repository in case anyone is curious about the game source code! Hopefully there are useful bits for someone. I plan to eventually document it in a proper readme.

javixblack

  • don't go out!!!
Re: I rented a boat
« Reply #3 on: 01 Apr 2021, 19:40 »
The pictures reminds me Lovecraft's Dagon

Re: I rented a boat
« Reply #4 on: 01 Apr 2021, 22:39 »
Impressive 3D effect. It's blurry but I guess you had to deal with AGS limitations. It's kinda pretty nonetheless.

About the game itself:
Spoiler: ShowHide
I didn't have too much trouble following the instructions. I reached a bad ending and didn't retry because I didn't know if Julia could be saved, since you said that you cut a lot of the game.

 

eri0o

Re: I rented a boat
« Reply #5 on: 01 Apr 2021, 23:24 »
Yeah, best I could do was 1992 3D :/ I had double the resolution for some point but the fps were a bit too low... So I halved - this was a bit early in the process. (I could theoretically code a plugin to keep things prettier, but I set early a decision to not use plugins and work with AGS Script only)

I kept the rest of the game at 640x360 because I find lower resolution text hard to read, and could not pull the walk and read - honestly the best would be to have voice acting, but me not being an English speaker kinda prohibited going this route ...

The game does have two endings! I made some comments under spoiler. They aren't really spoilery for you I think, but they may be for others. The save system should help to find both.

Warning, if you are not Creamy, do not read below unless you played the game.
Spoiler: ShowHide
If you got to beach and managed to go up and down the mountain, then instead of listening to her, the idea is to explore the island.

There are two inventory items in the whole game, one is on the island and the other is in a cave. the game has three caves, and they are all in this last area that has the beach!
« Last Edit: 01 Apr 2021, 23:58 by eri0o »

Re: I rented a boat
« Reply #6 on: 02 Apr 2021, 17:19 »
This is really impressive! I haven't finished it yet, but I like exploring the place, it has a mysterious feeling.

I like the graphics, you can understand what's going on, but the lack of details makes your imagination wander. The "watercolour-y" palette works really well.

The biggest problem I have with the game is that sometimes is hard to understand where you can walk and where you can't. Sometimes some slopes seem walkable but they aren't, and vice versa.

Spoiler: ShowHide
In fact, I'm currently stuck on the top of the mountain after seeing the balloon, as I can't get down. (laugh) I'll have to retry later.


I also had a few crashes. When loading a game after previously loading another in a different location, I got this:
Spoiler: ShowHide
An internal error has occurred. Please note down the following information.
If the problem persists, post the details on the AGS Technical Forum.
(ACI version 3.5.0.30)

Error: Unable to restore the saved game.
Game object initialization failed after save restoration.
Unable to recreate global script: Runtime error: cannot resolve import, key = 16843009

But I managed to restore the save game later without a problem.

Once, when opening the game, I got this error:

Spoiler: ShowHide

Loading game failed with error:
Script link failed.
Runtime error: cannot resolve import, key = 185466936.

The game files may be incomplete, corrupt or from unsupported version of AGS.
---------------------------
OK   
---------------------------


But I receive no error when opening again the game and everything seemed fine. Weird!

eri0o

Re: I rented a boat
« Reply #7 on: 02 Apr 2021, 18:34 »
Yes, the game has this savegame error, it's something in the AGS savesystem I think - I am abusing it a bit, but it should work... But I couldn't figure it out - I tried using VS debugger but it got me nowhere. :/ Basically the problem is I need to read all pixels of both the heightmaps and colormaps used, but this is super slow (takes like 20 seconds, this is why there's a text intro!) so what I did is preread all maps to an array during the intro and use this array - a really big array. And reading this array often works but sometimes crashes with the invalid key error :/

Spoiler: ShowHide
on the top, after you have the dialog the game removes the walkable area, and then the balloon appears, which unlocks a new dialog, now theoretically it should call an event that triggers restoring the walkable area after you talk about the balloon. If it didn't, then I need to figure other way to trigger this restore or just let to the player to decide if they want to stay on top or not...  :-\

About figuring out what is and isn't a valid walkable, this is a good criticism, I couldn't really figure na way to communicate this nicely when modeling.

Walking forward with W the character should at least slide when hitting something if possible instead of fullstopping, which should make things a bit less disappointing.

Re: I rented a boat
« Reply #8 on: 02 Apr 2021, 19:20 »
I kept the rest of the game at 640x360 because I find lower resolution text hard to read, and could not pull the walk and read - honestly the best would be to have voice acting, but me not being an English speaker kinda prohibited going this route ...


Cara, você é brasileiro, né? Você fala inglês super bem! Onde mora e onde aprendeu inglês?

Acabei de jogar e gostei muito.

Re: I rented a boat
« Reply #9 on: 02 Apr 2021, 19:29 »
Every time it crashed, re-opening the game and re-opening the save always worked, so it's not too bad.
What you pulled off is really cool, especially considered that it was done in a month!

Spoiler: ShowHide
I finished the game! I loaded a save before the dialogue about the balloon, so I don't know if the previous time I was stuck because of a problem with the game, or just my inability. ;) This time it worked fine!

I got the bad ending, unfortunately. I'll have to retry! I did find the square object (and plugged it in), and the cave with the hidden message.

Re: I rented a boat
« Reply #10 on: 02 Apr 2021, 20:16 »
I'm at the same place Lorenzo is, I guess.

Spoiler: ShowHide
I've found all three caves. Took me a while to understand that the object on the beach wasn't a cave! I guess the hidden message is a hint to where I can find an object to help me past the obstacle in the third cave, and I further guess this must be somewhere in the large cave. This game is super hard, but the objectives helped. Not given up finding the second ending yet!

eri0o

Re: I rented a boat
« Reply #11 on: 02 Apr 2021, 20:26 »
Amazing!

Spoiler: ShowHide
There's a button you may not be aware on your keyboard, it's mentioned on the Controls in the menu, it does a thing, but only in caves!

Re: I rented a boat
« Reply #12 on: 02 Apr 2021, 20:39 »
This game reminds me of some DOS-era 1st person survival games :D.



Error: Unable to restore the saved game.
Game object initialization failed after save restoration.
Unable to recreate global script: Runtime error: cannot resolve import, key = 16843009

Never seen anything like this happening in practice before. Might be interesting to investigate.

Do you still have got a save that causes this?

EDIT: ah, nevermind. I got same error after some testing. Curious thing is that it does not happen every time, same save may load or not.
Actually wonder if this is because engine runs out of memory or something... just a random guess for now.
« Last Edit: 02 Apr 2021, 20:54 by Crimson Wizard »

eri0o

Re: I rented a boat
« Reply #13 on: 02 Apr 2021, 21:08 »
@Crimson Wizard: It uses a renderer based on a renderer based on the Comanche renderer! It's really simple to implement, here's a quick walkthrough: https://github.com/s-macke/VoxelSpace

I think the out of RAM is a good guess on why it doesn't always happens! But it's still weird - it's not that much RAM in theory.

@Shadow1000
Mal, não vi seu comentário, rs. Eu moro no Rio de Janeiro, eu basicamente aprendi a falar inglês jogando mesmo. E na escola que estudei tinha aulas de inglês também! Basicamente isso mesmo hahaha

@lorenzo sorry I also missed your comment!
Spoiler: ShowHide
Lorenzo, the cave with the hidden message, it uses a keyboard key you probably haven't discovered yet, but if you load the Controls menu, it should be mentioned on bottom left, it's a key that only does something when inside a cave!

Re: I rented a boat
« Reply #14 on: 02 Apr 2021, 21:53 »
I got the good ending!

Spoiler: ShowHide
Thanks for the tip!
I finally found the hidden button (control). Where is it in the Controls menu, by the way (aside from the menu's name ;))? I couldn't find it. I just spammed every key while inside the cave, until one did something... (roll)
Anyway, I liked the alternative ending. The lovely flying scene at the end was worth the extra effort!

All in all, pretty cool game. The concept could be expanded into something bigger, but it also works as it is!

Re: I rented a boat
« Reply #15 on: 02 Apr 2021, 21:58 »


@Shadow1000
Mal, não vi seu comentário, rs. Eu moro no Rio de Janeiro, eu basicamente aprendi a falar inglês jogando mesmo. E na escola que estudei tinha aulas de inglês também! Basicamente isso mesmo hahaha


Carioca! Nossa que legal!

Na verdade, sou gringo canadense e estou aprendendo português sozinho pelo aplicativos, YouTube, converso com brasileiros pelo Whats, etc. Então você está de parabéns, porque eu sei que aprender uma língua não é facil, e achei que você fosse falante nativo de inglês!

Mesmo que gostei do jogo, não quero deixar os meus comentarios agora. Quero receber o "good ending" antes :)
« Last Edit: 02 Apr 2021, 22:00 by Shadow1000 »

Re: I rented a boat
« Reply #16 on: 02 Apr 2021, 22:19 »
"Good" news is, under MSVS debug it crashes with import key error right away at game start, and at the same import index, which gives hope it may be diagnosed easier...

Anyway, I won't clutter this thread with this until actually find something useful.

Re: I rented a boat
« Reply #17 on: 02 Apr 2021, 22:36 »

eri0o

Re: I rented a boat
« Reply #18 on: 02 Apr 2021, 23:09 »
I am so happy you guys managed to finish it!! Thank you so much for playing hentenjon and lorenzo!!  :)

@lorenzo
Spoiler: ShowHide
Theoretically the game controls are mention in the menu (this menu can be found in game using Esc key too)


If your game doesn't have the CTRL key mention (aha!), you downloaded too soon, because it's the single thing I added (I mentioned here: https://www.adventuregamestudio.co.uk/forums/index.php?topic=58905.msg636634449#msg636634449 )

Anyway, doesn't matter, super happy you managed to saw the ending and liked the flying balloon!  :-D Seriously, I am super happy!


@Shadow1000 Se algum dia quiser conversar por voz sobre qualquer coisa, apenas para praticar, seria divertido! Eu adoro seu país, minha experiência mais divertida foi passear de trailer em Banff, Jasper e arredores, inclusive devo voltar lá quando tiver vacinado... No futuro, um dia.

@Crimson Wizard Thank you so much for investigating it!

Re: I rented a boat
« Reply #19 on: 02 Apr 2021, 23:13 »
I found what's wrong. This is a bug in AGS compiler that you cannot use attributes within same script where you defined them. It does not compile this properly for some reason.
My mistake, actually I've seen this error before, but did not remember how it looks like (also it manifests differently sometimes).

You have at least few cases here:
https://github.com/ericoporto/i_rented_a_boat/blob/main/I_rented_a_boat/math3d.asc#L218 (attribute AsVec3)
https://github.com/ericoporto/i_rented_a_boat/blob/main/I_rented_a_boat/math3d.asc#L260 (Normalize)
https://github.com/ericoporto/i_rented_a_boat/blob/main/I_rented_a_boat/math3d.asc#L472 (Normalize)

After fixing this I was not able to reproduce this error.

There's also another mistake in the engine which is not critical but maybe explains why this was random, but that's less important (I will push a fix into 3.5.1 beta).

PS. I believe this is already fixed in the new script compiler by fernewelten (in ags4 branch).
« Last Edit: 02 Apr 2021, 23:37 by Crimson Wizard »