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

Topics - Glenjamin

#1
Hi everyone, it's been a minute,

Just wanted to get your thoughts on something.

I moved on from AGS to Gamemaker and unity, specifically for mobile support.  The thing is, I'm still working on adventure games in gamemaker and due to my background with AGS I instinctively structure my games like AGS would.

If I do a really good job and make it nice and neat I could release the code to the AGS community so they could make their own games mobile friendly with a relatively painless conversion process.

Is this something you'd like? My intention isn't to take away from AGS and I don't want to do that either, but it would be neat to have more AGS originals being able to play in-browser...
#2
Well guys, this is it.

I wanted to post the latest episode of the podcast here as not to bump the Project Birthplace thread anymore as well as say goodbye.

Devan and I are in agreement that we won't be making any more games with AGS at least for the near future.

This has been great. Thank you all for tolerating my shenanigans as I stumbled to make some form of creative identity. I still and will always recommend AGS to people as a fantastic way of learning how to make games.

Of course I'll still be popping my head in every now and then to check on DM's so if you ever need me that's how you can grab me.

Just a heads up, if you're interested in keeping up with the podcast, I suggest:

  • Following my twitter @SpookyGlenjamin (I tweet out links to episodes on upload)
  • Joining our discord (I send out a ping on upload)
  • Bookmark our patreon. The progress report will always be free, patreon just gives us unlimited hosting

We're also working on some kickass new stuff. You'll be able to find it there as well.

Without further adieu, here's the latest episode. Thanks everyone!

https://www.patreon.com/posts/progress-report-25375400

Also, we're extra crass this ep. Hope that's the way you like it.
#3
Anyone have an experience with finding an audience?

I've become all too familiar with the feeling of publishing a game at the end of a lengthy > 6 month long dev cycle to receive very small metrics, if any.

We've improved, promoted on social media, diversified, added routine non-game content for retention,  It just doesn't seem to be working out.

In the past I've discussed going to expos/conventions and demoing the game but realistically you can only really see about 30 people a day. Of those 30, maybe 4 or 5 will follow up.



#4

Project Birthplace's Pre-Alpha demo is available now!
https://glen-devan.itch.io/project-birthplace




Set the mood with one of Project Birthplace's demo tracks:

https://soundcloud.com/glenanddevan/project-birthplace-demos-shadetown-acoustic-v1

Project Birthplace is a point-and-click survival game about a young man on a quest to learn about and track down his missing father.


Welcome to Shadetown!

The first stop on Dan's journey: Shadetown, is populated by eccentric robed figures called "Shades". A shade's enchanted robe obscures their voice, height, face, and gender, allowing them to live anonymously.



Is this truly a utopian society free of discrimination and bias, or an unsustainable cult of hedonists and cowards?

Features:

  • Day night cycle to bring the world to life
  • A cast of over 25 unique characters with backstories, personalities, and daily schedules
  • A dense, intricate open world
  • Meticulously designed areas where every object is interact-able
  • Secret variables which manage in-game permutations for hundreds of possibilities!



Why scumm?

I find modern western role-playing games to be too combat centric. At the same time, in many scumm based games most of the verbs go largely unused.
My goal in designing the game's mechanics was to have every verb have an equally entertaining/valuable reaction per object.

What's next?

Project Birthplace is scheduled for a pre-alpha release February 10th. The main goal of the demo is to show you the intended scale of the world and how the features are currently implemented. Tell your friends!

Screenshots:











To help ensure development continues, consider checking out our Patreon.

https://www.patreon.com/glenanddevan

Rewards include: In-depth monthly progress reports, early access to updates of the game, and a weekly podcast, Q&A, and even your likeness becoming a character in future updates!

#5
With my game's day/night cycle, characters move based on the time of day, and their current coordinates.

A timer starts at game_start, and when it expires, one in game minute is added. After 20 minutes, the hour increases and the minutes reset.

I've calculated that characters can move 58 pixels per minute rounded down with a standard movespeed of 3.

If a character needs to move vertically and horizontally, I'll split the 58, moving them 29 pixels along each axis.

This is what a standard movement looks like:
Code: ags

//NOON
   } if (WorldTime == 24){
         
        if (WorldMins == 1){
        
       if ((player.Room == cgranny.Room) && (cgranny.x == 1090)) {
              cgranny.AddWaypoint(1148, 124);
             }else if (player.Room != cgranny.Room){
                cgranny.x = 1148;
                cgranny.y = 124;
                } 
                
        }else if (WorldMins == 2){
        
       if ((player.Room == cgranny.Room) && (cgranny.x == 1148)){
              cgranny.AddWaypoint(1206, 124);
             }else if (player.Room != cgranny.Room){
                cgranny.x = 1206;
                cgranny.y = 124;
                } 
//this continues until WorldMins = 20
   }



Occasionally characters do not move to the specified coordinates.  For example instead of cgranny.AddWaypoint(1206), they move to 1207 or 1205.

Sometimes they'll walk somewhere completely different to a coordinate that appears nowhere in the entire project, no less the specific script.

I can't find any correlation between each instance of these errors.

Any help is greatly appreciated, thanks in advance.
#6
Hey everyone.

My game has NPCs that walk around according to the time of day.

There are two time variables.  24 hours, and 20 minutes per hour. (I added minutes to have a greater density of actions as one an hour didn't give any room for complex walking)

After a timer is expired, the minutes increase. When the minutes reach 20 the hour increases and the minutes are reset.

Adding events for heach min/hour is done with if and else if statements in a script. While it seems a little messy it's actually not too hard to work with.

Here's a clip, the hour keeps increasing until 24:

Code: ags
 if (WorldTime == (1)){
   
   } else if (WorldTime == (2)){
               

   } else if (WorldTime == (3)){
               

   }


Within each hour, I then have checks for the minutes. This is where I add the events for the NPCs:

Code: ags

   } else if (WorldTime == (12)){
                  if (WorldMins == (0)){
                      if (player.Room == coscar.Room){
                      coscar.AddWaypoint(889, 107); 
                
                      }else{
                        coscar.x = 889;
                        coscar.y = 107;
                      }
                        
            
            }else if (WorldMins == (1)){
              if (player.Room == coscar.Room){
                       //coscar.AddWaypoint(801, 114); 
                       
                      }else{
                        coscar.x = 801;
                        coscar.y = 107;
                      }
            }//else if etc 


An issue I'm coming across is character's walk speeds seem to randomly fluctuate between AddWaypoint functions.  Sometimes they move at default speed (3), and other times they slow down to a crawl.

I measured the amount of space an npc could walk between time intervals before and it came out to about 53 (I guess pixels? Units?) a minute and 1056 units an hour. They're defiantly not moving at that speed.


This code IS in the repeatedly_execute function so I figured it might've had something to do with the addwaypoint function being called repeatedly. To counter this I tested a few variations of the following:
Also I wanted these events to be effected by blocking which is why I have both the minute timer and the actions in repeatedly_execute rather than late_repeatedly_execute.

Code: ags
} else if (WorldTime == (12)){
                  if (WorldMins == (0)){
                      if ((player.Room == coscar.Room) && (coscar.Moving == false)){
                      coscar.AddWaypoint(889, 107); 
                
                      }else{
                        coscar.x = 889;
                        coscar.y = 107;
                      }

            }


Instead of calling the function once this made coscar move even slower and flash constantly between being invisible and visible. I have genuinely no idea what this could be.

Any help is greatly appreciated, thanks.



#7
Sorry for the several posts lately,  this should be the last one until i'll have a great base to work off.

Once again we're talking variable management with characters.


For example, I have this script to indicate a character has died:

Code: ags


 function repeatedly_execute(){
    
 if (NPHealth[cJerry.ID] == 0){
   
   cJerry.Say("Looks like I'm dead friend.");
   
   }

 }


With the current setup I'd need to do an if statement for every NPC in the entire game.

I'm looking for a way for AGS to grab the character.ID of any NPC who's health has reached zero, and then use it to run the death script.

(Theoretically looking like this)

Code: ags


 function repeatedly_execute(){
    
 if (NPHealth[Character.ID] == 0){
   
   Character[character.ID].Say("Looks like I'm dead friend.");
   
   }

 }


(I've also added +1 to the health array so the character.ID's align properly)

Thanks.
#8
Hi all,

Im working on a game with several characters. Each character has a set of variables that impact their behaviors.

To tackle this, I figured I'd use "Dynamic arrays" straight from the dynamic help section of the engine.

In a script, I define the variable array. In this case it's health.

Code: ags

//define health
int NPHealth[];
 

then in game_start, I include the following:
Code: ags
NPHealth = new int[Game.CharacterCount];


Then to test if it works I set up the following: One action which tells me what a NPHealth variable is, and one which tells me what the same NPHealth variable is after subtracting 20.

Code: ags
 cCharacter.Say("health is %d",NPHealth[5]);


Code: ags


NPHealth[5] -= 20;
cCharacter.Say("health is %d",NPHealth[5]);


I keep getting "Null pointer referenced" errors. I tried moving the location of where the array is defined but nothing has worked so far.

Thanks in advance.



#9
My game has a 24 hour cycle which I use to plot out character events. One the timer hits a certain time, characters do various actions.

In this case, I'm trying to make a character walk to work. In order to do this, he walks to one side of the screen, then changes rooms the next hour.

Unfortunately the game crashes if you're not in his room when the game tells him to walk.

Is there any way to have AGS move characters that are not in the current room?
#10
Hey all.

In the game I'm working on, the character has multiple outfits they can equip at any time. However, there are more animations than just the normal view and speech view, such as a view for picking up items.

This would get very messy in the local and global scripts.

I currently have a variable for the outfits(Skins) called "pskin". It's an int, and the number indicates which outfit the player is wearing.

If my understanding of enums is correct(Which it probably isn't), I could make a set of enums, each representing an animation such as "egrab" and "esleep".

Combined with a custom function, I could end up with code like this:

Code: ags

function odoor_AnyClick(){

player.specialanimation(eopendoor, delay, repeat style, blocking, direction);
//Functionally identical to ".animate" only the enum means i don't have to set the views every time
}


I don't know if this would work, no less where to start on how to build it. Any help is greatly appreciated.
#11
Hey all.

Im using the 9-verb template for a game with lengthy dialogues.

This particular dialog has 10 possible decisions. The up and down arrows are present; However, the down arrow will not scroll past option 4.

Also, when using the down arrow, It only remains scrolled as long as the mouse is over the button. It resets back to option 1 when the mouse is moved.

Thoughts?

Thanks in advance.
#12
Not really sure where to draw the line between begginer and advanced technical questions, so here we go.

I want to make an in-game GUI that allows me to modify variables while playing. Similar to the built in debug commands. This is for testing particularly large games.

Of course building the gui is simple enough, it's the code I don't know how to tackle.

Ideally, this gui could manipulate the following:


  • Global variables
  • Character rooms/coordinates
  • Run scripts(Maybe)
  • Add specific items to the inventory
  • Refresh the current room so characters/objects can react according to the current script


Of course there's the long way of doing this, like making a button for every inventory item, but can't help but think there's a smarter way to handle it.

If I can make it work, I'd be happy to publish it as a module so everyone can test their more complex games faster.



#13
I'm currently designing a game with many variables that change events in-game. I want to get the framework right at the start, let me know what you think.

Variable sets:


  • 12 hour day/night cycle based on in-game ticks.
  • Several NPC's throughout the map, each with a "behavior set" unique to each in-game hour.
  • These behavior sets are also modified by player-based variables. Is the player liked, has the player killed someone, what is the player wearing? (All controlled by int variables)

Day/night cycle seem pretty simple enough. After a certain amount of ticks, Hour += 1;. Once the hour reaches 12, hour = 0;.

I'm thinking of having a script that runs in every room, which checks the hour. The hour then determines the NPC script. Within the NPC script, it checks player-based variables, which then chooses the behavior.

This can get messy VERY quickly, so what do you think is the most efficient way of going about this?
#14


It's just another fun "escape the room" game, right?

The player wakes up in a room and they need to solve puzzle to get out. The formula's there. 

But something's amiss. Puzzle elements start to get more and more abstract.

You keep escaping room after room after room for what? There's just more rooms! It's like you're not even escaping at all.

There's more at play than just four walls...

Download:

Direct
Itch.io
AGS - TBA

Screenshots:
Spoiler



[close]
#15
Whenever an audio track is playing whilst the player is changing rooms, the audio replays like a broken record until the next room is loaded.

Is there any way to stop this so the track continues without interruption?

#16
This is my first time implementing a savegame mechanic. I checked the manual but I'm not sure what this process would be listed under.

My game has a few requirements for when you save. What would be the best way to tackle the following issues?

1. When the player loads the game, It should return them to the room they last saved in. The room should be reset. 

2. When the player dies, they get sent to the "game over" room. If you save from the game over room, the game should save the previous room, or the player will return to the game over screen on load.

3. There should only be ONE savegame slot.

How would I go about doing this? Thanks in advance.
#17
I'm making a game with a large scrolling room and a very tall player character.

Because of the player's height, he's never truly centered in the screen and takes up too much of the top half.

How can I make the view-port anchored to a different part of the character?
#18
Hello everyone,

I wanted to program a unique kind of movement for a part in my game where the player is on a raft.

My plan was to make a region that when clicked on, sets the player to walk to the mouse location, but with some distance added to simulate momentum.

Also it would be blocked so the player could only move to one location, then wait, and then move to another location to simulate the raft only moving when they paddle with an oar

Code: ags
function hswimtest_AnyClick()
{
//if the mouse is in front of the player
 if (mouse.x > player.x){
    player.Move(mouse.x+5, mouse.y, eNoBlock, eAnywhere);

//if the mouse is behind the player    
   }else  if (mouse.x < player.x){
     player.Move(mouse.x-5, mouse.y, eBlock, eAnywhere);

   }  
}


The issue is the mouse coordinates seem to change to the far left of the screen, and the character moves there instead of where the mouse had clicked.

As far as I can tell the in-engine walk mechanics aren't interfering with this. Thoughts?
#19
HUGE


Your background must include at least one giant organism.

What qualifies as Giant: Bigger than a human? Just big you get the idea.

Deadline: 10th of February 2018.

Voting Criteria:

Concept: Is your scene unique and eye-catching? Does your organism fit into the scene?
Playability: Are there things for the player to interact with?
Artistic Execution: Is your background nice to look at? Does your organism look HUGE enough?

Good Luck!
#20
I need the expertise of an Experienced Dungeon Master to help plan the logistics of a TOP SECRET upcoming project.

Personal experiences with the game are defiantly welcome, as to build a good amount of inspiration for mechanics/story development.

Message me or comment in the thread if you're interested. (laugh)
SMF spam blocked by CleanTalk