Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Big Scary Owl
Oct 1, 2014

by Fluffdaddy
GGPO, the famous rollback-based netcode is now open-source. Commonly used in fighting games but it can also be used in other projects. This is a big deal especially for the fighting game community as this guarantees new games to have better online. Maybe this can be useful for you guys too.
https://twitter.com/Pond3r/status/1181800172184977408?s=09

Adbot
ADBOT LOVES YOU

Reiley
Dec 16, 2007


Big Scary Owl posted:

GGPO, the famous rollback-based netcode is now open-source. Commonly used in fighting games but it can also be used in other projects. This is a big deal especially for the fighting game community as this guarantees new games to have better online. Maybe this can be useful for you guys too.
https://twitter.com/Pond3r/status/1181800172184977408?s=09

We're already making sure our brawler can accommodate it, it's really big news.

Hover
Jun 14, 2003

Your post hits a tree.
The tree is an ent.
The tree is angry.

Zaphod42 posted:

The 8-bit VR game I was talking about was COMPOUND



uggggh I just absolutely adore that aesthetic. Its like wolfenstein VR. The textures feel very... Amiga? Not exactly 8-bit but super primitive early PC graphics for sure.

Ohhh yeah, compound is heckin' rad!

I'm curious if VR is going to go through a similar cycle that PC did. Early games left a lot to the imagination, graphically. Doom and Quake relied pretty heavily on abstraction and it feels like it wasn't until, like, Duke Nukem 3D? that we got recreations of actual locations that looked like it. Maybe we're going to see the same popularity in those abstract games and cutting edge VR graphics until the technology/framerate catches up to the PC more? Either way, there's always a crowd for stylized art :D Lucky us.

Your Computer
Oct 3, 2008




Grimey Drawer

SweetBro posted:

Interesting. I'm curious about the technique used to get such crisped shadows. Are they just part of the sprite?
in that example (that looks awesome by the way, if I had a VR setup I would be interested just due to the aesthetics!) it looks like it's just hand-drawn, which was already mentioned, but another technique to get really crisp shadows is by simply building it into the geometry!

Rusty Bucket Bay in Banjo-Kazooie has one of my favorite examples of this, it has some quite dramatic shadows that look really impressive for the system it's on

but if you disable the vertex colors...

and a look at the geometry shows that they literally modelled in the shadows and used vertex coloring to darken the faces


:allears:

al-azad
May 28, 2009



Metos posted:

This is actually not true, I've attended a talk where the person who made their custom tool for sprite packing went through their entire process and how the sprites are so weirdly sliced and reused for an incredible amount of efficiency and looking at their sheets is complete nonsense.

It must unpack itself during installation or it may have been something used on the development end because all the visible files in the Unity asset packages are fully pieced together. There's some sprites that are bits and pieces like someone's arm separate from their body, but the game files are like tens of thousands of sprites for animations designed for 60fps, it's nuts.



I don't even remember "douchebag" but he has like 500 frames of animation.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Your Computer posted:

in that example (that looks awesome by the way, if I had a VR setup I would be interested just due to the aesthetics!) it looks like it's just hand-drawn, which was already mentioned, but another technique to get really crisp shadows is by simply building it into the geometry!

Rusty Bucket Bay in Banjo-Kazooie has one of my favorite examples of this, it has some quite dramatic shadows that look really impressive for the system it's on


:allears:

That's awesome. Yeah I can see exactly how you do it, and it makes sense that a competent artist with an understanding of shadow can bake very convincing textures, especially with highly polygonal environments.

But then if you showed me that picture I would never guess. It just looks ... perfect. It feels like those shadows must be rendered!

That's something I've noticed psychologically in games, its funny how willing your brain is to fill in certain details and imagine that the game is doing more than it actually is, if that makes any sense.

Like I've been noticing how lots of video games have bird-call noises but you don't actually even see birds anywhere. Just hearing birds makes you feel like you're outdoors and seems appropriate to trees. As a player if you hear a bird and don't see them, you figure they just flew off and must have been behind you when you weren't looking or hidden in a tree. But its entirely possible its just a bird.wav sound effect triggering on proximity to some bushes. Still, hearing the bird makes you imagine a bird which makes the world feel more alive. Funny how that works.

E: Now I'm trying to think of how you could algorithmically compute geometry based shadows. And then that lead me to asking, has anybody ever tried to represent a shadow map as vector art?! Hmmm, could you do that in a shader? You'd probably be limited on the total number of shadow vertices in the scene or something...

Zaphod42 fucked around with this message at 06:51 on Oct 10, 2019

Your Computer
Oct 3, 2008




Grimey Drawer

Zaphod42 posted:

