Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411279 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 05:25:03 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsMajor Apocaleague Baseball
Pages: [1] 2
Print
Author Topic: Major Apocaleague Baseball  (Read 5126 times)
JamesRossi
Level 0
**


PANIC


View Profile
« on: May 28, 2016, 07:32:28 PM »

You have probably found yourself playing your old copies of Oregon Trail and found it ever so slightly lacking. What could possibly be missing, you think. Searching deep inside, one night just before the dreams take you, you realize.

It needs more baseball management simulation.



Also a wasteland setting sort of shamelessly inspired by the original Fallout games.

And a bit of combat.

I'm making this in my spare time, and it's actually gotten traction in my routine. Just using Game Maker, but avoiding the drag and drop system. So it has lots of bad GMScript, instead of lots of bad Drag and Drop.

Gif of City Interactions


Video of Older Wasteland Travel




The Pitch
Oregon Trail crossed with a Simplified Sports Management Sim and some Grid Combat tossed in.

The Ramble
I like games that take weird premises and treat them seriously. As such the idea of a game where you manage a baseball team as part of Baseball Diplomacy with other city-states in a wasteland is the kind of game I would buy. Since it does not exist, I started making it in Game Maker as something to do with my free time. My major inspiration is Oregon Trail for the overall game loop. Instead of small risk-reward acts like hunting though, there will instead be quick grid combat inspired by Might and Magic, and (optional) baseball games similar to RBI Baseball or Base Wars (no combat on tagging players out though, sorry).

The goal of the game will be to win a World Series (Wasteland Series?) and bring prestige to your hometown of Safeton. Along the way you will meet and be able to recruit Humans, Mutants, Cyborgs, Robots, and Raccoons. You will also encounter random events, pick up games, and fights.  

The art is about the limit of my own personal ability, but I won't lie I find a kind of charm in my chicken scratches. I may eventually replace all the art, but for now it's a nice way to take a break from banging my head against my own code.

While not as important a part of a game as others, I want the tone of this game to be mostly upbeat. Your players do not die, but if they are too injured they may be forced into retirement, where they go home and you'll need to find a replacement player. When your bus is attacked by roving gangs of Football players, or Hockey players, or (god help you) Curlers, they may steal some items and rough a few people up, but then they go on their way. Ultimately this is a gentler wasteland than you might expect and most people will greet you with a smile.

Other than the vague ideas of where I want to take this project, I'm often just winging it and finding out what works by making it and realizing it doesn't. For instance, I wanted limb dismemberment and replacement to be a big feature. That is uh, probably a bad idea. So I might skip that.

Older vids and images:
Wasteland encounters -


Older wasteland menus - https://www.youtube.com/watch?v=kindUDoTpTg
First "working" example - https://www.youtube.com/watch?v=TPxa_bdmp9Q
First version of terrain with a bad jitter - http://i.imgur.com/8EswTmF.gif

Features to Implement
  • Full Oregon Trail Functionality - Nearly Complete
  • Equipping Items
  • Playable Baseball Games
  • Game Simulation (for those who wish to skip it)
  • Combat System
« Last Edit: May 29, 2016, 02:29:10 PM by JamesRossi » Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #1 on: May 29, 2016, 01:38:34 PM »

I am working on getting the player to travel from one city to the next. So I decided to combine my "how far from the next destination" and the minima- Hey wait.


Woah, where do you think you are going? Well, it's a start anyway.

Edit.
Fixed her up.

« Last Edit: May 29, 2016, 03:20:54 PM by JamesRossi » Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
EvilDingo
Level 1
*


View Profile WWW
« Reply #2 on: May 29, 2016, 04:19:01 PM »

I irrationally dislike the art. I like the concept though. The pop-ups with travelers that you can't interact with are annoying. In the videos, it looks like even you, the creator, find them pointless and quickly click away. I think they break up the "action" too much.

You mentioned you don't want anyone dying to keep the game "upbeat" but you talk about limb dismemberment, one of the titles of the pop ups is "FUCK" and I thought I saw someone die in your video. Maybe you are secretly harboring a desire for a less upbeat game?

You need quality writing to pull "FUCK" off without looking massively amateurish, in my opinion.

Not dying takes a little of the risk away from traveling. Having good players get sick or possibly die would add a lot of tension.

I really like the idea of a baseball team traveling across the wasteland to play games.
Logged

JamesRossi
Level 0
**


PANIC


View Profile
« Reply #3 on: May 29, 2016, 04:55:32 PM »

Yeah, the art's not great. Ultimately, I'm drawing what I can as I need it so that I have assets to use, not because I'm committed to the style.

The popup rates aren't balanced yet. One goal of mine is to have lots of random events so running into a talker should be rare. One thing I liked in one of the Oregon Trails I played was that you could talk a little to people and learn about what it was like living at the time and I want to capture that, but it won't entail having a random stranger talk at you every 5 seconds. Additionally writing sits along with the art as I make some as I need it to explore tone, but its not final. A good example is that "FUCK" random encounter. I've already reworded it, thankfully, as even as a test example I wasn't liking it.

Absolutely agreed about needing credible threats to players. There will be a death equivalent in all but name. Where if a player gets injured they may be "forced into retirement" and pulled off the roster. I was thinking perhaps a tiered system of injury? Where a player is "injured" then "wounded" finally "on the disabled list", after which another random event or combat injury would finally "Retire" them off the team. I'm not entirely sure, but I know I need the risk to feel real in order for it to work. I could have something closer to HP I suppose, but I think that could potentially be too in depth?

If you, or anyone else, had some good examples of injured states or simpler systems involving multiple units I'd love to hear it. I just want to avoid things that are TOO complex like say Xcom:UFO Defense unit management.
« Last Edit: May 29, 2016, 05:01:41 PM by JamesRossi » Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #4 on: June 01, 2016, 08:21:55 PM »

I wanted to try making a dev video, it is a little rambly, but one way to get good at something is to suck at it for a while. Hopefully this is somewhat interesting though. I imagine that as I dig into more game design related topics, instead of UI design the dev logs will be a big more engaging.



Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #5 on: June 03, 2016, 06:37:13 PM »

I recently added a 30 game schedule (with 6-10 day gaps between games) and the ability to travel to all 9 of my cities. I also worked a little more on the minimap. When you hover over a settlement it'll tell you it's name, and I think I will let players pull up an information window about the city/team if they click on it.



I may just spend some time working on quick city visuals just to keep working out some visual themes.

Maybe the other cities will be less non-euclidean nightmares. But I doubt it.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
Chris MacAdam
Level 2
**



View Profile
« Reply #6 on: June 03, 2016, 09:36:58 PM »

I really like the idea for the game and the whole setting you are going for with it. I would totally play this. I watched the dev video you posted and thought it was pretty interesting what you have so far.
I am interested in seeing what you do with the baseball game and other interactive wasteland stuff so I will be keeping an eye on this. Good luck man
Logged

JamesRossi
Level 0
**


PANIC


View Profile
« Reply #7 on: June 05, 2016, 02:02:03 PM »

I really like the idea for the game and the whole setting you are going for with it. I would totally play this. I watched the dev video you posted and thought it was pretty interesting what you have so far.
I am interested in seeing what you do with the baseball game and other interactive wasteland stuff so I will be keeping an eye on this. Good luck man

Thanks for the encouragement! I think I have a fun enough setting that will hopefully allow for something fun to be laid on top of it. All comes down to the implementation. Being my first full game that is something I really trying to keep a handle on. I don't want feature creep, but I want at least some depth to how my systems interact.

I'm almost done with my travel framework (which has taken me many weeks longer than anticipated, but there is a good lesson there), and will start to tackle baseball next, once I am feeling confident on the travelling.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #8 on: June 06, 2016, 04:28:20 PM »

Here's a little gif of just my name popups. I really need to get a better style than "white box" but it's my first attempt at making a visual not just instantly appear.


The other things I've gotten done are boring behind the scenes things, like loading random chatter strings from a text file so I can just dump a lot of possibilities in a file or two and have lots going on. Also filling out random chatter for all the cities, just a few for now and then I'll expand them out later as something to do when code is just frying my brain.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
andyfromiowa
Level 1
*



View Profile
« Reply #9 on: June 07, 2016, 10:38:18 AM »

Personally, I get a nostalgic Microsoft Paint vibe from the art that I oddly like.  I would swap out some of the fonts so they look more hand-written and match the style.  It looks like you're doing this in some places, but not on the big menu "buttons."

Alternatively, a Green & Black Apple IIe art style would easy to pull off and totally relevant for this project.

I think the concept is awesome - will be following.
« Last Edit: June 07, 2016, 11:13:17 AM by andyfromiowa » Logged

JamesRossi
Level 0
**


PANIC


View Profile
« Reply #10 on: June 11, 2016, 08:17:21 PM »

Personally, I get a nostalgic Microsoft Paint vibe from the art that I oddly like.  I would swap out some of the fonts so they look more hand-written and match the style.  It looks like you're doing this in some places, but not on the big menu "buttons."

Alternatively, a Green & Black Apple IIe art style would easy to pull off and totally relevant for this project.

I think the concept is awesome - will be following.

I should definitely fix up the menu buttons. I'm still trying to decide if I want to do anything special with them visually, but in the meantime, I ought to change them out regardless sooner than later.

For simpler art, I actually wanted to do a couple quick tests due to your suggestion, but I'm away from my good computer and editing on my laptop would be too big a pain. But, I hope to give that a go ASAP. I will probably shy away from a black/green pallet or that neat converted image style I've seen in older games just because I like games with color. I'm probably in garish territory, but still. Going to give those other styles a go though see how it works.



So for updates, I did control things. You can now close out menus with ESC which was pretty important. Some things will require direct interaction, like the Yes/No box popups, I don't want mad ESC mashing to pass through those. But for all menus where you can press a button to leave it, you can also just hit escape.

One reason that so little was done, is that I'd been bashing my head against the wall of screen transitions. You can see my first success above. Essentially in Game Maker I assumed there would be a pause function that would let me interrupt the game and manually do fades, which isn't the case. Well, it used to be, but it was depreciated. So, I spent a lot of time learning I could not do what I wanted, and then trying to figure out a work around.

My solution is not clever but it works. Some game loop code is simply gated with an If statement. So if a variable indicated a transition is occurring, all the interaction code doesn't run. Everything will still draw, so menus will still be up and the like, but they won't progress. Which was my problem. As it was before I could start a transition, but in the instance of leaving a city, all the triggers would fire the same time as a fade, so the city backdrop would disappear and the wasteland appear while the fade is still occurring.

With important progression code locked behind a check, I can play a fade out, then trigger the code changes inside city -> outside city, trigger a fade in, and finally unlock all the logic of the game.

So, what did I learn? I really should have kept in mind that I may need to arbitrarily stop my code, so finding an elegant way to enable that should have been an early consideration...

A nice detail, is the red line now fades in along with the screen, it used to just pop in and looked terrible.

One thing I want to do is use a different kind of fade though, perhaps one of those chunky pixelized transitions where random pixels are turned black and then to the new view in a short period of time. I can implement that easily enough with my current system fortunately.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #11 on: June 16, 2016, 07:15:37 PM »

Sped up gif of playing the game, running from town to town.


I've added temporary town art, scrounged up from google. I'll be a lot happier when I replace that, but for now it at least makes the towns visually distinct.

I also have a few things set up for the towns. I've filled out some of the "wandering" texts for the towns. Additionally when you wander in a town and talk to someone, the npc shown is pulled from a list, so some towns are all robots, others are various mixes of the different people you can run into.

I took a quick stab at making different art treatments based on @andyfromiowa suggested. You can see them in the gif flash by, but  here is a better look.




I actually could see an argument made for either one of them (with a bit more refinement on the effect placed on the images) and while they would both 100% be thematically appropriate, the fact is I like bright colors and while I see my art as likely temporary, I like the tone the bright colors bring. If I were going for something more serious, or more dark I would definitely shoot for one of those styles though. As is, I think I want to emphasize a goofy childishness that bright colors and thick outlines brings to mind currently.

Other than that, there's been some small amounts of cleanup behind the scenes. Not much to speak of though.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #12 on: June 22, 2016, 12:36:06 PM »

Been having a hard time getting work done on the project due to a thyroid thing. So been sleeping a lot more than I would like. Managed to sit down and get some new things in place though!

Thanks to how I set up my buttons and events I can really easily add new encounters to my cities. I added Beggars and Fans who Want Your Swag just today and yesterday. I also tied those into a new City Reputation system. I won't give exact numbers probably, but I may give generalized stats on how a town feels about you. Some will hate you, others will love you, and it'll affect pricing and to an extent the random events that occur while in town. If a town totally hates your guts, it will actually be harder to pull that back up. Eventually I may even have reputations exist as a web, where some friendly towns will share your rep and the like, but that's absolutely not a priority right now. I'll be happy if I can just have a single reputation system working satisfactorily for me.



With a few more city events, I'll be ready to go and revamp the wasteland random encounters as that is using older, less generalized systems. I want them updated to what my cities are currently using, as that is a lot more flexible. As I am integrating my systems more and more I am liking the direction of things, even though, who knows what will start to break down, down the line. The joys of system management. This is what I signed on for though, and it's fascinating to see how little things are slowly building on each other.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #13 on: June 23, 2016, 08:32:24 PM »

Man, no visual to go with this, but I spent way too long on a problem today. I decided to implement unique city prices, as well as taking into account city reputation into account on prices. Did not know that was going to be such a challenge. I think I'm going around this oddly.

My reputation system works on a 0-1 scale. At 0 you are despised, at .5 you are neutral, and at 1 you are beloved. The way reputation affects prices is that a price can be reduced by as much as half (technically slightly more) if the town likes you, and if you are disliked prices can cost as much as 1.5x normal price.

So I needed to go from my 0-1 value, to a percent change in price that would extend from -50% to +50% of the base price. My first attempt was simple. Take the reputation value, add .5 to it, then treat that as a multiplier. This would work in instances where I wanted to affect the player selling an item.

Code:
Base Selling Price: 100
Reputation of City: .75
Multiplier 1.25 (city rep + .5)
Person offers to buy item at 125 per item.

In this instance a city rep of .25 would result in an item being offer to be bought at 75 per item as well.

Great! But players don't sell items as much as they buy them. That's really the issue. I want good reputation to reduce prices and bad reputation to increase them. So my next thought was to do something like, take the reputation of a city, multiply that with the base price, take the difference, and then depending on if the reputation was positive or negative, then add or subtract that difference from the base price.

Code:
Base Price: 100                      Base Price: 100
Reputation: .75                      Reputation: .25
Difference: 25                       Difference: 75
Positive Rep means 75 sale price.    Negative Rep means 175 sale price.

This works, but it overly emphasizes the effect of a negative reputation. Prices on a 100 base would be 50-200. A range of 150. 2/3rd of that range existing in the negative reputation range. I also want to use the same logic to handle selling as well as buying, even if it is rarer. In this instance a player could be offered 100% less on an item (or literally 0), which is an unsatisfactory edge case.

Instead I combined the two methods. I now take the 0-1 reputation. Add .5, making it a 0.5-1.5 scale. Multiply your base price by this modifier, and then get the difference from the original base price. So you would have the absolute result of 100 minus (a range from 50-150). The resulting value can then be used to modify your prices as needed for both selling and buying.

Code:
Base Price: 100                      Base Price: 100
Reputation:   0.85                   Reputation:   0.10
Multiplier:   1.35                   Multiplier:   0.60
Difference:  35                      Difference:  40
Positive Rep means 65 sale price.    Negative Rep means 140 sale price.
Positive Rep means 135 buy price.    Negative Rep means 60 buy price.

That was my evening. Hope yours went smoother.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
Tann
Level 0
*


View Profile
« Reply #14 on: June 27, 2016, 04:32:35 AM »

Will you be sharing a playable build here once you have the game loop finalised? I look forward to trying it out!
Logged
Jay Tholen
Level 1
*



View Profile WWW
« Reply #15 on: June 27, 2016, 04:58:26 AM »

This looks like a blast! Peanuts & Cracker Jax are the best. Saw it in the SA Game Dev thread too I believe.
Logged

Dropsy!

Hypnospace Outlaw - You're a cop/moderator of the future-internet, which looks suspiciously like Geocities. Also you have a sweet car.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #16 on: June 27, 2016, 01:01:58 PM »

Will you be sharing a playable build here once you have the game loop finalised? I look forward to trying it out!

I definitely plan to! I intend to put out a build once I feel like the Oregon Trail portion has been largely fleshed out, but I keep realizing more and more aspects I need to account for. For instance, while it won't be death for thematic reasons, you will be able to lose players to Early Retirement, but that means I need 1. Reliable ways to recruit new players, and 2. Interesting ways to lose current players. Which will ultimately be a whole series of things I'll need to work out. I am definitely finding that making and then having systems interact is part of my interest in this project though. So, it'll be interesting to see how/where I slot all that in.

This looks like a blast! Peanuts & Cracker Jax are the best. Saw it in the SA Game Dev thread too I believe.

That actually means quite a lot coming from you! Thanks! Yeah, I post some things on SA when I decide I don't want to make an effort and look intelligent with a proper dev log post.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #17 on: June 30, 2016, 02:41:15 PM »

Short little tidbit while I am tackling some issues. This continues my efforts to make a reputation system work logically. I created a script that will allow me to modify values based on the reputation of the location you are in. It works. Might not be simple, but it does the job.

city_rep_modval(modval,modrange%1,modrange%2,city,kind of modification)

So, the script has these arguments passed to it.
modval = the value to alter
modrange%1 and 2 = Define the range for a slight random variation
city = The city to base the modifications on. (I was going to use just the current location but this makes the script more universal)
kind of modification = THIS is where I had hang ups. This is a string that determines the effect of that modification.

So when I started I had "pos" and "neg". The thinking being that positive would increase the value, and negative would decrease it. That's a problem though because the possible range ALWAYS includes BOTH positive and negative. For instance prices will always go up or down based on a high or low opinion of you in a city. This was driving me crazy and I could never remember what thing to choose to get a discount or increase in price values.

So instead of using "pos" and "neg" (which I really wanted to get away from for unrelated reasons), I decided to go with "buy" and "sell". Great! When the player is buying they get discounts with high reputation when they buy items. And when they sell items they get paid more if the reputation is high.

When I tried to use this elsewhere in my code, particularly when it had nothing to do with sales, I just got all confused. I could never remember what the hell would happen based on a buy or sell, and what perspective I was thinking of when I first wrote the code, and it was a mess. And when I changed things to my final version I realized I messed it up all over the place.

So I finally decided on the final version which is "dec" and "inc" for Decrease and Increase. This normally wraps me right around to my initial problem, but with how Game Maker handles its scripts you define your own code tips that appear at the bottom of the code editor when you are using a script. Like so,

(imagine my text cursor sitting within "inc" there)

So changing my hint to:
///city_rep_modval(modval,modrange%1,modrange%2,city,high rep will - inc/dec)

This makes it obvious what my script will do, how it will affect the numbers I am feeding into it.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #18 on: July 08, 2016, 06:13:03 PM »



Been having a friend of mine tell me that maybe I should make some actual game elements instead of just making new menus. Which, is just insane, but I thought I'd give it a go so he'll leave me alone. Right now the game has a quick swap that turns the ball game on, and removes all the other drawn elements. I should find a more elegant solution to how I am achieving this, but it works for now. Right now the camera is just controlled via the arrow keys, but later it will be controlled based on the movement of the baseball. The numbered circles are my player objects, it took me a little to handle their scrolling. Another thing I am probably doing in a real backward way "but it works for now".

I'd been giving thought to how the baseball games will play. Part of the issue is that, lets be honest, baseball is kind of boring. The games last hours and there's not a lot of action, it's small eventful moments surrounded by team swaps and set ups and balls/fouls. So what I plan to do is to emphasize those moments of action. For instance instead of batting/pitching being a set of 1-7 consecutive pitches and swings, you will instead essentially do all the acts at once. When Pitching/Batting begins you will play a short minigame, probably something like aligning a target. If you fail the next attempt occurs. If you succeed that is your hit. The ball flies off, the players will automatically run for the ball, snag it and then attempt to throw someone out if possible. This may be another quick minigame. Essentially, what I want to aim for is short quick actions that you can pass/fail at to determine what has occurred, and to keep things moving. The players will have some autonomy and their actions will alter the minievents. For instance if a ball is a pop-up and your outfielder gets to it's landing spot on time, your attempt to catch the ball will be super easy. If it is a popup and your player is still moving toward the ball, and the ball is just out of range, you will have a chance to catch it but the minievent will be more challenging. Expand this out over Batting, Stealing, Sliding into base; and Pitching, Catching, Tossing Out and you have the basic game loop.

Another consideration I am contemplating is that I will probably want these minievents to represent more than just a single play. So instead of doing a full inning with the potential for dozens and dozens of actions, you play out perhaps a single full play and that will represent your entire half inning. This is something I will need to explore, but should be quite easy to tweak. Perhaps I will allow players the option to choose just how in depth their baseball experience is.

I have also been working on the Equipment Menu as it is the last big management window I need. It'll be a doozy, but I'm feeling good having got it started. Not quite as interesting looking at the moment.



Oh, I forgot, you can see I replaced the default cursor with an in-game one. This is mostly so I can change the cursor to one that has a Question Mark on it for help purposes. I have it so that a copy trails the cursor when you most fast enough. This also required me to boost Gamemaker to run at 60 ticks per second. So I guess I avoided the FPS Police.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
JamesRossi
Level 0
**


PANIC


View Profile
« Reply #19 on: July 12, 2016, 07:22:30 PM »

Mini Update



Got a camera working to track the baseball. I also started implementing ball physics. Every game should have ball physics. Right now every ball hit essentially acts as a grounder, steady reduction in speed over the course of traversal. I have a friction var set up so I can change that based on being in the air, bouncing, or on the ground. Also hit angle is working. I next need to add verticality to the ball. Finally I will then make all these variables be altered by the stats of the players. That part will be exciting and I look forward to it.

I also started playing with AI aspects. Right now I can have a player just follow the ball. I'll give them ranges, ball location prediction, and all sorts of other behavior. Til now though it's pretty keystone copsish.

You can see the Catcher suck at getting a ball while the rest of the team watches on dismay if you want as well.
Logged

Major Apocaleague Baseball - Oregon Trail inelegantly cross bred with Baseball Management.
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic