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
Triarii
Jun 14, 2003

supermikhail posted:

Yesterday I decided to go over the steering (specifically the angular part) of my top-down shooter, and somehow ended up in a black pit of despair. Right now I think it's best to ignore the physics and set the angle directly, at least for the player, but I'm not sure about the npcs. Some of them are supposed to be able to shoot back, and fiddling with impulses makes aiming really tricky, at least the ways I've tried to tackle it... I'm not sure, but I think in this type of game the orientation of npcs is usually changed directly too. However, in the documentation and tutorials for libGDX and box2d it seems to discouraged. Any advice?

If you don't actually want physics-feeling turning for your units, then just set the angle directly - I'm guessing the documentation discourages that because then you're overriding the physics system and basically removing physics from that part of the game. But if you do want it to feel physical, then you've got the same problem that I just tackled in a game I'm working on (but in 3D space, so it's even more complicated). I used something called a PID controller - there's a fair bit of math involved, but it ends up pretty simple when implemented in a game.

Here's an in-depth article that makes the math seem terrifying: http://www.gamedev.net/page/resources/_/technical/math-and-physics/pid-control-of-physics-bodies-r3885

And here's an actual implementation: http://answers.unity3d.com/questions/197225/pid-controller-simulation.html

If your units are also supposed to move in a physics-y way, you can give them each a second PID controller for that.

Adbot
ADBOT LOVES YOU

Triarii
Jun 14, 2003

TooMuchAbstraction posted:

The only problem I've ever run into with singletons is discovering mid-project that whups, I wanted to have two of the things. So the simple way to avoid that being a problem is to have your manager object not be a global singleton, but rather an object that gets created early on and is passed to every other object that needs to be able to access it. This can be a little tedious as every constructor suddenly needs to have an extra parameter to pass the object around, but it's not much extra work, and if you ever find yourself needing to have two simultaneous sets of cases or whatever (maybe you add a DLC that has an Evil Nega-Detective clone of the player or something) you just create an extra CaseManager class and pass it to the appropriate entities instead of the original one.

I don't think I've ever really regretted making something a global singleton. Yeah, there are occasions where you discover that you want multiple instances of the thing halfway through a project, but then you just delete the singleton accessor and you have the easiest kind of refactoring to go through: the kind where compiler errors tell you exactly where everything is that you need to change. The rare instances when I had to go through that have cost me less time than my attempts to wrangle a "proper" access control scheme among all of my objects.

Triarii
Jun 14, 2003

Since Fallout is probably about to smash my productivity, I figured I'd post what I've spent the last few weeks of my spare time on. I'm no artist, so please forgive my primitives-based visuals (the capsules are supposed to represent character models).

You play as an airship captain, flyin' around a sandboxy world.


(Transparent green capsule is you.)

You can also give orders to your crew and stroll around the deck while they generally take care of things.
http://imgur.com/G692AQG

You can shoot enemies with cannons...
http://imgur.com/B6UIWgw

...missiles...
http://imgur.com/VStcSjT

...and eventually mad scientist energy weapons, mini fighter planes, etc.

If the shooting's not doing it for you, you can go in for some swashbuckling.
http://i.imgur.com/stYVulu.gifv

You can customize your ship to choose what sort of weapons you have, how you're balanced in shooting vs boarding, etc.
http://i.imgur.com/67OEHrD.png

You've got a grappling hook to help move between ships.
http://gfycat.com/WiltedAliveIndochinesetiger
(imgur stopped accepting my huge gifs for some reason)

It's physics-based, so you can do things like this:
http://gfycat.com/ReliableIlliterateGreathornedowl

I figure it'll progress like Mount & Blade or Starsector, with you getting gradually bigger ships with more and bigger guns, missiles, fighter bays, and so on, and upgrading your crew and your personal gear so you can tackle bigger and bigger challenges. The ship I have here is tiny compared to what I'm imagining is the endgame.

Triarii
Jun 14, 2003

DStecks posted:

If I could offer my two cents, I think it would be smarter to focus effort on airship customization than on basebuilding. Unless bases are part of the game ecosystem you've already envisioned, it would probably be a smarter use of effort to have the airship be your base.