That's something I've noticed psychologically in games, its funny how willing your brain is to fill in certain details and imagine that the game is doing more than it actually is, if that makes any sense.
it's absolutely true, and a very important thing when making games, but it's funny you should say that because...

Zaphod42 posted:

Looks great, although I feel like some of the amazing detail is lost.
...you posted this earlier regarding my textures, and they're textures actually a great example of this phenomenon! :v: Most of my textures actually look far worse in full resolution than they do scaled down, but due to the lack of detail the mind fills in details that aren't there and it looks better than it should. A good example would be the root-covered ground I posted earlier. I never showed the high resolution model.... because it looks like this:



it looks like like moldy spaghetti and poop, but it doesn't matter because when it's scaled down to 64x64 pixels and ran through texture filtering it gives the impression of far more detail. It practically feels like cheating, but I'm very happy about it :shobon:

Bert of the Forest
Apr 27, 2013

Shucks folks, I'm speechless. Hawf Hawf Hawf!

Zaphod42 posted:

Like I've been noticing how lots of video games have bird-call noises but you don't actually even see birds anywhere. Just hearing birds makes you feel like you're outdoors and seems appropriate to trees. As a player if you hear a bird and don't see them, you figure they just flew off and must have been behind you when you weren't looking or hidden in a tree. But its entirely possible its just a bird.wav sound effect triggering on proximity to some bushes. Still, hearing the bird makes you imagine a bird which makes the world feel more alive. Funny how that works.

I know you are just using this as an example, but on this specific topic my team recently realized we may have a legit problem making atmosphere sounds for an outdoorsy game in which birds are people. Should we just handwave this and use bird noises anyway, assuming there's bird PEOPLE and then also just bird birds in this world? Or is it better to avoid strange implications entirely and just find other noises to fill in the "outdoors" atmosphere? I guess cartoons handwave this a lot but it never ceases to weird me out.

EDIT: Additionally, we may actually use bird chirps/etc as sound effects for the bird kids, so I guess this also has potential playability ramifications?

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Bert of the Forest posted:

I know you are just using this as an example, but on this specific topic my team recently realized we may have a legit problem making atmosphere sounds for an outdoorsy game in which birds are people. Should we just handwave this and use bird noises anyway, assuming there's bird PEOPLE and then also just bird birds in this world? Or is it better to avoid strange implications entirely and just find other noises to fill in the "outdoors" atmosphere? I guess cartoons handwave this a lot but it never ceases to weird me out.

EDIT: Additionally, we may actually use bird chirps/etc as sound effects for the bird kids, so I guess this also has potential playability ramifications?

Hahaha, I have no idea but that's pretty funny. Maybe you could get by with Cicadas and Crickets and insect noises?

I'm kinda running into a similar thing in my game, where the theme is cooking monsters into meals, which works pretty well for like Dragons and Dinosaurs, who wouldn't want a T-Rex Burger? But then you run into some animals like Centaurs and Minotaurs which are ... potentially sentient and human-like? Cooking a centaur burger is probably not gonna fly. I have zero interest in making a cannibal simulator :ohdear:

So I'm grappling with a similar problem. Right now I'm thinking I may have some humanoid enemies but have them drop no ingredients of any kind whatsoever, simply act as guardians that block you from accessing some rare plants or something. But I may end up avoiding it entirely.

Although I also have an image in my head of having ghost enemies that if you defeat them with magic or something, they drop "ghost meat" which is invisible but lets you cook with it, and produces like a burger that's just a bun floating above another bun. :3: Maybe that's too far out of an idea but it stuck with me. But then, "ghost meat" just creates a ton of questions. Ectoplasm? lol.

E: Also, today I had to google "types of salads" for my game. So that was fun.

Zaphod42 fucked around with this message at 07:52 on Oct 10, 2019

Bert of the Forest
Apr 27, 2013

Shucks folks, I'm speechless. Hawf Hawf Hawf!

Zaphod42 posted:

Hahaha, I have no idea but that's pretty funny. Maybe you could get by with Cicadas and Crickets and insect noises?

I'm kinda running into a similar thing in my game, where the theme is cooking monsters into meals, which works pretty well for like Dragons and Dinosaurs, who wouldn't want a T-Rex Burger? But then you run into some animals like Centaurs and Minotaurs which are ... potentially sentient and human-like? Cooking a centaur burger is probably not gonna fly. I have zero interest in making a cannibal simulator :ohdear:

So I'm grappling with a similar problem. Right now I'm thinking I may have some humanoid enemies but have them drop no ingredients of any kind whatsoever, simply act as guardians that block you from accessing some rare plants or something. But I may end up avoiding it entirely.

Although I also have an image in my head of having ghost enemies that if you defeat them with magic or something, they drop "ghost meat" which is invisible but lets you cook with it, and produces like a burger that's just a bun floating above another bun. :3: Maybe that's too far out of an idea but it stuck with me. But then, "ghost meat" just creates a ton of questions. Ectoplasm? lol.

You had me at ghost burger. The humanoid thing makes total sense, I can see trying to avoid weird implications there, but if the art style presents ghosts as like, floating sheet monsters or slimer or whatever, I think ghost burgers are too tempting to pass up. That's a press release all on its own right there.

Your Computer
Oct 3, 2008




Grimey Drawer

Zaphod42 posted:

Although I also have an image in my head of having ghost enemies that if you defeat them with magic or something, they drop "ghost meat" which is invisible but lets you cook with it, and produces like a burger that's just a bun floating above another bun. :3: Maybe that's too far out of an idea but it stuck with me.
100% go with this :ghost: Seriously.

Zaphod42 posted:

I'm kinda running into a similar thing in my game, where the theme is cooking monsters into meals, which works pretty well for like Dragons and Dinosaurs, who wouldn't want a T-Rex Burger? But then you run into some animals like Centaurs and Minotaurs which are ... potentially sentient and human-like? Cooking a centaur burger is probably not gonna fly. I have zero interest in making a cannibal simulator :ohdear:

So I'm grappling with a similar problem. Right now I'm thinking I may have some humanoid enemies but have them drop no ingredients of any kind whatsoever, simply act as guardians that block you from accessing some rare plants or something. But I may end up avoiding it entirely.
yeah, I'd honestly probably just steer away from it. It reminds me of a similar thing with the skinning profession in early WoW, which for the most part would not let you skin anything that's humanoid (for obvious reasons)... with a few awkward exceptions, like I think... yetis and something else? The idea about having them as guardians might work though!

Bert of the Forest posted:

I know you are just using this as an example, but on this specific topic my team recently realized we may have a legit problem making atmosphere sounds for an outdoorsy game in which birds are people. Should we just handwave this and use bird noises anyway, assuming there's bird PEOPLE and then also just bird birds in this world? Or is it better to avoid strange implications entirely and just find other noises to fill in the "outdoors" atmosphere? I guess cartoons handwave this a lot but it never ceases to weird me out.

EDIT: Additionally, we may actually use bird chirps/etc as sound effects for the bird kids, so I guess this also has potential playability ramifications?
Man, I just realized I don't think I've ever even thought about this :v: Gameplay ramifications aside, I think paradoxically it would probably stand out more if there weren't bird chirps? It's such an ingrained outdoors sound that it would feel ominous if it was lacking, even if it made in-universe sense. I'm trying to think of similar examples but I can't think of anything off the top of my head.

al-azad
May 28, 2009



Anybody familiar with Disney knows the separation between animal and "funny animal." If you want an in-universe explanation then just say birds share a common ancestor with bird-people.

Fangz
Jul 5, 2007

Oh I see! This must be the Bad Opinion Zone!
Don't explain it at all but instead lampshade it at the end by having a character refer to the obnoxious group of party-birds that were making an insane racket all week.

free Trapt CD
Aug 22, 2013

*~:coffeepal:~*
I've got plenty of java
and Chesterfield Kings

*~:h:~*
Maybe the bird people can make human sounds but also bird noises? So the chirps in the background are basically the equivalent of ambient crowd noise? Bird rhubarb and silverpaper?

On a practical level if you wanna use chirps for important characters, just putting an echo on the background chirps might put them in a different enough 'space' that the foreground chirps will still catch the attention...

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Fangz posted:

Don't explain it at all but instead lampshade it at the end by having a character refer to the obnoxious group of party-birds that were making an insane racket all week.

I was thinking something similar, except have a character that you can occasionally find in the bushes, practicing their birdcalls.

EDIT: well, poo poo. The actual gameplay is different from what I'm going for, but dangit their ship designer is waaaaaay shinier than anything I can realistically put out. I was hoping that "design your own ships" would be a strong differentiator for me.

TooMuchAbstraction fucked around with this message at 14:59 on Oct 10, 2019

KillHour
Oct 28, 2007


Don't focus on that. Literally any idea you come up with had been done before in some way. Focus on making the game your want to make and making it fun. Unless you quit your job to make this, it's a hobby and you should make what makes you happy.

novamute
Jul 5, 2006

o o o

TooMuchAbstraction posted:

I was thinking something similar, except have a character that you can occasionally find in the bushes, practicing their birdcalls.

EDIT: well, poo poo. The actual gameplay is different from what I'm going for, but dangit their ship designer is waaaaaay shinier than anything I can realistically put out. I was hoping that "design your own ships" would be a strong differentiator for me.

Just rip all the best parts of their designer for yourself. That's called inspiration!

Shoehead
Sep 28, 2005

Wassup, Choom?
Ya need sumthin'?
So I just wanted to show off for a sec cos I'm proud of myself but I finally dealt with a feature (it's kind of not a feature) I've wanted to implement for aaaages.

I've been calling it Soft-persistence in my notes because I don't know what it really is called, but basically you know how in some games, most notably 2d Zeldas, you can kill everything in a room and then return to it soon after and everything is still dead but bushes and other things have respawned? Also you know how in some rooms you would get a guaranteed drop of a heart or a fairy or something when you smashed a pot but only once unless you reset the game or re-entered the dungeon? I wanted that in Game maker, without using object or room persistence.
Objects when they persist will teleport to other rooms when you go to them, useful for the player's object and a few things but not enemies. Room persistence is messy and can only be controlled while you are still in a room, so I could reset the room's status but only when returning to the room, otherwise the room's state just sits in your memory forever so no to that. It also wouldn't let me reset other items so double bad.

Inspiration hit yesterday and I went mad in my notebook and planned out a huge system. The game on creating a room (which happens every time you change from one room to another) would reserve 10 spots or so on a global table and then assign the ID of each enemy and other object in the room to it and then every time they died or were used the table would reflect this. And then when you entered a room each object would look up their spot on the table and if they were used before it wouldn't let them spawn completely.
Yeah, I spent about 2 hours figuring this out, with colour coded notes for each variable and flag I would use and where, and then loving exhausted myself by the time I went to make it real.

Just as well, because it was super complex and wouldnt have worked at all. I realised a little bit later there was no way to get a room to know which part of the table it had reserved for itself previously in another life. Also an object's ID would be different on each iteration of the room. It was almost completely unviable.

So here's what I actually did. When a room has no enemies left alive in it, it's ID get's written into an entry in a list. When a room is entered, the game looks at this list and if the map is there a flag trips, preventing monsters from spawning in that room, if it's not on there they all are able to spawn as normal. The list is only 4 entries long so it loops and overwrites itself, removing cleared rooms from the list, allowing monsters to spawn again in them. That includes regular rooms with no monsters so you can reset the list quicker. And it works

https://twitter.com/Shoehead_art/status/1182305845121617920

I have to set up a system for object still, because I DO want it to work on an item to item basis. Without hard coding some sort of id for them (which is how I have treasure chests stay closed)

Polio Vax Scene
Apr 5, 2009



I had the exact same struggle in my own game. Turns out it's a ton easier when you don't use Game Maker, because then I just save a copy of the entire room in memory, and when switching rooms I check if there is a copy of that room in memory and if so use the one in memory, if not make a copy and add the copy to memory.

The individual object state problem was also easily solved the same way by replacing the 'fresh' object with the copy in memory with the same ID on room load. No idea how you're gonna do something similar in Game Maker without meticulously adding states for each object to a list.

Polio Vax Scene fucked around with this message at 16:36 on Oct 10, 2019

Shoehead
Sep 28, 2005

Wassup, Choom?
Ya need sumthin'?

Polio Vax Scene posted:

I had the exact same struggle in my own game. Turns out it's a ton easier when you don't use Game Maker, because then I just save a copy of the entire room in memory, and when switching rooms I check if there is a copy of that room in memory and if so use the one in memory, if not make a copy and add the copy to memory.

The individual object state problem was also easily solved the same way and replacing the 'fresh' object with the copy in memory with the same ID on room load. No idea how you're gonna do something similar in Game Maker without meticulously adding states for each object to a list.

I had considered something similar but I needed other things to respawn for the player and I figure it would always be easier to stop 4 or 5 monsters from spawning than having possibly 20 pots or bushes respawn from nothing. Plus I was worried about using a heap of memory or having something getting stuck in a persistent room.

Game maker definitely didnt make it easier for me though. You'd think you'd be able to say "Hey this one room should stop being persistent" no matter what room you're in just for the sake of ease. I do wish as well there was a separate level of variables for rooms only. You can get around it with the room's creation event to set globals (which I use for map tracking) but I'd love a built in feature

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

KillHour posted:

Don't focus on that. Literally any idea you come up with had been done before in some way. Focus on making the game your want to make and making it fun. Unless you quit your job to make this, it's a hobby and you should make what makes you happy.

Yeah, it's not so much "they stole my idea" as it is "I was hoping to have a slice of the market to myself". There are certain fronts that I'm inevitably going to come up short on -- stuff like graphics and voice acting -- so the more differentiators I can have to say "yeah but I'm doing something nobody else currently is doing", the easier it is for me to justify to myself what I'm doing. Which is a silly thing in some senses -- it's not like I can churn out a crappy build-your-own-warship game and people will buy it just because there's nothing else with that feature on the market. It's pretty much purely a matter of psychology.

