Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Giacomo

#21
Hello, everybody I have a problem that I cannot solve.
It's about a dialogues series in which you have to give three right answers, otherwise you will have restart from the beginning.

The first dialogue opens some topics of the second dialogue, depending from the answer given. Then, the second dialogue opens some topics in a third dialogue, always depending from the answer. Because the topics were many, the third dialogue has been split in two dialogues.
If you give the wrong answer in the third dialogue, the options of the last two dialogues are set off and you restart from the first dialogue.

Before I had another problem: if I continued to say the wrong answer, restarting the dialogue for about 15 times, the game crashed displaying a message concerning a recursive call.
I solved this problem by forcing the player to give the solution after a certain number of attempts(and he gets a negative point!), but I felt there was still something to fix.

The new problem shows up in the web version of the game only. If I say the right answer at the first attempt, the problem won't show up. But if I miss the answer just once and then restart the dialogue, a javascript exception gets thrown with these error messages:

Aborted(RuntimeError: unreachable executed)
Uncaught RuntimeError: Aborted(RuntimeError: unreachable executed). Build with -sASSERTIONS for more info.

I'll try to reduce the script removing the recurring parts.

FIRST DIALOGUE(8 AVAILABLE ANSWERS):
Spoiler
Code: ags
// Dialog script file
@S  // Dialog startup entry point

  if(ominoTentativi == 12) //force to skip to final dialogue
  {
omino: Dad, I'm tired!
cUomoAppeso: Me too!
omino: You are too weak...
  Wait(20);
omino: I want sugar candies...
cUomoAppeso: Finally!
  dOminoPapaFinale.Start();
  }
  
  else if(ominoTentativi > 0) //after the first attempt, say the following
  {
omino: Wrong answer!
omino: Again, what am I thinking about?
  }
  
return

@1 //wrong answer, like options 2, 6
  _ominoDialoghi(1, 0); //see functions below
  if(ominoGiocattoli) //global var bool, a kind of "if option has been choosen"
omino: Maybe no...

  else
omino: Maybe.
    dOminoPapa2.Start();
stop

(...)

@3 //right answer
  _ominoDialoghi(7, 0);
omino: Maybe.
  dOminoPapa2.Start();
stop

@4 //options 4, 5, 7, 8 will return to current dialogue
  dOminoPapa1.SetOptionState(4, eOptionOffForever);
return

(...)
[close]

SECOND DIALOGUE(3 AVAILABLE ANSWERS):
Spoiler
Code: ags
// Dialog script file
@S  // Dialog startup entry point
return

@1
  if(ominoGiocattoli) //same global var bool, used for the three available options
omino: Maybe no!
  else
omino: Maybe...
  _ominoDialoghiCanc(33); //see function below
  _ominoDialoghi(1, 1); //see function below
  dOminoPapa31.Start(); //open part one of third dialogue
stop

@2
  if(ominoGiocattoli)
omino: Maybe no!
  else
omino: Maybe...
  _ominoDialoghiCanc(33);
  _ominoDialoghi(4, 1);
  dOminoPapa31.Start();
stop

@3
  if(ominoGiocattoli)
omino: Maybe no!
  else
omino: Maybe...
  _ominoDialoghiCanc(33);
  _ominoDialoghi(7, 1);
  dOminoPapa31.Start();
stop

(...)

@6
  if(ominoVideogame)
omino: Maybe no!
  else
omino: Maybe...
  _ominoDialoghiCanc(33);
  _ominoDialoghi(16, 1);
  dOminoPapa31.Start();
stop

@7
  if(ominoCiboCarne)
omino: Maybe no!
  else
omino: Maybe...
  _ominoDialoghiCanc(33);
  _ominoDialoghi(1, 2);
  dOminoPapa32.Start(); //open part two of third dialogue
stop

@8
  if(ominoCiboPizza)
omino: Maybe no!
  else
omino: Maybe...
  _ominoDialoghiCanc(33);
  _ominoDialoghi(4, 2);
  dOminoPapa32.Start();
stop

(...)

@12
  if(ominoTravestimenti)
omino: Maybe no!
  else
omino: Maybe...
  _ominoDialoghiCanc(33);
  _ominoDialoghi(16, 2);
  dOminoPapa32.Start();
stop
[close]

THIRD DIALOGUE(SPLIT IN 2, 3 AVAILABLE ANSWERS):
Spoiler
Code: ags
// Dialog script file
@S  // Dialog startup entry point
return

@1
  if(Game.DoOnceOnly("dOminoPapa3101")) //say once when the answer was choosen
  {
omino: I don't like that doll...
omino: ...I only like the video-game of Monkey Donk@!
  }
  if(Game.DoOnceOnly("ominoGiocattoli")) _ominoDialoghiFinale(0); //say once when the previous answer was choosen
  else _ominoDialoghiFinale(4); //the second time say another thing
  _ominoDialoghiCanc(34);
  dOminoPapa1.Start(); //restart
stop

(...)

@10
  if(Game.DoOnceOnly("dOminoPapa3110"))
omino: I want it but it's not here.

  if(Game.DoOnceOnly("ominoVideogames")) _ominoDialoghiFinale(1);
  else _ominoDialoghiFinale(5);
  _ominoDialoghiCanc(34);
  dOminoPapa1.Start();
stop

(...)
[close]

Spoiler
Code: ags
// Dialog script file
@S  // Dialog startup entry point
return

@1
  if(Game.DoOnceOnly("dOminoPapa3201"))
omino: That's what YOU want!

  if(Game.DoOnceOnly("ominoCibo")) _ominoDialoghiFinale(2);
  else _ominoDialoghiFinale(60);
  _ominoDialoghiCanc(35);
  ominoCiboCarne = true;
  dOminoPapa1.Start();
stop

@2
  if(Game.DoOnceOnly("dOminoPapa3202"))
  {
  cOmino.FaceDirection(eDirectionLeft);
omino: Like those?
cUomoAppeso: Yes!
  cGiostraia.FaceDirection(eDirectionRight);
giostraia: No way!
  cOmino.FaceDirection(eDirectionRight);
  cGiostraia.FaceDirection(eDirectionDown);
omino: Dad, I don't like chicken!
  }
  if(Game.DoOnceOnly("ominoCibo")) _ominoDialoghiFinale(2);
  else _ominoDialoghiFinale(60);
  _ominoDialoghiCanc(35);
  ominoCiboCarne = true;
  dOminoPapa1.Start();
stop

(...)

@7
  if(Game.DoOnceOnly("dOminoPapa3207"))
omino: I would like it but where can you see it?

  if(Game.DoOnceOnly("ominoCibo")) _ominoDialoghiFinale(2);
  else _ominoDialoghiFinale(62);
  _ominoDialoghiCanc(35);
  dOminoPapa1.Start();
stop

@8 //right answer
omino: Yes!
omino: You guessed it, daddy!
  dOminoPapaFinale.Start();
stop

@9
  if(Game.DoOnceOnly("dOminoPapa3209"))
omino: Maybe but it's not here.

  if(Game.DoOnceOnly("ominoCibo")) _ominoDialoghiFinale(2);
  else _ominoDialoghiFinale(62);
  _ominoDialoghiCanc(35);
  dOminoPapa1.Start();
stop

(...)

[close]

FUNCTIONS TO RESET DIALOGUES:
Spoiler
Code: ags
function _ominoDialoghi(int topic,  int dialogNumber) //set options state in next dialogue
{
  int w = topic;
  while(w <= topic + 2) //if I choose 1st answer, set option 1, 2, 3 on, 2nd answer set 4, 5, 6 on etc etc.
  {
    if(dialogNumber == 0) dialog[33].SetOptionState(w ,eOptionOn);
    else if (dialogNumber == 1) dialog[34].SetOptionState(w ,eOptionOn);
    else dialog[35].SetOptionState(w ,eOptionOn);
    w++;
  }
}

function _ominoDialoghiCanc(int dialogNumber) //reset options of the choosen dialogue
{
  for(int o = 1; o <= dialog[dialogNumber].OptionCount; o++)
  {
    if(dialog[dialogNumber].GetOptionState(o) == eOptionOn) dialog[dialogNumber].SetOptionState(o, eOptionOff);
  }
}

function _ominoDialoghiFinale(int field) //custom functions for a dialog
{
  if(field == 0) //toy
  {
    //say something
    ominoGiocattoli = true;
  }
  else if(field == 1) //videogame
  {
    //say something
    ominoVideogame = true;
  }
  else if(field == 2) //food
  {
   //say something once, this is the right field so I manage it in another way
  }
  else if(field == 3) //disguise
  {
    //say something once
    ominoTravestimenti = true;
  } //say these things if you choose a field twice, the field food has 3 different phrases because it is the right first answer and I reply according to what you chose for as next answer(1st answer: food --> 2nd answer: meat/flours/sweets) 

  else if(field == 4) cOmino.Say("I said it's not about toys!"); //toy 2nd time
  else if(field == 5) cOmino.Say("I can't get any video-game here!"); //videogame 2ndtime
  else if(field == 60) cOmino.Say("I don't want meat right now!"); //food/meat
  else if(field == 61) cOmino.Say("I don't want anything like pizza, pasta or panini!"); //food/flours
  else if(field == 62) cOmino.Say("A sweet may be interesting!"); //food/sweet
  else if(field == 7) cOmino.Say("I only want that football shirt and I can't have it!"); //disguises 2nd time
  ominoTentativi++; //this function is called when the chose answer is wrong, so I count the attempts at the end
}
[close]

If it can help, I can share a video where you can see the moment in which the game crashes and when the error message shows up.

I know that the question might be complex and I hope I wrote enough to understand how the script works. I tested it a lot and the logic seems to be correct (maybe the script can be reduced as well), I don't know what triggers the error in the web version. I hope there's a solution.

Thank you,
Giacomo
#22
Completed Game Announcements / Re: In dip
Tue 15/10/2024 11:12:04
Hi, I'm playing your game and I am enjoying it a lot. Maybe it's because I'm Italian and I also attended university.

It's very funny and I like the lewd speech, the nicknames and characters; it makes me laugh a lot.

Despite of that, I think you should improve something; I know that using the 6 verbs means a lot of scripting but you should fulfil the functions for unhandled events.

For example: There are are a couple of doors in which I can't enter but the player doesn't say anything about it, you should let him say that the door is closed or that you can't get in for the moment.

Also, sometimes the behaviour when I right click on an object in the inventory is different from when I press the "use" button. This might cause a bit of confusion and insecurity(I have to try both right click and "use" button to see if something works)

Sometimes the character's walking doesn't point directly yo the hotspots but that is secondary.

Some phrases are in English only and that's weird if the game is supposed to be originally  in Italian.
Anyway, when I was making my game I didn't always find all the phrases in translation file and sometimes I had to translate manually, using the statement "if"(if the language is Italian, say it in Italian, otherwise in English).

Actually I'm stuck and considering all these little errors I'm not sure if I'm missing something or if the game has some glitches.
You can consider to insert a walk-trough in the archive of the game or open a hint and tips thread.

I like it and I like the references to the old fashioned games like Monkey Island, I wish I can play more of these games and I can offer my help (if there's not much work to do) to fix the script.

Giacomo
#23
Thank you, Sim_o.

I'm happy to hear that you enjoed the game. You are right, some hotspots might be hard to find and indeed, where possible, I resized the clickable area.

I wrote the dialogues in english first and translated later into italian. Maybe some phrases were indeed hastily translated, that's because I had to manage almost everything on my own and I didn't always concentrate on the translation. I'll do better next time!

If you liked the game, please leave a comment on the game page and rate it!

On itch I opened a thread to share the report card that I give at the end of the credits video, to rate our detective skills. You can share your mark there!
#24
Hi Creamy, that's not a dead end. It's just a bad writing of the quests logic...I will do better for next games.

Spoiler
Go to first scenario and look at the metal wire between the lamp and the bin, now you can talk to Geremia and give him the bucket
[close]
#25
I have found the error, I missed a function and the music didn't change together with the background, this triggered the error.

The game has been updated.


Creamy, thank you again! I think you to have restart the game, I'm sorry about that.

#26
Creamy, your name should be added between game testers on credits! Thank you for finding all these errors.

Does the game crash everytime you try to do that thing? I hope it's not so and that you could complete the story. I tried that part so many times and nor me nor my friends who tested the game have ever found it out...I am going to fix it very soon. You can send me the saved game file.

Everyone who is playing the game, please have patience. I am no programmer, but I will ensure to make this game work well!
#27
Ok, I informed Khris and he corrected the faulty line in his module. Now it seems to work fine. 

I guess that who use Scrolling Dialogs module should update it now. I also updated the game.

Thank you, Creamy and Khris

#28
Thank you, Creamy. I have never encountered that error and despite I'm trying to replicate it, nothing bad seems to happen yet.
I'm sorry to know that the game can still crash. If you can, please give me more details about how that happened.

I realized that sometimes I call "return" instead of "stop" when a dialogue option is choosen. I organised many dialogues so that they work in progression: when I choose an option I use to close the current dialogue and jump to next (e.g. dPhone1 -> dPhone2 -> dPhone3...).

I think it's a good idea to call "stop" everytime you choose an answer, so the current dialogue gets closed and the following one gets opened; this should work well especially if you don't have to jump back into a previous topic, so when a talk is simply linear.

Maybe calling "return" and opening a new dialogue might give problems for the count of ActiveOptionID, as from the error message it seems you have a too high number, compared with the number of the range.

I'll try to figure it out but I'm fumbling around in the dark and I'm not sure how I could fix this.
#29
I'm sorry about this, maybe it's because I modified many times the game page on itch.io.

Please tell me if you still have problems for download.
#30
Sorry, now it should works.

I had some connection problems so excuse me for the late reply.

I added a mirror link to itch.io

Enjoy it,
Giacomo
#31

                                                                    (lighting strike in town festival)

PLOT

Falco is a popular police commissioner of the homicides department who works in the capital city of a certain old country.
After 20 years spent investigating murders, he chose to take a long break to return home, a small hill town in the north of the country where people loves drinking.
He just set foot in town when the mayor promptly contacted him to ask him for a favour, knowing his affection for drinks and parties, and gave him the task to free up the town party that is supposed to go on all night long.



Indeed, a lot of noisy drunkards gather there for town festivals to have party until late in the night, and no police officer was able to stop them, especially during the festival of Baucco.
Falco is happy to accomplish the task as to join the old men to drink with them, but the meeting with an old acquaintance of school times will make the story more interesting.



MAKING OF THE GAME

Falco is my first game ever made. I didn't know anything about scripting and graphic, so it took me a lot to make it, especially to draw animations and backgrounds.
I also composed the music and wrote the dialogues, for the last with a little but essential help from my friend.
The game is quite short and it's supposed to be a kind of demo or introduction for the character, which I'd like to develop to make some noir stories, without forgetting of the humour element proper of adventure games.

LANGUAGES:
Italian
English

DOWNLOAD:
AGS game page
There could be minor glitches.
Now the game is available for web, but I can't take screenshot for saved games yet.

Thanks to AGSers:
@Crimson Wizard
@eri0o
@Snarky
@edmundito
@7yp0
@The Last To Know
@Yanek_Crispbread

Special thanks to AGSer:
@Khris
#32
Hello, the game is being tested and I'm working with my friends to correct the italian translation.
I'm also fixing the last music notes and some little problems regarding the conversion from digital sheet music to audio.
The game seems to work fine but there are few minor glitches that I'm not able to fix yet, it's nothing too bothersome as well.

It will be released in september, but if you want to play it already feel free to send me a private message, I will be glad to send you a copy!

It was a long but amazing experience, I have found a really interesting place on this forum and I want to continue the story of Falco.
The next time I will write a post, it will be on completed game announcements!

Thank you, people of the forum, thanks to AGS supportes and developers; I had a great time and I'm sure I will have more fun making new games!

Giacomo
 
#33
Hi, I finished your game, it was pretty nice, good job!
I was also kissed by the Feen!

Thank you,
Giacomo
#34
Thank you, these info are very useful.
I'm still having a hard time with dynamic sprites, surfaces and overlays. I will test the script on a excercise project.


At the end I created the effect manually trough aseprite, because the animation script is full of lines and I can't handle it very well.
I will study more, to handle next complex animations better.

Cheers,
Giacomo
#35
Thank you, Crimson. I indeed wanted to try with an overlay but I've never used it and I have to read well the manual to use it.

I'll give it a try, thank you!

Sorry Crimson, one more thing... I use objects as background, is it possible to affect just one object that is in front of these background objects and leave them unchanged?
#36
Hello,
I'd like to ask a question about visual effects.

Imagine there is a object falling down from the sky.
On a certain moment the object lights up because it enter in a light ray action.
Then the object goes up and gets dark again.

Is it possible to create a shadow effect that covers the pixels within a sprite and on a certain range?
if I use region light then all the object changes tint and I'd like to give the shadow effect.

Eventually, I can do it manually on sprite editor, but I wonder if there is a faster way using
overlays or dynamic sprites.

Thank you.
#37
Hello, I converted the game into .APK file, the development for android as officialy begun!

Thank you @eri0o, I followed your instructions.

Sorry if I post some questions here but there's a lot I don't understand and can't find much informations in the forum.

I'm using BASS template, how can I convert right and left clicks into taps?
How do I lock screen rotation when playing?

Is there anyone who could help me testing the game for android and help me publish it on the Play Store?
I switched the graphic driver from Direct3D to OpenGL but I still have some graphic problems, for example when game camera moves(it actually happened only in the beginning)

I'll keep on researching for solutions and finish reading eri0o's instructions;
if someone wants to help me in the meanwhile, please message me. Thanks!
#38
Again, thanks everyone for your feedbacks.

@Yanek_Crispbread Thank you for the info and for your disponibility, if that is the case I will start asking for donations support!

@7yp0 Thank you, I really like your idea. I had a look at your website and what you do is really somtehing. Soon I will contact you.

@Vincent At school I learned a bit of mechanical and architectural graphic and used them for work.
I used to draw characters like Donald Duck, Mickey Mouse and Dragonball's ones for the most and I'm no good in drawing backgrounds.

About the graphic of the game, I read and watched something about illustrations and animations, and I used the golden ratio to draw characters and backgrounds.

The drawings you see wheren't made by hand before nor where taken from a picture of a landscape. I simply imagined my hometown on a different view and draw it on aseprite. Doing this took me much more than scripting.
I didn't use colours because that would mean more job, despite I studied the matter a bit. Well, gray is for a noir!

A background of the game was made on a different way.
To draw it I took pictures at the things I wanted to put in and then resized and correct them in low resolution,
you will notice it once you play the game.
I'd ike to know if that kind of BG looks better than my drawings, please let me know!


Finally, should you ever like my game, please contact me for anything you want to do in order to team up. My mind is full of ideas and i need experts to make things better. This game will be free, but I aim to make lowcost commercial games for the wich I'd like to share little earnings, to have fun and make people have fun with adventure games!

P.S.

I love Monkey Island II and Gabriel Knight I and they inspired more than any other games!

EDIT: I forgot to mention Grim Fandango, another masterpiece of adventure games!
#39
Hello, I am going to play your game very soon!
#40
Thank you all very much for your feedback, it was very appreciated.

You guessed it! Columbo inspired me a lot and I wanted my character to look like him.

@7yp0 I don't know how to upload games on steam. When I will finish it I will upload it on AGS forum for free and, if possible, also on steam, gog or whatever, still for free.

@Matti Don't expect to see a great graphic, indeed I'd like to find some artists for drawing backgrounds and animations. For the moment I did it all by myself, learning how to use aseprite. If someone likes the idea and wants to help me with graphic for future productions,once the game will be complete, I will be happy to team up.

Be patient for just a few months, thank you again!
SMF spam blocked by CleanTalk