That's exactly my feeling as well. Your ship should feel like home.

Greatbacon posted:

If there is an almost Victoria II level of political fuckery involved in the background of skyships fighting, I would very much be all over that game.

Sky Knight Errant for Her Majesty's Aeronavy.

I'm planning a basic faction system - you can choose to sign up for one of the factions in the world and undertake missions for them, which will help them "take territory" (really just change the color of the map without much gameplay effect planned, but it makes you feel good). The more interesting part is that the different factions will have different codes of conduct that they'll expect you to follow, which will flavor your gameplay a bit differently - the Roman-esque imperials who are trying to bring order to those they conquer will expect you to respect enemies surrendering and such, the proud warrior glory-in-combat types will love when you board people but hate if you run away from a fight, the religious zealot faction want you to take lots of prisoners to "convert", etc. You'd have to follow your faction's code for a while to build up enough reputation to get access to the juicier missions.

Triarii
Jun 14, 2003

Fangz posted:

There needs to be clouds.

I got you fam
http://gfycat.com/HeavenlyCourteousClingfish

Moving into or behind a cloud makes enemies lose track of you and breaks missile locks.

(My clouds are kind of janky right now because it was a quick thing I hacked together. Hopefully an actual graphics programmer/technical artist could improve them.)

As for fleet battles, I'm not sure how many ships the game could handle from the perspectives of either gameplay or performance, especially if some of those ships are getting really big. I'm at least aiming for 5v5-ish fights, maybe 10v10.

Triarii
Jun 14, 2003

:iiam:

Triarii
Jun 14, 2003

DStecks posted:

This is incredibly reductionist, especially in the context of RPGs. Let's look at Fallout 4, which changed up its inventory massively by having all the random clutter items be the fuel for its crafting system. With an inventory limit, you want to be prioritizing the items you know you need for whatever thing you want to craft next. You get inside a scavenging mindset, and it helps sell the idea of the post-apocalyptic world. If the player's inventory is unlimited, then the game becomes a tedious grind of picking up every single random bullshit item in the world because there's no longer a reason not to. The pacing is shot to hell if the player has no reason not to stop every five feet to pick up a random trinket that will help them build a new gun sight.

An inventory limit doesn't help with this - if anything, it hurts the pacing even more. Instead of picking up every random item you find without a thought, instead you're looking at every item and evaluating whether its value is worth the inventory space it will take up given your current circumstances. The only way this can help pacing is when you reach the point where decision fatigue sets in and you decide you just can't be hosed to keep looking at potential loot in the world. That tends to be fine in a game like Fallout, which is overall pretty easy and is more about an immersive experience than an intense challenge, but if you're trying to make a challenging game, then the player has to keep looking at all that loot just to survive, and it becomes exhausting tedium.

Triarii
Jun 14, 2003

Man, Undertale makes me worry that I've entirely lost touch with what people enjoy in games these days, because it just did not do anything for me.

Triarii
Jun 14, 2003

Somfin posted:

How far did you get?
I played for about 3 hours. Pretty sure I was at the point where I was about to fight Undyne.

Triarii
Jun 14, 2003

Hammer Bro. posted:

But it kills me when say there's a locked chest that could be picked. But you don't have the Lockpick ability and, when you encounter it, you often don't have recourse to the Lockpick ability. Games frequently arbitrarily say You May Not do This (because you lack some binary all or nothing prerequisite), instead of saying You Can Try but You'll Likely Fail (say a 5% chance of picking the lock untrained with some sort of consequence for failure; destroying the loot or triggering a trap). They literally lock you out from gameplay choices.

Let's think this one through - Is it a Fallout game where I can reload my save over and over until I pass the 5% check, so my access to loot is determined by my ability to endure tedium? Is it a roguelike where I can't reload my save, so my access to content is determined by a dice roll outside of my control? Or maybe it is under my control in the form of a lockpicking minigame, which is made exceedingly difficult by my character's poor skills - everyone loves lockpicking minigames. If I put a point into Lockpicking to raise it from 0/100 to 1/100, does that raise my chance to 6%?

Just sayin, sometimes a little black and white is nice. If I'm a thief, and picking locks is a thing I can do, then that's a tool in my toolbelt that other character types don't have (and presumably they have their own tools which I don't have). Good gameplay can be based around those sorts of limitations.

Triarii
Jun 14, 2003

Hammer Bro. posted:

Very much this. It's much easier to do in a pen-and-paper system, but failure shouldn't be a roadblock, it should be a thing that propels you forward in a slightly unintended direction.

I think that's where a lot of hangups on this come from - it's a thing that works great in D&D because you've got a DM there to pick up the pieces when you fail. There are probably lots of memorable experiences where the players utterly failed to do things the "right" way, and then improvised something ridiculous and the DM just rolled with it. As you say, computer games have very limited options in capturing that feel.

Regarding death, I'm very much a fan of the way Dark Souls handles it - "respawn, don't rewind." There's no undoing your death; you just have to move forwards. It doesn't even have to be a matter of difficulty because the penalty for respawning can be tuned - Shadow of Mordor used the same approach, and that was an easy game overall. I'm going for the same sort of system with my airships game.

Triarii
Jun 14, 2003

Somfin posted:

Dark Souls did have a partial rewind mechanic though- dying caused the world to reset and put killed, non-boss monsters back on the board. And this is an aspect of what pissed people off so much about Bioshock. Without a rewind or a penalty, death loses all of its punch and becomes a pure time burn.

By "rewind" I mean "press the quickload button to rewind my mistake." Enemies respawning in Dark Souls is part of the penalty for dying (along with dropping your souls) which Bioshock was missing to make death mean anything.

Triarii
Jun 14, 2003

I've got lots of systems implemented for my airship game, including looting, crafting, ship layout customization, ammo consumption, selling things, and equipping crew with weapons, but most of that is boring UI stuff so here's something cool:



In action:
https://gfycat.com/EnviousOrneryArmedcrab

Also, because why the gently caress not
https://gfycat.com/ElectricSaltyDarklingbeetle

I also implemented a little captain's cabin where you can manage things, like telling your navigator to take you to a far off land (my world is ugly, sorry):
https://gfycat.com/LegitimateHotKoi

(There's a mouse cursor there but apparently gooncam doesn't capture it.)

Triarii
Jun 14, 2003

Oh, forgot about this: I tricked inspired an artist to do some concept work for me. I left a lot of details up to him and he came up with a sort of age of sail/sci-fi blend that I really like:

Triarii
Jun 14, 2003

I'm not even sure what the motivation for procedural Metroid environments is. The things procedural generation is good at are providing fresh content for repeated plays of a game, like all of the hundreds of deaths you'll have in a roguelike, or for providing an infinite world for unending exploration or building. Do you expect a player to replay a Metroid game dozens of times? Or for the world to be an endless expanse where you're acquiring powerups forever, never reaching a final boss? Or are we just trying to put level designers out of a job?

I'm super interested in procedural generation, and I think it's going to play a huge role in the future of games development, but the Metroidvania genre seems like a poor fit for it.

Purple Prince posted:

Ever played Skies of Arcadia? This kind of reminds me of what they've got going on there. Could be fun to look at for what others have done with the theme.

I have not. Looking at it now, they seem to gave gone either 100% wooden sailing ship or 100% metal battleship with their designs. I'm guessing just from the aesthetics that this was to help establish a contrast between the characters in the story, with the plucky underdog good guys on the old-fashioned wooden ships and the cold, militaristic bad guys on the metal ships. I don't have any particular narrative need to characterize things like that since I'm making more of a sandbox game, so I'm digging the hybrid of the two that my artist came up with. (Also, I know realism can gently caress off etc, but putting big sails on top of an airship like that bugs me so much from a physics standpoint.)

Triarii
Jun 14, 2003

Purple Prince posted:

It's partly that, but their airship designs are based more around the different civilisations in the game, which are themselves themed around different elements (the fluff is that it's based on the 6 moons of the world). Naturally your party ends up with one character representing each element. But yeah, the steel battleships are the Evil Electric Empire.

Not that 'varying the design of ships based on culture' is a revolutionary idea or anything, and I'd guess if your worldbuilding has multiple cultures that you/your artist have already thought about it. I like the designs so far too.

I have thought of different cultural designs for my factions, but since I'm not a AAA studio and I probably can't put together an entirely unique set of ships for each group, I'm probably going to have a general pool of ships that everyone draws from, plus a couple of distinctive faction-specific ships for each faction that will show up prominently in that faction's fleets. Naturally you'll have to get in a faction's good graces before they'll let you buy one of their special ships yourself.

Triarii
Jun 14, 2003

I'm working on nailing down the details of the melee combat system in my game - it's in third person and involves fighting lots of fairly weak enemies with lots of fairly weak friends by your side, so a natural point of reference seems to be the Dynasty Warriors series and its copycats, like Hyrule Warriors and Dragon Quest Heroes. I've never actually played any of those games, though - could anyone recommend one of them that best exemplifies that sort of combat? Or suggest any other games that do group melee combat well (aside from the Assassin's Creed and Arkham styles)?

Triarii
Jun 14, 2003

Aw jeez, I've been watching Extra Credits and what should I stumble upon but a video about the game I actually work on professionally https://www.youtube.com/watch?v=8ohGzxKDzNk

Pretty salty about that, not because I disagree with any of his points, but because he's just entirely factually incorrect about what he's saying. We didn't actually do any of those things? How do you even respond to that

Triarii
Jun 14, 2003

Dewgy posted:

# TEMPORARY, I HOPE I HOPE I HOPE

Check changelist history, line of code committed June 2008

Triarii
Jun 14, 2003

I like to write functions with lots of conditional returns, and loops with lots of breaks and continues, and then write comments towards the bottom that sound just super excited to have made it that far

Triarii
Jun 14, 2003

Somfin posted:

This is where crafting can shine. If I want a Plumbus, and a Plumbus is made from eight Grabbos and a Fleem, and every Stealy drops one Grabbo and the Sneed boss drops one Fleem per run, then I know exactly what I need to do to get a Plumbus. The problem with crafting systems comes from them being implemented as rng squared. gently caress you, Terraria.

I think you'd find that many players - maybe even you - would get bored of a system like that much more quickly than one with random drops. The human brain is tickled by unpredictable rewards, and having it 100% steady and consistent means you get acclimated to the influx very quickly, and it stops registering that you're being rewarded at all.

Triarii
Jun 14, 2003

Somfin posted:

I don't dispute the first part, but I think that random loot and rare drops aren't quite the same thing in this regard. If any monster anywhere could drop a random Legendary Artifact, that's incentive to proceed. If killing Sad Squamps is the only source of Red Nitrous and I need that for my next tier of equipment, but it's a rare drop from them, I'm gonna farm that poo poo even if I hate doing it.

I think deterministic loot could lead to a far more mastery-driven experience. It tickles a different part of the brain. I know that current industry wisdom is to steer toward long, addictive playtimes above all else, but a more game-able experience might last longer in the long run, and lose its luster more slowly.

It would mean fewer things that are clearly rewards, but it would also make the game into more of a cohesive puzzle to be solved. Grimrock style.

Even ignoring rare loot and just looking at collecting something like crafting materials, reliable drops tend to be less compelling than random ones. If Monster Hunter told me straight up that I need to hunt 5 Rathians to make my Rathian sword and did that for every piece of gear, it would quickly start to feel like a laundry list of chores that I'm checking off. Instead it tells me I need one of an item with a 20% drop chance - it works out to the exact same actual set of actions (on average) but it creates a more exciting and memorable moment when I at last get the drop and can make my sword. I'm also then more motivated to start working on the next piece of gear because, hey, I might get lucky and get that drop I need after just a single fight, instead of being guaranteed to have nothing useful until I've done all 5 fights prescribed to me.

This is just from a base psychological perspective - "people are more compelled to push a button that gives $5, 20% of the time than a button that gives $1 every time" - so how it interacts with the rest of a particular game's systems will be a more complicated answer.

(As an aside, Monster Hunter also makes the system game-able to an extent by giving you bonus drops of particular sorts if you damage certain parts of the monster while you're fighting, but those are random too.)

al-azad posted:

So I angrily typed up a list of things I hate in video games at work and thought I could compile them into a "10 commandments" for video game design that I could hang on my wall and stare at. I could only think of a handful of things that are absolute sins to me when broken and wanted to hear some opinions from people who may not think they're a big deal or design around them.

1. Golden Rule: Never waste the player's time. Don't expect from the player more effort than you would give yourself.

2. Going from game over to gameplay should take a single step.

3. A puzzle is only fun once.

4. If a section requires a complex or repetitive action to pass, put a shortcut at the end.

5. When a new mechanic is introduced it should be immediately obvious.

Just to make you even more angry: actual arguments made to me by video game professionals (who have more decision-making authority than me):

"Making menu animations take a long time and making UI flows take more steps will increase the time a player spends in-app, which is a metric you want high because it leads to greater player engagement."

"Hiding important information from players will make them seek out and create online communities to uncover and share that information, which is good for the long-term health of a game."

Triarii
Jun 14, 2003

I haven't tried UE4 so I tend to refrain from weighing in on comparisons between the two, but I've been pretty happy with Unity so far. The vague sense I get is that if you have a small team without a lot of artist manpower but that does include a programmer, Unity is likely to be the better fit. If you don't have a dedicated/serious programmer, then UE's Blueprint will probably let you get a lot more done than anything Unity has to offer. If on the other hand you DO have a serious art team, then UE's top-quality visuals will put your game ahead. Unity seems to sit in a space in between where you need more in-depth programming than Blueprint but not particularly cutting-edge visuals.

Triarii
Jun 14, 2003

DStecks posted:

Wait, programmers work together on projects without either agreeing upon a code style or having an enforced company style? That sounds like an absolute nightmare for code maintainability.

At work we don't have any agreed-upon style, through a combination of using old code that's already in wildly different styles, having a couple of programmers who would throw a fit and refuse to cooperate if we tried to enforce a style, and not really having anyone in charge who would even decide on a style to begin with. Meh, we make it work. It's actually kind of nice in a strange way to be able to tell whose code you're in just by looking at how it's written. I usually try to match the original style whenever I'm making changes to someone else's code.

Triarii
Jun 14, 2003

AntiPseudonym posted:

Move the camera move the camera move the camera

Moving the world just ends up causing a huge amount of problems in my experience, since rather than a couple of moving pieces you've suddenly got everything - 1 moving pieces.

If you want things to move with the camera, I'd recommend having an empty gameobject that lies in the plane of the play-space but is locked to the camera, so you can just parent things to that and they'll be effectively in screen-space.

Yeah, this would be my recommendation too. Depending on the exact contents of your game world, moving the entire world can cause all sorts of chaos, or at least performance problems. Moving all of your colliders, for instance, will cause the physics system to have to do a bunch of calculations that it wasn't expecting to have to do every frame.

Triarii
Jun 14, 2003

DeathBySpoon posted:

Nothing is stopping you from just switching to another tab and continuing play. Here's the interesting part; by staying at a level, you don't increase the amount of XP required to get to the next level, at the expense of being weaker. Leveling up is your main form of healing, so it's a risk / reward dynamic where you want to hold onto a level up to heal, and the longer you delay it, the higher the reward. I think I've got it mostly balanced to work pretty well, but the system may take some tweaking if it ends up being too broken. Still, if an RPG isn't breakable, why play it?

This is a strictly personal opinion, but this system would turn me off from a game pretty hard. To me, leveling up is one of the most unambiguously positive and enjoyable moments in an RPG, and my character's increased capabilities (and bigger numbers) mean that I'm almost always going to be able to tackle greater challenges - and thus have more fun - from that point forwards. If choosing to level up right now means it's going to take me longer to level up in the future, and makes my character weaker overall, it feels less like risk vs reward and more like fun vs reward.

I felt the same way about magic find in Diablo, since it's basically a milder version of the same decision - be weaker (and thus have less fun) right now in exchange for progressing to the real fun stuff faster - and I was really glad when they removed it in the D3 expansion.

Triarii
Jun 14, 2003

Finally getting around to making some particle effects to replace my awful placeholder sphere explosions.

https://zippy.gfycat.com/ZealousDishonestDrafthorse.webm

Triarii
Jun 14, 2003

Another fun thing: Ship harpoons, for when you're in a big ship and you want to board someone but they aren't cooperating.

https://zippy.gfycat.com/ContentGlumGraywolf.webm

(Note, my ships are not all supposed to be gray bricks. That's programmer art.)

Triarii
Jun 14, 2003

swamp waste posted:

Thats sick. Can you rappel down the harpoon lines

You've got your own grappling hook for that sort of thing.

https://zippy.gfycat.com/JoyfulWateryHowlermonkey.webm

It can grapple directly into enemy crew.

https://zippy.gfycat.com/WarpedArcticAntarcticfurseal.webm

HMS Boromir posted:

Useless suggestion: If there's land in the world, please make it Skies of Arcadia-style floating islands. I love floating islands.

I'm definitely going to have something floating (the backstory is that these airships float using some kind of magic anti-gravity ore, some of which is floating around naturally) but how extensive my floating islands can be is entirely dependent on how many artists I can find/afford.

Shalinor posted:

Please dedicate an entire button on the gamepad to shouting "immelmann turn!"

But if my ships turn upside down, everyone falls off and dies :ohdear:

Triarii
Jun 14, 2003

floofyscorp posted:

Can confirm, am artist and these gifs immediately made me think 'OH SKY PIRATES YES I WANNA MAKE SKY PIRATES'

This kind of feedback makes me wonder if it would be worth adding mod support, even if just to let people make and import their own ship models. Anyone know how that even works in a Unity game? Can I expect people to download the Unity editor and export asset bundles from it or something?

Triarii
Jun 14, 2003

I use character controllers for my player and NPCs, mostly because it's nice to have slopes and stairs handled for me. I think you could do pretty much all of the same things with a (kinematic) rigidbody, but the benefits seem dubious - I'm pretty sure you would just lead yourself to confusion and problems if you rotated the rigidbody you're using for character movement. Likewise, applying non-kinematic physics forces to it would probably only lead to janky weirdness.

Triarii
Jun 14, 2003

I've got an armor system going that mid- to large-size ships can use. Damage is taken locationally, and your hull only starts to take damage if you get hit in an area that's had its armor stripped away. Indicator is over on the left.



I'm planning to make most missiles do a type of damage that's devastating to exposed hull but does very little damage to armor, so fighting a large armored ship will be a matter of focusing your cannon fire on one part of their armor to bore a hole through it, and then putting some missiles into the gap to finish them off.

Triarii
Jun 14, 2003

I've been working on the systems for an alternate way to build your ship, where you rely on shields and energy weapons instead of armor and cannons. Kind of the "mage" to the other build's "warrior". Your shields and weapons both draw from a shared "mana" bar (I'm calling the resource "aether") so there's some give and take between offense and defense that you don't have to deal with in armor+cannons, but in exchange your shields replenish faster than armor, and ship systems are harder to damage through your shields.

(Enemy shots barely show up here, whoops.)

https://zippy.gfycat.com/YellowishCrispAmericanwarmblood.webm

For larger ships, this also of course means beam cannons.

https://zippy.gfycat.com/IndelibleQuarterlyButterfly.webm

Now for a design question that I haven't been able to come to a decision about. You'll have lots of options available as you trek around the world in terms of ships, weapons, officers, personal gear, etc. I want more things to become available gradually over time, so I'm going to have an XP/leveling system that unlocks more gear to buy, harder missions, better officers, and all that, but that doesn't directly improve your stats in any way - that's all happening through upgrading your ship and crew.

My question is, should I show this leveling system to the player in any way, or keep it completely under the hood?

If it's hidden, then the world takes on a more natural feel, with vendors apparently just getting more goods in stock over time, and new ships becoming available as they're "invented" or whatever. I also don't have to tangle with the player expectation of "level up = numbers get bigger," which won't be happening here. I can clearly message when new stuff has become available, so there's no tedious scouring of shops for new inventory every time you're docked.

If it's all in the open, then the player has a better understanding of how he's causing new gear to appear, and has more motivation to get out there and fight things - if you're level 11 and there's a super cool thing in a shop that says it requires level 12, you're going to really want that level up. Plus people just like filling XP bars up. In exchange, things feel more artificial, and it seems like the world is revolving around your actions instead of being a real, living space that you're inhabiting.

Triarii
Jun 14, 2003

TooMuchAbstraction posted:

I'm sympathetic to wanting to hide the numbers from the player, but on the other hand, tons of games show you numbers and players don't generally complain about it ruining their immersion. [Some] players do complain about opaque mechanics though.

My suggestion would be to tie level to the player's "rank", so you start out as an Ensign and are thus only allowed to captain the crappy boats with minimal crew and gear, and as you prove your experience, you rank up (instead of level up) and are allowed to command nicer stuff. If the player isn't part of an official military, then you could use reputation instead of rank; crew aren't willing to sign on with some no-name captain, and vendors are too principled (:v:) to sell their gear to someone who doesn't know how to use it properly.

You'll have the option of joining an official military, and your rank within that military will probably be an additional requirement to getting their faction-specific stuff, but it won't cover everything across the board. Still, if I do show the level requirement, it would probably be contextualized as reputation or fame or something like that.

DStecks posted:

My philosophy is that hard numbers a player will want to drive up should definitely be visible to them.

Pretty much everything I've read and experienced on whether to obfuscate numbers points to it being the opposite of what you'd think: revealing more numbers to the player is actually more immersive. Don't show the numbers, and it's a black box the player can only nudge. Show the numbers, and it's a system they can internalize; hiding too many numbers can actually inhibit kinaesthetic projection, and keep the player constantly aware of the divide between their mind and the game world.

EDIT:

Is it possible to show the gear you can't buy yet so it doesn't seem like the world revolves around the player? Or is that the exact opposite of what you're trying to do, make it not obviously a level-up mechanic?

I would be showing things you can't buy yet, but not everything that exists - just the stuff that's within like 2 levels of being unlocked, to entice you with what's coming up.

I already lean pretty hard in favor of showing numbers, but as you say, that's so that the player can better engage with the game's systems. In this case, your level doesn't actually do anything on its own, doesn't provide any decision points to think about - I'm worried that it's too abstract and would feel kind of meaningless.

As an example of how it could work if it's hidden, I'm thinking of the way new guns become available for purchase in Jagged Alliance 2. Each gun has a hidden "coolness" stat, and progressing through the game causes guns of higher coolness to show up in the shop. I'm not even sure how that progress is measured, exactly - I'm guessing by how many towns you've captured? So as you're making your way through the game and enemies are getting tougher, the shop is apparently just getting new guns in stock to help you deal with the greater challenge. If, instead, it explicitly told me "Capture 2 more towns to unlock this sniper rifle!" there would be a disconnect where I'm wondering why my actions in the game world are affecting what this unrelated gun seller has for sale.

(I am leaning towards showing the level right now, but I'm playing my own devil's advocate to make sure that working in mobile games where "more bars filling up everywhere = better user retention" hasn't tainted my viewpoint.)

Triarii
Jun 14, 2003

Omi no Kami posted:

What if you were to make the economy the level system, and make it so anyone can fly any ship from the getgo, but higher tier ships are so prohibitively expensive that the only way to afford them is to gradually upgrade your stuff and climb the enemy/encounter ladder?

Part of the issue is that that would be a staggering amount of choices for a player to have to deal with the first time they visit a shop. I'm hoping to have, I dunno, 30-odd ships and over a hundred weapons to choose from, and even if most of those options are out of your reach at the start, that's still such a big list to scroll through that your brain would probably shut down. I'm hoping to deal out options at the rate I think the player can process them.

But my original idea was along those lines, except gated by crafting materials: If you can get the materials to craft ship C, it's yours. But those materials are hard to get, so you'll probably need to build ship B on your way. And to get those materials...etc. Then I could just hide any ships that you have none of the crafting materials for, so you aren't overwhelmed at the outset.

The issue I had there was that, in a sandbox world with procedural content, I have incredibly little control over where you go or what you're encountering at any given time. I couldn't even begin to figure out a framework where I'm dealing out crafting materials in a manner that makes sense or leads you towards interesting options at any point - you could be getting materials for ships that you aren't going to be able to build until the endgame, and wondering what the heck you're supposed to be doing with them. I wanted to follow Monster Hunter's example, since that's basically how its gear works, but it has a rigid quest progression that lets them introduce new materials at a rate that makes sense and feels right.

TooMuchAbstraction posted:

Honestly it sounds like your biggest problem is the term "level", which is too heavily-associated with RPGs where levels determine a whole bunch of your stats (either level is used directly or you gain stats when you level up, or even both). So just call it something else so your players aren't having expectations that won't be met. "Reputation" and "fame" are pretty well-established stand-ins that tell the player "NPCs will behave differently towards you".

That's definitely part of it, and I would certainly be using something like "fame" if I'm making the system visible. The other part is a difference in the nebulous feel of "the world revolves around your actions" versus "the world is just moving along on its own".

Triarii
Jun 14, 2003

jmcg_omg_kekeke posted:

I feel like you should check out starsector. It's similar in the sense that you're building up your ship / fleet, customizing it with tons of weaponery and modifications, but I think it makes a very strong case for showing all the numbers. It doesn't break immersion at all, and while some things are strictly better than others, there is generally tradeoffs whether that is in range, firing rate, cost, flux (basically mana cost, very similar to the shield concept you're talking about).

He has a blog, and the game has been in development for many years and I see a lot of parallels in design even though aesthetically they're entirely different. There might be things he's kinda solved that might be relevant.

There's a forum link as well:
http://forums.somethingawful.com/showthread.php?threadid=3570400

Starsector is like 40% of the inspiration for my game, and I've played it a ton. I'm definitely showing all of the stats related to weapons and ships - even more than Starsector does, I think.

Triarii
Jun 14, 2003

TooMuchAbstraction posted:

Is Unity overkill for making an Asteroids clone? Sure. Does that mean you shouldn't do it? gently caress no. Git and mercurial are the best available tools for source control, even if you're working on your own. Starting a new project? The first goddamn thing you should be doing is "git init" or "hg init". And commit early, commit often.

Perforce is a completely workable source control solution for personal use too. It's what I use for my home projects. Also if, heaven forbid, you ever have a second person working on the project, perforce has better ways of dealing with binary files like blueprints.

Triarii
Jun 14, 2003

Subyng posted:

Hi thread.

I'm making a little orbital shooter game in Unity. When moving game objects, what is the better practice: having a single script that manages the movement of everything, or having the movement code be local to each game object? What are the advantages/disadvantages? Currently, I'm doing the former method, since I for any single object I can calculate the sum of contributions due to gravity, thrust, whatever, then apply them as a single net force on FixedUpdate. This makes sense to me, but is there any reason why I wouldn't want to do it this way? Thanks!

As a general programming practice, it's better to compartmentalize your functionality and have objects and systems manage their own business wherever possible. Otherwise you tend to end up with huge monolithic classes handling broad swathes of functionality, which get harder and harder to maintain as time goes on.

(There are minor performance concerns with having many thousands of objects with their own Update or FixedUpdate calls, but don't stress about those early on.)

Triarii
Jun 14, 2003

TooMuchAbstraction posted:

On the other hand, requiring every entity in an inertial gravity/space game to iterate over every other entity to determine their net gravitational force seems kind of silly. I don't think it's at all unreasonable to have a single place that calculates and applies gravity to all of your objects -- but those objects should also have their own update methods for any other movement modes or decisions they need to make (like spinning, activating thrusters, etc.).

If every object is applying gravity to every other object, you're going to be doing that n2 iteration over all your objects either way. What difference does it make if it's in each object's update call versus some nested for loops?

The way I'd probably do it is to have a singleton class that has a list of all gravity-causing objects, and a GetGravityForceAtPoint function that does the calculations. Then each object calls that in its update and adds its own thrusting forces and whatnot to get the net force.

Adbot
ADBOT LOVES YOU

Triarii
Jun 14, 2003

LordSaturn posted:

The actual title of that article is "10,000 Update() calls", btw. You need a LOT of monobehaviours to notice a performance hit.

Also, that's running on a phone.

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