Making a whole game as a single map

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
User avatar
Hidden Hands
Posts: 1053
Joined: Tue Sep 20, 2016 8:11 pm
Location: London, England
Contact:

Making a whole game as a single map

Post by Hidden Hands »

This is a question that contains other questions so I'm hoping someone can assist me with some replies.

I have a game based in a hotel. The entire game is meant to be set there thats just how my design document always planned it. Think Resident Evil 1 but I first person with a hotel instead of a mansion. The game is survival horror.

Designing the map is no real issue as I can do that but my questions are as follows:

1.How can I make the background music change from room to room?

2. How would I go about programming puzzles such as those found in Resident Evil style games?

3. Is it possible to make events happen throughout the level as you progress including ones that happen while back tracking? (Example: returning to a previously empty room may now trigger a monster to burst through a window or out a closet).

4. Can puzzle items be coded the same way as Keys can? Ie; making a LOCKDEF or a DECORATE?

5. How can I program footsteps for the player?

6. How can I make monsters behave in a way more suitable to survival horror? (For example: certain monsters will not or cannot leave areas or rooms and monsters do not pursue the player throughout the map unless in line of sight: running away means they will stop their pursuit and return to standing around or roaming mindlessly.)

7. How can I make the inventory similar to that of Resident Evil style games? (The PS1 era ones - Limited space and item management).

8. How can I make files that the player finds enter this inventory in a document folder?

9. Is there a way to code universal item boxes to help manage these inventories?

I hope anyone can help in any way at all.

Thanks in advance.
Blue Shadow
Posts: 4949
Joined: Sun Nov 14, 2010 12:59 am

Re: Making a whole game as a single map

Post by Blue Shadow »

Hidden Hands wrote:1.How can I make the background music change from room to room?
I made this last year for someone who wanted something like that.
4. Can puzzle items be coded the same way as Keys can? Ie; making a LOCKDEF or a DECORATE?
Why not just make those puzzle items keys instead of whatever they are? Anyway, if you really want to use arbitrary items as keys, you can. LOCKDEFS accepts any inventory item type for a lock, not just keys.
User avatar
Hidden Hands
Posts: 1053
Joined: Tue Sep 20, 2016 8:11 pm
Location: London, England
Contact:

Re: Making a whole game as a single map

Post by Hidden Hands »

Blue Shadow wrote:
Hidden Hands wrote:1.How can I make the background music change from room to room?
I made this last year for someone who wanted something like that.
4. Can puzzle items be coded the same way as Keys can? Ie; making a LOCKDEF or a DECORATE?
Why not just make those puzzle items keys instead of whatever they are? Anyway, if you really want to use arbitrary items as keys, you can. LOCKDEFS accepts any inventory item type for a lock, not just keys.
Great, thank you. I'm downloading the file now I'll check it out.

As regarding to the puzzles, I thought it would be good to include things like moving statues or floor panel sequences etc. But I think its gonna be too complex.

Also, I forgot to add it in my first post here, any idea how to disable game saving and make it so you can only save at certain points instead? For example, a save room has a casette recorder in it. Accessing the cassette recorder allows you to save.

edit: ok I just checked out the WAD, I think I get it. How would I make each room specific using this method? The ToggleMusic script obviously needs extra scripts of the same nature? I'm not entirely sure how to pull it off if I want several variants for several different rooms.

Also, I'm having trouble getting this to work. In your example it works great, but when implementing it into my map it does nothing and it doesn't identify the script. It says in red "unknown script" when I highlight the actor.
Last edited by Hidden Hands on Wed Feb 13, 2019 3:08 am, edited 1 time in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Making a whole game as a single map

Post by Graf Zahl »

Hidden Hands wrote: Also, I forgot to add it in my first post here, any idea how to disable game saving and make it so you can only save at certain points instead? For example, a save room has a casette recorder in it. Accessing the cassette recorder allows you to save.
You can't. One of the deliberate design decisions of ZDoom always have been to not let the mapper dictate the user side of functionality.
User avatar
Hidden Hands
Posts: 1053
Joined: Tue Sep 20, 2016 8:11 pm
Location: London, England
Contact:

Re: Making a whole game as a single map

Post by Hidden Hands »

Graf Zahl wrote:
Hidden Hands wrote: Also, I forgot to add it in my first post here, any idea how to disable game saving and make it so you can only save at certain points instead? For example, a save room has a casette recorder in it. Accessing the cassette recorder allows you to save.
You can't. One of the deliberate design decisions of ZDoom always have been to not let the mapper dictate the user side of functionality.
That sounds like a really bad decision. Why would it be created in a way that takes away a creators freedom?
User avatar
kevansevans
Spotlight Team
Posts: 420
Joined: Tue Oct 05, 2010 12:04 am
Graphics Processor: nVidia with Vulkan support
Contact:

Re: Making a whole game as a single map

Post by kevansevans »

Hidden Hands wrote:That sounds like a really bad decision. Why would it be created in a way that takes away a creators freedom?
You're absolutely free to fork GZDoom and remove this functionality as long as you A) State that these changes are present, and B) keep your build open source. No one will fault you for this.
User avatar
Hidden Hands
Posts: 1053
Joined: Tue Sep 20, 2016 8:11 pm
Location: London, England
Contact:

Re: Making a whole game as a single map

Post by Hidden Hands »

kevansevans wrote:
Hidden Hands wrote:That sounds like a really bad decision. Why would it be created in a way that takes away a creators freedom?
You're absolutely free to fork GZDoom and remove this functionality as long as you A) State that these changes are present, and B) keep your build open source. No one will fault you for this.
Oh.. right. Okay, thats cool then. Yeah, I plan to release a manual with the game so it will make everything clear about the way my game functions.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Making a whole game as a single map

Post by Graf Zahl »

Hidden Hands wrote: That sounds like a really bad decision. Why would it be created in a way that takes away a creators freedom?

Because allowing creator's freedom would take away user's freedom, which is considered far more important.
User avatar
Hidden Hands
Posts: 1053
Joined: Tue Sep 20, 2016 8:11 pm
Location: London, England
Contact:

Re: Making a whole game as a single map

Post by Hidden Hands »

Graf Zahl wrote:
Hidden Hands wrote: That sounds like a really bad decision. Why would it be created in a way that takes away a creators freedom?

Because allowing creator's freedom would take away user's freedom, which is considered far more important.
While I understand that to some degree, if all games did that there would be no survival horror games. Management and survival make these sorts of games key elements in a panic/horror/desperation environment. Being able to save anywhere means you are always "safe".
User avatar
Rachael
Posts: 13561
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Making a whole game as a single map

Post by Rachael »

Hidden Hands wrote:While I understand that to some degree, if all games did that there would be no survival horror games. Management and survival make these sorts of games key elements in a panic/horror/desperation environment. Being able to save anywhere means you are always "safe".
Then survival horror is broken by design.

I've played plenty of save-anywhere survival horror games and I didn't think any less of them for the save-anywhere elements. In short: Deal with it. There are plenty of ways to cook the player's goose without depending on such a lazy mechanic.
User avatar
Hidden Hands
Posts: 1053
Joined: Tue Sep 20, 2016 8:11 pm
Location: London, England
Contact:

Re: Making a whole game as a single map

Post by Hidden Hands »

Rachael wrote:
Hidden Hands wrote:While I understand that to some degree, if all games did that there would be no survival horror games. Management and survival make these sorts of games key elements in a panic/horror/desperation environment. Being able to save anywhere means you are always "safe".
Then survival horror is broken by design.

I've played plenty of save-anywhere survival horror games and I didn't think any less of them for the save-anywhere elements. In short: Deal with it. There are plenty of ways to cook the player's goose without depending on such a lazy mechanic.
Some of the most popular survival horror games in history used this very mechanic, some taking it a step further, requiring additional items to save at save points. It never hindered the game. A game designer should have full freedom to make their game however they wish, and if the player doesn't like it, then they can skip that game and not purchase and/or play it. Horses for courses. Not all games should follow the same template. There are enough people that love that style, some survival horror fans asking for a callback to those days of limited saves and limited items.

Not everybody shares the same taste in games. For example, most people now are obssessed with online gaming and non-stop action. I on the other hand cannot stand either. I prefer slow paced, offline one player games. And I'm not alone. It's the same for this. If I decide to make my game limited saves at certain points, thats my right as a creator. I'm not forcing anyone to play my game, its for people that want that style, and there are enough that do. I'm not saying you're right or wrong, I'm just saying that everyone has their own niche.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Making a whole game as a single map

Post by Graf Zahl »

Last time I checked, Doom was an action game. GZDoom is still, first and foremost, an engine aimed at playing action games. If you repurpose it for anything else you either have to accept the limitations imposed by that or make your own fork.

The main problem with exposing such a feature to modders without any end user control is that the abuse factor will be 10 times higher than its actual value.
User avatar
Rachael
Posts: 13561
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Making a whole game as a single map

Post by Rachael »

Hidden Hands wrote:It never hindered the game.
Oh, yes it did.
Hidden Hands wrote: A game designer should have full freedom to make their game however they wish, and if the player doesn't like it, then they can skip that game and not purchase and/or play it.
So if I decide to make a game that wipes your Documents folder because you died, that should be my right?

No. This is not an argument that you can convince me of - if you want to control-freak the player's experience like that, use an engine other than GZDoom to do it.
Blue Shadow
Posts: 4949
Joined: Sun Nov 14, 2010 12:59 am

Re: Making a whole game as a single map

Post by Blue Shadow »

Hidden Hands wrote:edit: ok I just checked out the WAD, I think I get it. How would I make each room specific using this method? The ToggleMusic script obviously needs extra scripts of the same nature? I'm not entirely sure how to pull it off if I want several variants for several different rooms.
I've reworked the demo so that can be easily achieved.
Also, I'm having trouble getting this to work. In your example it works great, but when implementing it into my map it does nothing and it doesn't identify the script. It says in red "unknown script" when I highlight the actor.
What map format are you using (Doom, Hexen or UDMF)?
User avatar
Hidden Hands
Posts: 1053
Joined: Tue Sep 20, 2016 8:11 pm
Location: London, England
Contact:

Re: Making a whole game as a single map

Post by Hidden Hands »

Blue Shadow wrote:
Hidden Hands wrote:edit: ok I just checked out the WAD, I think I get it. How would I make each room specific using this method? The ToggleMusic script obviously needs extra scripts of the same nature? I'm not entirely sure how to pull it off if I want several variants for several different rooms.
I've reworked the demo so that can be easily achieved.
Also, I'm having trouble getting this to work. In your example it works great, but when implementing it into my map it does nothing and it doesn't identify the script. It says in red "unknown script" when I highlight the actor.
What map format are you using (Doom, Hexen or UDMF)?
Thank you. I'm using Gzdoom UDMF (DOOM2). Really thank you for taking the time to help me with this.
Post Reply

Return to “Scripting”