As for income, I've been working on this full-time for a few months now; it's basically how I'm coping with coming down from a stressful job. Ultimately I'll almost certainly have to go back to traditional employment, but for the time being I'm treating this as a moonshot.

novamute posted:

Just rip all the best parts of their designer for yourself. That's called inspiration!

Literally already did this with a different game as the source. What I will say though is that Ultimate Admiral's designer seems to be much more constrained, like, your big guns can only go on the centerline even if they'd physically fit elsewhere. That's historically accurate, of course (firing a big gun that's not on the centerline might cause serious damage to the ship), but implies to me that the ship designer isn't so much of a central focus to that game as it is to mine. It's like, uhhh...the difference between Fisher Price People and Legos.

The ability to make your own hulls is neat though. I hadn't even considered trying to do that.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

TooMuchAbstraction posted:

I was thinking something similar, except have a character that you can occasionally find in the bushes, practicing their birdcalls.

EDIT: well, poo poo. The actual gameplay is different from what I'm going for, but dangit their ship designer is waaaaaay shinier than anything I can realistically put out. I was hoping that "design your own ships" would be a strong differentiator for me.

That's a bummer, but odds are your combat is gonna be pretty different than how theirs plays, right? :)

Shoehead posted:

Inspiration hit yesterday and I went mad in my notebook and planned out a huge system. The game on creating a room (which happens every time you change from one room to another) would reserve 10 spots or so on a global table and then assign the ID of each enemy and other object in the room to it and then every time they died or were used the table would reflect this. And then when you entered a room each object would look up their spot on the table and if they were used before it wouldn't let them spawn completely.
Yeah, I spent about 2 hours figuring this out, with colour coded notes for each variable and flag I would use and where, and then loving exhausted myself by the time I went to make it real.

Yeah, nice. That's basically like what skyrim does right? It has base level data but then it can have saves of item states or whatever which override the base campaign data of where things should be originally. Although with skyrim its an unbounded table so your save files get bigger forever :toot:

I've also been thinking about the same kind of thing. I think I'm going to go even further with it for my game, I've been theorycrafting a system where there's dynamic spawns, and you can place certain baits in order to influence the world spawn table. So if you go into the snowy mountain by default you see lots and lots of bunnies and a few foxes and rare deer. But if you manage to catch a deer and create deer bait, then it'll start spawning several more foxes and also dire wolves. If you want to hunt dire wolves, you have to learn the predator-prey ecosystem in order to get them to spawn in the first place.

Something like that. I haven't fully thought it through and it may end up being a hassle or not very fun to engage with so I may not bother. But I'm gonna play with it.

Ghetto SuperCzar
Feb 20, 2005


al-azad posted:

Create a default plane in blender. Create a material for it, open shader editor, and add a tileset as an image texture with "closest" interpolation (this is nearest neighbor). Open UV editor, load the image texture, and set "snap to pixel corner." Drag the edges of the plane's UV (hold ctrl for per-pixel movement) until it aligns with your tileset. You've just made a 3D "tile."





What I like to do is create a separate layer with "prefab" tiles you can just reference to duplicate and drop around. It's not as efficient as an editor with built in brushes but I also have finer control over everything more so than an editor would. I usually shift + d (duplicate) and move these planes around with vertex snapping. Your tri count will balloon quickly but you can optimize when the piece is finished. When I'm moving stuff around in edit mode I make liberal use of the L key which selects all verts/lines/faces connected together. So you can select whole pieces in edit mode which is normally a hassle because you're usually selecting them individually or box selecting. This is why it pays sometimes to not connect everything.





After finishing, check to make sure the normals are facing the right direction. If you want to you can optimize the piece by going into edit mode and "merge by distance" (in 2.79 this is called "remove doubles"). This will delete all the duplicate vertices created by duplicating and snapping planes. I didn't really bother because ~6,000 tris is nothing.

Plop into Unity and add some fancy post-processing.



And yeah, Link's Awakening demake. If I had more time I'd throw the water texture on a gaudy rear end reflective shader and hand paint a normal map.

https://www.youtube.com/watch?v=oJ0vrDTA0sA

I am garbage, but if you can tell me how you got nice looking shadows on sprites i would be eternally grateful :3

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Zaphod42 posted:

That's a bummer, but odds are your combat is gonna be pretty different than how theirs plays, right? :)
Just a bit, yeah! I'm taking the basic concept in a very different direction. It's not quite Totally Accurate Battle Simulator levels of silliness, but, like, a fleet of warships that assemble into a Voltron mech is one of the planned bosses.

One of the things I've been thinking about recently is how to present the hook to the player in the first few levels. Making a level that teaches the controls, fits into the story, and excites the player is really hard! Especially that third part -- it's easy to do tutorials when there's nothing going on. My original plan for the tutorial was to have it be in calm waters with no enemies, the captain just running the crew through some drills with navigational beacons and some target practice buoys. But I worry that that'll bore the player. Doing an in-media-res start where you're in a battle and Actually Doing Things while learning the controls is more exciting, but runs the risk of the player going off the rails because they haven't figured everything out yet.

And of course, once I get that figured out, then I need to figure out how to dial up the absurdity just a notch so the player realizes this is very much not historically accurate. This will probably involve the Top Secret ship the player is escorting (the mobile floating dock / factory where the ship designer parts of the game take place), but exactly how, I haven't yet determined. Again, ideally this happens in the first mission so the player can think "wait WTF is going on here" and feels compelled to stick around to see where the story's going.

quote:

I've also been thinking about the same kind of thing. I think I'm going to go even further with it for my game, I've been theorycrafting a system where there's dynamic spawns, and you can place certain baits in order to influence the world spawn table. So if you go into the snowy mountain by default you see lots and lots of bunnies and a few foxes and rare deer. But if you manage to catch a deer and create deer bait, then it'll start spawning several more foxes and also dire wolves. If you want to hunt dire wolves, you have to learn the predator-prey ecosystem in order to get them to spawn in the first place.

Something like that. I haven't fully thought it through and it may end up being a hassle or not very fun to engage with so I may not bother. But I'm gonna play with it.

This sounds like a cool idea to me; basically you're giving the player a ladder to climb in each zone, so that they can make it progressively more dangerous to get access to more dangerous/lucrative monsters to hunt. The big things I'd want to think about are:
  • How many zones do you plan to do, and how high do you want each zone to scale? As a player I think it'd be a little cheap if you used the same three zones for the entirety of the game, for example, unless changing the monsters in the zone significantly changes how you think about that zone.
  • How does the player figure these things out? You can just tell them (e.g. via a ranger NPC that knows the environment and what baits attract what monsters). Or do you expect them to explore and learn about the monsters on their own? Or are they expected to figure it out via experimentation? Each approach is valid but requires different designs.
  • How much maintenance is involved in laying out baits? Is this a "once and done" set the bait for the zone through a menu, and then when you go to the zone it's locked to the "has deer bait" mode? Or is it something where you have to physically go to the zone and place out bait objects, that expire after a certain amount of time? I think those represent two extremes in terms of ease of use / abstraction.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

TooMuchAbstraction posted:

This sounds like a cool idea to me; basically you're giving the player a ladder to climb in each zone, so that they can make it progressively more dangerous to get access to more dangerous/lucrative monsters to hunt. The big things I'd want to think about are:
  • How many zones do you plan to do, and how high do you want each zone to scale? As a player I think it'd be a little cheap if you used the same three zones for the entirety of the game, for example, unless changing the monsters in the zone significantly changes how you think about that zone.
  • How does the player figure these things out? You can just tell them (e.g. via a ranger NPC that knows the environment and what baits attract what monsters). Or do you expect them to explore and learn about the monsters on their own? Or are they expected to figure it out via experimentation? Each approach is valid but requires different designs.
  • How much maintenance is involved in laying out baits? Is this a "once and done" set the bait for the zone through a menu, and then when you go to the zone it's locked to the "has deer bait" mode? Or is it something where you have to physically go to the zone and place out bait objects, that expire after a certain amount of time? I think those represent two extremes in terms of ease of use / abstraction.

Yeah I've been thinking about these. I have a nice variety of tilemaps so I'm thinking more wide than deep as far as the ladder goes, there'd only be a couple things that would really require it in each area. Also, the way my crafting system works, I can create ingredients that do the same things as other ingredients, but more. So it can be an optional reward. If you choose to hunt a dire wolf, that dire wolf meat will allow you to increase your total HP temporarily, making it easier to survive. But there's nothing saying you have to cook a dire wolf meal to beat the game. You could just have like rabbit stew instead; but you'll be surviving on a couple less hearts. Something like that.

As for how to figure it out, yeah, that's part of the issue. A cool way would be having the player observe animals in the wild, maybe if you're far enough they haven't agro'd the player yet, you see them eating each other and you learn. But that requires them to already spawn. It works for something that spawns rarely and you could make common, but not if I want to require you to bait to have it spawn at all. For that, I'd have to drop like a note in the game world, or have an NPC just tell the player. Which works but feels less rewarding or clever.

And I was thinking it'd be like an equip slot, like you equip "deer bait" to your bait slot and run around with that modifier active until you replace it. Like you're spraying a scent on yourself. I don't think like tossing a bait on the ground and then hiding in a bush waiting for enemies to come along makes sense for my style of game (zelda like) so probably won't make it very complicated. At any time you could "wipe off" your scent, or spray a new one.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Zaphod42 posted:

As for how to figure it out, yeah, that's part of the issue. A cool way would be having the player observe animals in the wild, maybe if you're far enough they haven't agro'd the player yet, you see them eating each other and you learn. But that requires them to already spawn.
It also requires the player to not immediately bum rush everything that moves. Ask the Ultima Online devs how well that went.

Can you see what potential craftables you can make given a set of ingredients? If so, then seeing that you can make "Deer scent: attracts predators in Ancient Woods" might be enough. It lets the players "discover" it on their own instead of being tutorialized, while also being very easily discoverable.

The equip slot approach sounds reasonable to me. I guess you could also do it like Pokemon with lures/repels, but the time-based nature of them always struck me as kind of annoying, so making it a toggle seems like a good streamlining.

TVs Ian
Jun 1, 2000

Such graceful, delicate creatures.

Zaphod42 posted:

So I'm grappling with a similar problem. Right now I'm thinking I may have some humanoid enemies but have them drop no ingredients of any kind whatsoever, simply act as guardians that block you from accessing some rare plants or something. But I may end up avoiding it entirely.

The humanoids could also drop non-meat items. Like herbs that can enhance other foods, or limited use cooking tools. Or if they’re a hunting species, meat (or preserved meat?) from other creatures.

Hammer Bro.
Jul 7, 2007

THUNDERDOME LOSER

Reiley posted:

We're already making sure our brawler can accommodate it, it's really big news.

I read the blurb on their website (or maybe it was a GitHub page) and it wasn't exactly clear to me how it operates -- does it train an "AI" based on how you play the game then have that AI running on the other end until it receives contradictory input or something?

al-azad
May 28, 2009



Ghetto SuperCzar posted:

I am garbage, but if you can tell me how you got nice looking shadows on sprites i would be eternally grateful :3

Unity standard shader lol

Corbeau
Sep 13, 2010

Jack of All Trades

Your Computer posted:

in that example (that looks awesome by the way, if I had a VR setup I would be interested just due to the aesthetics!) it looks like it's just hand-drawn, which was already mentioned, but another technique to get really crisp shadows is by simply building it into the geometry!

Rusty Bucket Bay in Banjo-Kazooie has one of my favorite examples of this, it has some quite dramatic shadows that look really impressive for the system it's on

but if you disable the vertex colors...

and a look at the geometry shows that they literally modelled in the shadows and used vertex coloring to darken the faces


:allears:

Man, memories; I remember doing this with Forge when making Marathon levels back in the day.

Reiley
Dec 16, 2007


Hammer Bro. posted:

I read the blurb on their website (or maybe it was a GitHub page) and it wasn't exactly clear to me how it operates -- does it train an "AI" based on how you play the game then have that AI running on the other end until it receives contradictory input or something?

From my understanding it constantly makes save states in the background, which is why your game "must be able to load, save, and execute a single simulation frame without rendering the result of that frame." It guesses what will happen next and if it doesn't guess right it rolls back to the last confirmed save state, which is stored without being rendered. Our game's combat has a rhythm mechanic to it so making sure you can time inputs online is important to us and GGPO becoming free is like the clouds parting and a ray of sunshine reaching down to us from above.

Ghetto SuperCzar
Feb 20, 2005


al-azad posted:

Unity standard shader lol

Shut up, is this new?
I tried doing a similar style a year ago and i just couldn't get the shadows to work and the official forum people said i needed to write my own shader

edit: I still can't figure it out lol

Ghetto SuperCzar fucked around with this message at 18:53 on Oct 10, 2019

al-azad
May 28, 2009



Ghetto SuperCzar posted:

Shut up, is this new?
I tried doing a similar style a year ago and i just couldn't get the shadows to work and the official forum people said i needed to write my own shader

edit: I still can't figure it out lol

I'll upload the project when I get the time. I'm using the latest version of Unity so 2019.8 or something.

Ghetto SuperCzar
Feb 20, 2005


al-azad posted:

I'll upload the project when I get the time. I'm using the latest version of Unity so 2019.8 or something.

Thank you kind soul

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Hammer Bro. posted:

I read the blurb on their website (or maybe it was a GitHub page) and it wasn't exactly clear to me how it operates -- does it train an "AI" based on how you play the game then have that AI running on the other end until it receives contradictory input or something?

GGPO? Nah nah this has nothing to do with AI. Its entirely just prediction and then resolution of getting prediction wrong to handle latency in mulitplayer situations.

It allows for two people to play the game as though both of them were the server, hosting. Like you know how if you play a peer-to-peer mulitplayer game, sometimes you can tell who the host is, and they have a better ping and response time than everybody else? And if they're somewhere weird then everybody else gets massive latency in the game because they're far away?

GGPO makes it so that more or less regardless of latency, your game plays smoothly as though you were hosting the match. Everybody is hosting. Its a big peer mesh. And then when latency causes a merge conflict between my hosted state and your hosted state, it walks the game backwards, figures out who should have priority, figures out where the game should be based on that, and then gets you to a new state where you're both moving forward.

It does predict game states but it does it in the way Quake used to, I think you just set likely conditions on a base game level, not a per-player level. A character running is likely to keep moving forward, a character standing still is likely to stay there for a bit. Just basic stuff like that. The more important stuff is in the merging.

Basically, its just a referee that decides who overrides who if there's a merge conflict between local game states. But pulling that off obviously isn't easy and requires a lot of specific things in a mulitplayer game.

Its this: https://en.wikipedia.org/wiki/Client-side_prediction but for p2p.

E: Although I suppose you could totally apply machine learning on a per-player basis to make prediction more likely, and thus require fewer merges / rollbacks. That's a pretty cool idea. I just don't think GGPO does anything like that yet. And its potentially unnecessary.

Reiley posted:

From my understanding it constantly makes save states in the background, which is why your game "must be able to load, save, and execute a single simulation frame without rendering the result of that frame." It guesses what will happen next and if it doesn't guess right it rolls back to the last confirmed save state, which is stored without being rendered. Our game's combat has a rhythm mechanic to it so making sure you can time inputs online is important to us and GGPO becoming free is like the clouds parting and a ray of sunshine reaching down to us from above.

Yeah, and then that requirement makes extra sense because when it does a merge, a roll-back, it loads a previous game state and then applies all the players' inputs in a fair order in order to determine who did what in actuality, so that requires you to burn through a few frames real fast calculating where things should be, but you don't need to render them, it would be a waste of time to do so. You're just trying to get back to what is the current frame as quick as possible. These are past frames being re-calculated a second time.

Zaphod42 fucked around with this message at 19:43 on Oct 10, 2019

OddObserver
Apr 3, 2009

TooMuchAbstraction posted:



Literally already did this with a different game as the source. What I will say though is that Ultimate Admiral's designer seems to be much more constrained, like, your big guns can only go on the centerline even if they'd physically fit elsewhere. That's historically accurate, of course (firing a big gun that's not on the centerline might cause serious damage to the ship), but implies to me that the ship designer isn't so much of a central focus to that game as it is to mine. It's like, uhhh...the difference between Fisher Price People and Legos.


It's not:


That's the HMS Dreadnought.

Centerline has advantage that it can fire to both sides, wing turrets might have an easier time firing forward without needing superfiring (raised turrets).

See also:cross-deck firing wing turrets for extra fun (and all sorts of engineering complications)

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.
This is probably stupid as hell but has anybody ever tried to turn a battleship by firing those guns in different directions at the same time? :cheeky:

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Me and my big mouth. Thanks for the correction.

Zaphod42 posted:

This is probably stupid as hell but has anybody ever tried to turn a battleship by firing those guns in different directions at the same time? :cheeky:

The amount of kinetic energy released by firing a gun is peanuts compared to the amount required to get a battleship to turn. The USS Iowa displaces 60000 tons of water. People keep asking me if I'm going to make firing all the guns push the ship around, and while I might because that sounds hilarious, from a realism standpoint it's a non-starter.

You do get cool shockwave effects when the guns fire, though:

Hammer Bro.
Jul 7, 2007

THUNDERDOME LOSER

Reiley posted:

Our game's combat has a rhythm mechanic to it so making sure you can time inputs online is important to us and GGPO becoming free is like the clouds parting and a ray of sunshine reaching down to us from above.

Right on. I just wrote my networking stack not that long ago so unless it proves problematic I don't think I'll go down that route, but it's a neat concept.

Zaphod42 posted:

It allows for two people to play the game as though both of them were the server, hosting. Like you know how if you play a peer-to-peer mulitplayer game, sometimes you can tell who the host is, and they have a better ping and response time than everybody else?

It's much less sophisticated but my attempt at addressing that problem was to make each individual player the network master of things they have logical control over. So you'll never experience rubber-banding on your own character, nor any of the ball types if you were the last person to interact with them (they change ownership based on activity), though the other players might bounce a bit and if you thought you hit them but they didn't think they got hit by you then they shan't be hit.

Still sounds like a better idea than that other networking thing which just gave Godot a bunch of money but I hope they don't abandon their own abstraction for.

Adbot
ADBOT LOVES YOU

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.
Yeah, I figured. Maybe with wooden ships, but then the guns are different sizes and mounted differently anyways

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply