• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Stream of consciousness - Releasing Something?

  • Marrend
  • 03/08/2015 12:48 PM
  • 3039 views
So, for Release Something XIII, I got it into my head to start working on this game. More specifically, the processing for random missions.

For now, I will skip over the question of mission types. To be fair, it's the most important piece of data that would be randomized, as it would determine the template-text that would be used for the mission description. However, I'm a bit more concerned about the information that could be randomized regardless of what the mission type is. In general terms, this is the person (or entity) that is offering the mission, where players have to go, and how much the mission pays out when it's done.

Thankfully, at least one of these variables have already been defined by the game: where players have to go. While some locations are unlocked as the game's story progresses, for now, I'll focus on on where players can go at the offset of the game.

As for how much missions would pay out, I figure it would be a random number between 50 and 150 credits. This range can easily be altered if need be, though. So, the only thing I really need to figure out at this juncture is the information on who is offering the mission. The various planets in the game come to mind, which is a pretty good starting point as any, though, I could add an odd company name to that list as well for good measure.

I suppose I should be getting all this list-data down. Then I can start worrying about how this is going to be displayed!

Posts

Pages: 1
Marrend
Guardian of the Description Thread
21781
So, I have a few initial screens to share with you. Excuse the crapastrophic mapping of these screens, but, the aim was to test functionality of the system more than anything else.

First, I created a baseline description that used the longest-length text entries that I came up with, and tossed it into a standard MESSAGE BOX to get an idea of where the line breaks could be.



Don't ask where I got that name from.


I don't have screens that show the intermediate steps, but, I do have three screens of results.



First iteration


Second iteration


Third iteration


I sorta expect to see weird text cut-offs with this processing, as one can observe with the second and third iterations. However, I can't help but to be happy with these results so far!
Marrend
Guardian of the Description Thread
21781


You realize what's coming up, right? RIGHT!?

Awwwww yeaaaaah!

*Edit: Where I can go from here is a bit interesting. Part of me wants the next step to be setting up a data structure for accepted missions, and allowing that data to be saved and loaded. Another part of me wants the next step to be setting up other mission templates. Yet another part wants to generate a method by which players can choose multiple missions from a list.

One thing at a time, Marrend. The data structure thingy is a bit more important than those other things!
Marrend
Guardian of the Description Thread
21781
Okay! I got both the mission description and the mission data to save, and be retreived the way I want them too! Though, for full disclosure, it took me a while to realize that I wanted to save mission data, rather than to keep randomizing it.

I'm kinda sure that plot missions can be kept track of with either a $game_variable, or a series of $game_switches. So, I'm not too worried about how to retrieve that information. I think the next thing on my list is to boot up good ol' Wing Commander - Privateer to get some mission template ideas. I'm thinking it's time to start working on the processing of getting randomized mission types.

As an aside, I've only set up the data so that players would only have one random mission at any given time. Accepting a new mission would over-ride whatever is currently accepted. Though, it might be nice to have some kind of prompt to over-ride, or a warning that players cannot pick up a new mission, or allow players to have multiple random missions accepted, then have the warning/over-ride prompt. Eh, later! If at all.


*Edit: I've got ATTACK MISSIONS and SCOUT MISSION working, and randomizing correctly! It sometimes give me an error message when it tries to pull for commodity data, though, and I'm not quite understanding why. Then again, I should really work it so that commodity data wouldn't even be pulled unless CARGO MISSION was rolled. That can be another headache day, though.
Marrend
Guardian of the Description Thread
21781


Now THAT'S what I'M talking about!

All the mission templates are now in, and randomize pretty nicely. The way the text is formatted on the screen can still be a bit weird, but, considering what I've done with his script so far, I really can't complain! At this juncture, I think it's important to note that I'm kinda assuming that players land at the location specified in the mission description in order for the mission to be flagged as complete.

Darigaaz, completing missions. Yeah, I still kinda have to work that in. If players have to land to trigger completed missions, the idea was to store the Nav ID of the planet into a variable, and compare it to the Nav ID of the mission's location. If they are the same, we put the payout amount into a variable, and use the CHANGE MONEY event-command with that variable, then increment a missions_complete variable (which will probably be tracked by a $game_variable).

I do have a question about this processing that I maybe should have asked earlier. Right now, rejecting a mission re-randomizes the mission text while pressing the cancel button would close the windows, and allow players to retain their current active mission, if any. This was mostly done for testing/debugging purposes. So, I'm kinda wondering if I should keep it this way for when this is brought into the game proper, or if I should make the reject option another way of closing the windows, and all the processing that goes with that?

*Edit: For now, though, SLEEEEEEP!
Marrend
Guardian of the Description Thread
21781
It has slowly dawned on me that I could very possibly release a very crappy demo that highlights how all these mission interactions work. That would certainly constitute as something!

So, for the last, uh, while (I totally lost track of time, there), I've been re-drawing the map of this test project to approximate the system map. I occurs to me that it would probably help players to have a copy of said map for reference purposes. Let's include it in the main directory!

Darigaaz, this demo is so beautiful, in it's own weird way. I mean, the way to unlock nav-points for this demo is going to be by completing missions. I don't think there would be much doubt of that. However, it was a little tricky realizing what I had to do in regards to messaging that a planet was unlocked, and what-not. Thankfully, there was this little game called Okiku, Star Apprentice that messed with self-switches remotely, and that helped a lot with getting this unlocking mechanic working!

In other news, I think this demo might actually be done? Errr, let's give it a few more tests, just to be sure!
Marrend
Guardian of the Description Thread
21781
The mission demo has been uploaded! Get it here!

I would like to note that a good number of mission types suggest combat in their descriptions. As the focus of this demo was strictly on getting the core mission functionality to, well, function, there was absolutely no attempt at making combat happen. I'm not sure how smart of a move this is, but, I made it anyway.

Comments about this demo, are, of course, welcome, whither they are on this thread, on the main thread, on the download page, or on the Release Something event-page!
CashmereCat
Self-proclaimed Puzzle Snob
11638
Hey Marrend. Did a play-by-play. Here it is.

~Play-By-Play~
~ I already played a bit of the original MYRIAD CYPHER demo.
~ Wait what I'm not a spaceship? So it's just testing the mission system. OK cool.
~ OK so there's a "Mission Computer", a "Recall Current Mission", and a Cancel button.
~ We're on the planet Pirox.
+ I tried recalling the current mission without having one, and it had the correct output: "No active missions!" that's cool.
~ Let me see if it has random missions. I'll try to get a quest from a planet, reject it, and try to get another one.
+ It's really cool that the missions are many on the same planet.
- But I don't like that if you press "Reject", it immediately gives you another mission. What if you changed your mind and didn't want another mission?... Maybe there should be another option "Quit" or something. I know that ESC quits the menu but I think there should be another button to not accept any missions at all from that planet.
~ So you can accept multiple missions at once. Cool.
- You can accept a mission for the planet you're on. So basically you can accept a mission from Pyrox that says "go to Pyrox". Kind of a pointless mission.
++ But don't get me wrong, this system is absolutely awesome. It reminds me so much of games like Freelancer, which is a fantastic thing. I'm so excited for how this mission system will evolve into a game. It seems really robust.
~ OK so the current mission overrides the last one. I think you should make it so that the player is informed that their current mission will override the last, and have a "Are you sure you'd like to accept a new mission? It will override your last one." prompt, with a "Yes/No" decision before continuing to overwrite your last mission.
~ Will mission rewards be based on how far away the planet is? If so, that'd be really cool.
~ Whoa... Access to Planet Navenna granted? Whatever that was, that was interesting. Not sure how it happened, though. Maybe I accepted a mission that goes there.


So yeah, that was very cool and slick and will allow for complex gameplay, if you integrate many of these systems together as a synergistic whole. I like the fact that you're able to unlock new areas with missions. Just please please no escort missions, haha. Just kidding, they should be fine if you use a turn-based system instead of an action-based system, because escort missions really were terrible in these kinds of games (or pretty much any game, for that matter). Such promise. You got a new sub, friend.
Marrend
Guardian of the Description Thread
21781
Yeah, I can see how a mission that says to go to a system that you're already at would cause a bit of a head-scratch! Adding that check shouldn't be too difficult. Probably.

I'm not sure about detecting how far a system is from where you're at. I mean, I can see where you're coming from, but, it's not as simple as taking the difference between the Nav-point numbers! As a quick example, Nav 9 and Nav 8 are on the opposite sides of the map, whereas Nav 12 is right next to Nav 9.

I was wondering a bit about the Reject button. As it stands, it's more of a debug-thing that was a quick way for me to see how the descriptions/mission types randomized. I can see it becoming a "Quit" button, though. Also, adding an extra prompt that asks if you're okay with over-writing the current mission is certainly good idea!

*Edit: I'm gonna see if there's more feedback before re-uploading this, but, I've set the Reject button to be a "Quit" function, inserted a prompt to override the active mission (should players have one), and inserted a little congratulatory message after all the Nav-points have been unlocked. I also hope that I fixed the part about being able to get a mission in the system players are docked at!
Marrend
Guardian of the Description Thread
21781
I wanted to test a little something-something with the description-generation script. Particularly the point about me never seeing a Cargo Mission. Mission types are generated with a random number at first, so let's look at how that even comes about, normally.


@type = rand(5)


Seriously, that's all there is to it. A random number from 0 to 5. Cargo Missions are attributed to rolling a five with this, so, let's see how soon we roll a five out of, say, 100 rolls.

@type = rand(5)
i = 0
while @type != 5
  @type = rand(5)
  i += 1
  if i >= 100 then break end
end
msgbox(i)


The counter hit 100 first. Okay, how about I set the counter to max out at 1000? Yeah, no, the counter was still maxed out first. 10000? Oookaaaay, on a lark, a million? Nope. The counter keeps maxing out first. Okay, let's do something crazy. What happens if I remove the counter? It... freezes?

Okay, this doesn't make any sense to me, whatsoever. The system can roll the max result with the other random generators, but not this one? I suppose I could do rand(6) instead, and have Cargo Missions be an "else" case, but, yeah, I just don't get why it's functioning like this.



...Annnd the first mission type I get after setting "@type = rand(6)" and Cargo Mission to be the "else" case is, you guessed it, a Cargo Mission. Of all the ironic things to happen...
Marrend
Guardian of the Description Thread
21781
Demo updated!

What's changed:
  • Cargo Missions possible!

I still have no clue why it was doing that before.

  • Mission override prompt!

Players can only have one active mission at a time. If players have an active mission, the game will ask if it's okay to override the active mission.

  • CONGRATULATION, A WINNER IS YOU!

When you unlock the final nav-point, there is a follow-up message saying that the demo is over.
Pages: 1