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 - newwaveburritos

#141
Oh wow this is really impressive work!  I had actually considered something like this for the EGA palette but super super simplified where you're just swapping one pixel for a higher brightness value but this looks very cool.  I'll look forward to the module!
#142
Engine Development / Re: AGS engine Web port
Sun 18/09/2022 05:10:41
When I use the link from your website (https://ericoporto.github.io/agsjs/) it doesn't work and the console tells me this:

Failed to load resource: the server responded with a status of 404 ()
(index):1 00:03:49:504: Adventure Game Studio v3.6 Interpreter
(index):1 00:03:49:509: Copyright (c) 1999-2011 Chris Jones and 2011-2022 others
(index):1 00:03:49:509: ACI version 3.6.0.24
(index):1 00:03:49:510:
(index):1 00:03:49:510: Initializing backend libs
(index):1 00:03:49:511: Initializing game data
(index):1 00:03:49:513: Opened game data file: game28.dta
(index):1 00:03:49:513: Game data version: 3060021
(index):1 00:03:49:513: Compiled with: 3.6.0.35
(index):1 00:03:49:513: Startup directory: /
(index):1 00:03:49:513: Data directory: /
(index):1 00:03:49:513: Setting up game configuration
(index):1 00:03:49:516: Logging to warnings.log
(index):1 00:03:49:518: Unable to init voice pack 'speech.vox', file not found or of unknown format.
(index):1 00:03:49:519: Initializing TTF renderer
(index):1 00:03:49:519: Initializing mouse: number of buttons reported is 3
(index):1 00:03:49:519: Install timer
(index):1 00:03:49:519: Audio driver: emscripten
(index):1 00:03:49:533: AudioCore: opened device "Emscripten OpenAL"
(index):1 00:03:49:533:
(index):1 00:03:49:537: Install exit handler
(index):1 00:03:49:537: Initialize path finder library
(index):1 00:03:49:539: Game title: 'Saturday Night Jam'
(index):1 00:03:49:551: Game GUI version: 119
(index):1 00:03:49:555: Requested script API: unknown (3060026), compat level: unknown (3060026)
(index):1 00:03:49:555: Warning: this game requests a higher version of AGS script API, it may not run correctly or run at all.
(index):1 00:03:49:594: unresolved import 'Overlay::CreateGraphical^5' in 'SpeechBubble_0.8.0.asc'
(index):1 00:03:49:594: unresolved import 'Character::Animate^7' in 'SpeechBubble_0.8.0.asc'
(index):1 00:03:49:595: Loading game failed with error:
(index):1 00:03:49:595: Script link failed.
(index):1 00:03:49:595: Error (line unknown): in SpeechBubble_0.8.0.asc: 2 unresolved imports (last: Character::Animate^7).
(index):1 00:03:49:595:
(index):1 00:03:49:595: The game files may be incomplete, corrupt or from unsupported version of AGS.
(index):1 00:03:49:599: ***** ENGINE HAS SHUTDOWN

It does work when I upload to itch.io so it's sort of immaterial really but I thought you might want to know about it.  I commented out some other code that also wasn't working that was telling me I had some unresolved imports of GUI buttons which is what led me here.  It's weird though because I had both of those pieces of code in it before and I did manage to make it work.  I was so excited I took a screenshot so I know I wasn't dreaming!!
#143
I'm in!  I do better with a strict jam deadline anyway.
#144
I've only released one game on itch as a pay what you want and it was a jam game (about a 20 minute playthrough) and it made $20 almost immediately and then nothing since.  My plan is the keep building in the game world and develop some small following to make beer money eventually.  And then finally release Kola Queen and retire.
#145
Oh yeah this is right up my alley.
#146
Oh, yeah, thanks for posting this because I was following the conversation with great interest and trying to think of a way to record it for later usage.  You've done it for me!  Thanks!!
#147
You're getting in that armor to do some Cyrano de Bergerac style shenanigans by the way.  There will be some zany misunderstandings!
#148
There will be more animations than ever before in this one.  And I really like this new sub-system of dialogue where you can easily as any character about any other character.

#149
This is great excellent job getting it up there and out there!  I just love the EGA graphics.  They're tops!!
#150
Well, I guess we've got enough votes in to call it.  Congrats, Creamy!  I guess that means you're in charge of the new one so I look forward to seeing what you come up with.  I'll be in the mix for sure!
#151
Quote from: xboxown on Mon 29/08/2022 21:41:54

I guess the first thing is finish the video tutorial completely. I didn't even know about having a wall on top of a player so player look like he is behind the wall until I watched one of the videos. I think what I should do is finish the tutorial, make a simple not complex game with my own graphics, fun funny, just to practice and keep doing that until I get the correct and proper mojo and then I can write something great where it requires an artist.


Yes, I think this is the best thing you can do.  Also, the reason is looks like DOS is because I'm using the classic sixteen color EGA/CGA palette at 320x200 just like the good old days.  Try it out if you want something similar.
#152
I think that's sort of a two way street, really.  I don't think you should wait for final art to start work because things will change but I also don't think that you necessarily want absolutely everything in place story-wise either because in a genre like this I think the two will inform each other.  I will also echo the advice that it's best just to get started and start making something, yes, even with placeholder graphics.  Having something to show a potential collaborator will go a long way, too.

Here's an example of what I mean by placeholder art, though.  Just gets the idea across.  I just spent about ten minutes making this and you can use the robot, which I already had.  DM me and I'll email you the files.  Just get anything on the page!

[imgzoom]https://i.imgur.com/TC6ZQYl.png[/imgzoom]
#153
Okay, with a LOT of help from timiddolphin this problem can be marked as solved.  For anybody following along now or in the future here is the code that makes the scrolling work.  This is predicated on the other code higher so it may not work for you out of the box but it can certainly be taken as an example.  I think everything that makes it work is in the thread here, though.

Code: ags

int buttonGraph[16];  //this is the number of total characters +1, by the way.

function initButtonGraph()
{
  //runs in game-start,  sets every slot in the array to 0.
  for (int i = 0; i < Game.CharacterCount; i++)
  {
    buttonGraph[i] = 0;
  }
}

function setFirstButtonGraphIndex(int theGraphic)
{
  for (int i = 0; i < 15; i++)
  {
    if(buttonGraph[i] == 0)
    {
      buttonGraph[i] = theGraphic; //sets the first 0 it finds to the graphic you put into this function
      return;
    }
  }
}

int scrollPosition = 0;

int findMaxScrollPosition()
{
  for (int i = 15; i > -1; i--)
  {
    if(buttonGraph[i] != 0)
    {
      return i;
    }
  }
  return 0;
}

function ScrollLeft()
{
  if(scrollPosition == 0)
  {
    scrollPosition = findMaxScrollPosition();
  } else {
    scrollPosition--;
  }
  btnCharacterChoice.Animate(buttonGraph[scrollPosition], 0, 5, eRepeat, eNoBlock);
}

function ScrollRight()
{
  if(scrollPosition == findMaxScrollPosition())
  {
    scrollPosition = 0;
  } else {
    scrollPosition++;
  }
  btnCharacterChoice.Animate(buttonGraph[scrollPosition], 0, 5, eRepeat, eNoBlock);
}



//===========================================


function game_start()
{
  initButtonGraph();
  setFirstButtonGraphIndex(42);  //you'll probably want to call these as you click on a character wherever your clicks are handled.
  setFirstButtonGraphIndex(43);
  setFirstButtonGraphIndex(44);
}
#154
Well, seeing as how I'm the only other entry I don't mind just awarding Creamy the prize since their entry is really good!!  Although we could be formal and vote I would definitely vote for Creamy.
#155
Quote from: Pax Animo on Wed 24/08/2022 01:50:00
One thing I'd like to mention is check your sprites, as from my understanding they will effect your character/object baselines, as Crimson mentioned, baselines are set at the character's/object's feet, which is the bottom line of the sprite of said character/object.

I think it's worth noting that the baseline is the bottom of the sprite which is not necessarily the feet.  I know I've problems because I assumed that AGS would somehow know about feet.  It knows about sprite bottoms so if you have a few extra pixels things can get confusing.
#156
I've made a little progress.  I think what I'm looking for is something along the lines of:

Code: ags

BackgroundGraphic=CharactersMet.ItemCount;
    BackgroundGraphic++;
    if (BackgroundGraphic==CharactersMet.ItemCount){
      BackgroundGraphic=0;
    }


This will make it so that the background image of the button has the right number of options but I'm having trouble wrapping my head around how to set each of those to the proper character since you could meet them in any order, essentially.  I'm halfway tempted just to make the intro a big monster party so you meet everyone at once!

Code: ags

if (CharactersMet.Contains("Dracula")){
//enable Dracula's button etc. etc.
}
[code]
#157
You've got until tomorrow so if you're working on something or got something bouncing around up there get it out and get it in!
#158
Okay, one thing I failed to account for is that it doesn't make sense to have a whole list of characters available to you at game start since you haven't met anybody yet so it makes sense to populate the thing as you meet the characters.  I think that I'll have to do this with the scrolling system.  The characters get added to a set which is how I am tracking who you have met.  BackgroundGraphic is just an int so you could feasibly change that int based on the number of entries in the set CharactersMet but I feel like there's a better option here that I'm just not thinking of.

Here's the scrolling code:

Code: ags


function ScrollLeft()
{
  BackgroundGraphic--;
  if (BackgroundGraphic==-1){
    BackgroundGraphic=7;
  }
    switch (BackgroundGraphic)
    {
      case 0:
        
        btnCharacterChoice.Animate(42, 0, 5, eRepeat, eNoBlock);
       
        break;
      
      case 1:
      
        btnCharacterChoice.Animate(43, 0, 5, eRepeat, eNoBlock);
        break;
      
      case 2:
      
        btnCharacterChoice.Animate(44, 0, 5, eRepeat, eNoBlock);
        break;
      
      case 3:
      
        btnCharacterChoice.Animate(45, 0, 5, eRepeat, eNoBlock);
        break;
      
      case 4:
      
        btnCharacterChoice.Animate(46, 0, 5, eRepeat, eNoBlock);
        break;
      
      case 5:
      
        btnCharacterChoice.Animate(78, 0, 5, eRepeat, eNoBlock);
        break;
      
      case 6:
      
        btnCharacterChoice.Animate(79, 0, 5, eRepeat, eNoBlock);
        break;
      
      case 7:
       
        btnCharacterChoice.Animate(41, 0, 5, eRepeat, eNoBlock);
        break;
      
    }
}


function ScrollRight()
{
  BackgroundGraphic++;
  if (BackgroundGraphic==8){
    BackgroundGraphic=0;
  }
    switch (BackgroundGraphic)
    {
      case 0:
        
        btnCharacterChoice.Animate(42, 0, 5, eRepeat, eNoBlock);
        labelWhoAmITalkingAbout.Text=String.Format("Dracula!");
        WhoAmITalkingAbout=cDracula;
        break;
      
      case 1:
      
        btnCharacterChoice.Animate(43, 0, 5, eRepeat, eNoBlock);
       WhoAmITalkingAbout=cFrank;
        break;
      
      case 2:
      
        btnCharacterChoice.Animate(44, 0, 5, eRepeat, eNoBlock);
        WhoAmITalkingAbout=cMummy;
        break;
      
      case 3:
      
        btnCharacterChoice.Animate(45, 0, 5, eRepeat, eNoBlock);
        WhoAmITalkingAbout=cPhantom;
        break;
      
      case 4:
      
        btnCharacterChoice.Animate(46, 0, 5, eRepeat, eNoBlock);
        WhoAmITalkingAbout=cWolfie;
        break;
      
      case 5:
      
        btnCharacterChoice.Animate(78, 0, 5, eRepeat, eNoBlock);
        WhoAmITalkingAbout=cYoko;
        break;
      
      case 6:
      
        btnCharacterChoice.Animate(79, 0, 5, eRepeat, eNoBlock);
        WhoAmITalkingAbout=cRobot;
        break;
      
      case 7:
        
        btnCharacterChoice.Animate(41, 0, 5, eRepeat, eNoBlock);
        WhoAmITalkingAbout=cAlien;
        break;
    
    }
}

#159
What I've done in the past is make a debug GUI where I can manipulate the variables of the story and game progress manually.  This also gets weird and complicated and I ended up playing the game the same way every time essentially speed running the game which led to some unintended consequences when I tried playing it without keyboard shortcuts but if you're careful you can probably avoid a lot of these.  Crimson's chapter approach seems pretty logical, too.
#160
I decided to take a little break from my standard EGA palette madness and use the Gameboy palette and resolution which is really tough!

[imgzoom]https://i.imgur.com/hwjkHCt.png[/imgzoom]
SMF spam blocked by CleanTalk