I rented a boat

Started by eri0o, Thu 01/04/2021 15:08:31

Previous topic - Next topic

eri0o



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.








Attribution:

Sound Effects, Ambience and Music:
  • World Map - Scrabbit
  • rpg_sound_pack - by artisticdude
  • Grass Foot Step Sounds (Yo Frankie!) - by Blender Foundation
  • 40+ FREE Footstep SFX - by PremiumBeat.com
  • "Windy Ambience" - by MrAuralization
  • Radio Static - by digifishmusic
  • cave_amb.wav - Zixem
  • Cavernous Drone - glueIsobar
  • crowd int medium movie theater lobby Paramount2 Montreal, Canada.flac - kyles
  • brazilian-beach-party.wav - audiactiva
  • The Refrigerator - karinalarasart
  • Ambience, Seaside Waves, Close, A.wav - InspectorJ (Jonathan Shaw)
  • "Flying above the ocean" - Tad Miller

Graphics:
  • Walkie talkie - by Noah
  • sunset - Abdullah Ghatasheh
  • Balloon - by Michael Stöter

Script Modules:
  • Timer - Crimson Wizard
  • Tween - Edmundito

Edit: holy crap someone played my game in Japanese! I have no idea if the person liked or not but I was absolutely in love with their work!

arj0n

Very nice and impressive mags entry.

eri0o

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

The pictures reminds me Lovecraft's Dagon

Creamy

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
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.
[close]
 

eri0o

#5
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
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!
[close]

lorenzo

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
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.
[close]

I also had a few crashes. When loading a game after previously loading another in a different location, I got this:
Spoiler
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
[close]
But I managed to restore the save game later without a problem.

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

Spoiler

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   
---------------------------
[close]

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

eri0o

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
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.
[close]

Shadow1000

Quote from: eri0o on Thu 01/04/2021 23:24:37
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.

lorenzo

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
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.
[close]

heltenjon

I'm at the same place Lorenzo is, I guess.

Spoiler
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!
[close]

eri0o

Amazing!

Spoiler
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!
[close]

Crimson Wizard

#12
This game reminds me of some DOS-era 1st person survival games :D.



Quote from: lorenzo on Fri 02/04/2021 17:19:27
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.

eri0o

@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
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!
[close]

lorenzo

I got the good ending!

Spoiler
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!
[close]

Shadow1000

#15
Quote from: eri0o on Fri 02/04/2021 21:08:19


@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 :)

Crimson Wizard

"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.


eri0o

I am so happy you guys managed to finish it!! Thank you so much for playing hentenjon and lorenzo!!  :)

@lorenzo
Spoiler
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!
[close]

@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!

Crimson Wizard

#19
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).

SMF spam blocked by CleanTalk