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
KillHour
Oct 28, 2007


You can use sub emitters to have several different ribbons.

Honestly, I'd recommend switching to the visual effects graph - it's faster and more powerful.

Adbot
ADBOT LOVES YOU

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

Lanth posted:

Just started looking this up out of sheer interest about your situation, could you use the ribbon count to implement breaks outside of code?


https://docs.unity3d.com/Manual/PartSysTrailsModule.html

If you're shooting straight you probably won't notice, if you start turning the ribbon breaks off?

I had found that already; unfortunately it seems designed to create multiple ribbons alongside each other, rather than to create separate distinct ribbons. I think the way it works is that e.g. if it's set to 2, then one ribbon uses the odd particles and the other uses the even ones.

KillHour posted:

You can use sub emitters to have several different ribbons.
Sure, but they'd all fire so long as the main emitter is firing, so I'm not sure how that would help me here.

quote:

Honestly, I'd recommend switching to the visual effects graph - it's faster and more powerful.

I only recently updated to 2018.4. I assume you mean "use visual effects graph instead of particle systems" as just a blanket statement?

Anyway, I got it working, aside from one minor glitch when the target ship got destroyed.

https://i.imgur.com/vH6AucG.mp4

Also, have a glitch from when I was failing to identify and shut down trails from previous bursts.

Hammer Bro.
Jul 7, 2007

THUNDERDOME LOSER

You're going to do that on purpose at least one, right?

'cause :rock:

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

Hammer Bro. posted:

You're going to do that on purpose at least one, right?

'cause :rock:

Oh totally. I'm gonna have to do something about the projectiles, though, because my computer does not appreciate this:



The game also isn't equipped to handle barrels that are aimed off-center, so even though the model implies a spread, all of the guns shoot straight forward. I'm not sure I really want to add code to fix that just to enable a joke though. Maybe I should make a 4x2 turret instead of an 8x1...

EDIT: Twitter pushed me too far.

TooMuchAbstraction fucked around with this message at 00:11 on Nov 7, 2019

Zaphod42
Sep 13, 2012

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

KillHour posted:

You can use sub emitters to have several different ribbons.

Honestly, I'd recommend switching to the visual effects graph - it's faster and more powerful.

I've been meaning to play with visual effects graph, but does it require HDRP?

Hmm, sounds like it does. So far I've been using lightweight because I'm running VR.

Seems like HDRP does support VR... which I guess I'm gonna want at some point to do more fancy lighting. But I'm concerned about trying to be as efficient as possible with VR performance being so integral.

Hmmm. I guess most people with VR rigs have a good bit of horsepower in them... But then Oculus Quest is the new thing that's selling like hotcakes and its weaker...

quote:

Not supported
Multi-pass rendering
Single-pass instancing
Tile lighting
Deferred rendering
Volumetrics
Render and viewport scale

Oh, I guess they let you use HDRP but just disable everything that you shouldn't be doing anyways :v: Go figure

TooMuchAbstraction posted:

EDIT: Twitter pushed me too far.



Yes.

Zaphod42 fucked around with this message at 01:33 on Nov 7, 2019

KillHour
Oct 28, 2007


I think the visual effects graph supports the universal rendering pipeline?

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
Any of you folks nominated for your state's IGDA Best Indie Game (Team size < 10) AND Game of the Year? No? Just me? Hmm!

e: actually I wouldn't be surprised if some goons got these kinds of nominations but let me have my moment ok.

KillHour
Oct 28, 2007


No, but I stayed at a Holiday Inn Express last night.

al-azad
May 28, 2009



baby puzzle posted:

Any of you folks nominated for your state's IGDA Best Indie Game (Team size < 10) AND Game of the Year? No? Just me? Hmm!

e: actually I wouldn't be surprised if some goons got these kinds of nominations but let me have my moment ok.

lol congrats. Maybe I'll move to one those tri-state border towns and claim three GOTY awards at once in uh Kentucky, Missouri, and Tennessee.

Omi no Kami
Feb 19, 2014


So I spent way, way too long making this:



(then I gave up on trying to texture it, because I screwed up while making some of the hard surfaces and there were tons of triangles in obnoxious-to-retopo areas.)

Anywhoo, holy poo poo actual good artists are wizards.

KillHour
Oct 28, 2007


Took a break from the VR visualizer to take a crack at restarting an old project from scratch.

A few years back, I tried making a game about coding spaceships and I ended up canning it because performance was horrendous. With more than a dozen or so running "programs" (which were typically trivial), the game would slow to an absolute crawl.

I ended up reimplementing a small piece of it in Unity DOTS and in the editor, I'm getting 0.1ms system timings with 6000 running programs. This wasn't a very realistic test because all the programs were identical (best case scenario for branch prediction and SIMD), but I could give up an order of magnitude on that and be totally fine. I'm really happy that this finally looks possible and that I know enough about high-performance code now to try to take another bite at it.

I'll probably be bouncing back and forth between the projects semi-randomly, which won't be good for progress but will be great for always having interesting things to work on.

Zaphod42
Sep 13, 2012

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

When you say coding spaceships, you mean the game itself would be coding to play it? and so your 'programs' are like, interpreted at runtime? Or are you building like a visual programming language out of blocks or... what?

KillHour
Oct 28, 2007


Zaphod42 posted:

That's awesome.

When you say coding spaceships, you mean the game itself would be coding to play it? and so your 'programs' are like, interpreted at runtime? Or are you building like a visual programming language out of blocks or... what?

The spaceships are made out of blocks and the blocks can be programmed with a custom language that is interpreted at runtime. These blocks pass data between each other, with specialized blocks doing different things as either inputs or outputs like detecting stuff or making your ship move or shooting. It was developed to the point where you could even write code that would program other pieces with the idea being you could build entire automated shipyards and factories that build more copies of themselves, automatically scouring the universe for more parts to make more factories to...

Here are some videos of the old prototypes, from oldest to newest

Programming a ship to interpret keyboard inputs and fly - https://www.youtube.com/watch?v=5m1XHm9GzBY
Docking with another piece to add it to the ship - https://www.youtube.com/watch?v=WVUchprqT38
Self-modifying code - https://www.youtube.com/watch?v=hQZBD_p4wc4
Programming an autonomous drone to follow your ship - https://www.youtube.com/watch?v=Yxua-wFnOZA
Multiple drones following the player - https://www.youtube.com/watch?v=EMLAUdO3Ix4
Mining resources - https://www.youtube.com/watch?v=_77zJ2HM9a0
Programmable resource conveyors - https://www.youtube.com/watch?v=vQZD9QD7MBM
Sorting resources - https://www.youtube.com/watch?v=zhGDXAcPLDI
Refining resources - https://www.youtube.com/watch?v=dJrrl3dF91I
Loading serialized ships from a file - https://www.youtube.com/watch?v=4eTq9PbvPCE
Loading multiple ships programmed to fight each other - https://www.youtube.com/watch?v=Iy8gPztbdB8
UI based blueprint/serialized ship editor - https://www.youtube.com/watch?v=rVyZISi9Gww

There's no built-in behavior or AI. Everything in those videos was done by attaching pieces together like legos and programming them in-game

...Aaaaand now I'm realizing how daunting starting all of this from scratch again is

Edit: Yes, I'm redoing the programming language. The one I made was such a monster, I could barely keep it straight myself. I think I'll actually probably have a low-level language that you start out with that's basically assembly and have you unlock a higher level language that is easier to code in and lets you do more complicated stuff (but still gets compiled down to the lower level language on the back end).

As an example of the new language I'm working on, here's what a for loop looks like that finds 2^4 and outputs it to the first address on the output (right now inputs and outputs are parallel and have 8 assignable addresses each)
code:
NEW M.0 count    #Declare variable count at memory address 0
NEW M.1 answer   #Declare variable answer at memory address 1
SET M.answer 1   #Set variable answer to 1
MUL M.answer 2   #Multiply variable answer by 2
ADD M.count 1    #Add 1 to variable count
JNE M.count 4    #"Jump if not equal" - If variable count is not equal to 4, skip the next line
JMP 7            #Go to line 7 (0 indexed)
JMP 3            #Go to line 3 (0 indexed)
CPY O.0 M.answer #Copy variable answer from memory to output address 0
Definitely looking for feedback on this.

KillHour fucked around with this message at 09:01 on Nov 7, 2019

KillHour
Oct 28, 2007


Burst is loving magical, you guys.

I changed my code to have several conditional jumps that take different paths and loop different numbers of times depending on the input values and a small test system to generate different random input for each entity.

With a 1000 of these entities, my performance plummeted - 30+ ms for the code execution. Orders of magnitude better than I had with the old system, but still far too slow for the scale I wanted. I sighed and thought about coming back to it after doing some more research on optimization and maybe manually handling chunks instead of letting DOTS try to do it. That is, until I realized I had disabled Burst compilation so I could debug my code as I wrote it (you can't use the Unity debug callbacks with burst enabled). Checked the magical box and the exact same code was running at 0.06-0.08ms per frame. On a 7 year old 3570k! In the Unity editor! It actually takes (slightly) longer to generate the random numbers than it does to run the code interpreter. And since DOTS scales so well across cores, I bet a modern 8+ core CPU could handle high 5 figures of active components - well more than should be reasonably possible in the scope of the game I'm planning (OK, never say never - Factorio players exist).

Edit: 10k entities is sub 2ms with 100% CPU utilization across all cores.

KillHour fucked around with this message at 22:22 on Nov 7, 2019

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
I'm making this cute? UI that will draw in the background behind my game's menus during the #TeamTrees event next week. A tree will sprout in whenever any player earns a tree.

https://www.youtube.com/watch?v=92y2JhBo5Sk

This event has been fun to work on, but not really generating as much interest as I had hoped.

baby puzzle fucked around with this message at 00:19 on Nov 8, 2019

Onimwad
Mar 14, 2019

I Love Making Games!
Haven't posted about my game, Grabbus, in a while, but I've been hard at work regardless. I'm proud that I've even gotten as far as I have.
I'm finally at the point where it's time to fill the game with more content like new items, tilesets, enemy parts, and other features leading up to the first closed demo.

https://imgur.com/xD41UJH

Tempora Mutantur
Feb 22, 2005

KillHour posted:

Burst is loving magical, you guys.

I changed my code to have several conditional jumps that take different paths and loop different numbers of times depending on the input values and a small test system to generate different random input for each entity.

With a 1000 of these entities, my performance plummeted - 30+ ms for the code execution. Orders of magnitude better than I had with the old system, but still far too slow for the scale I wanted. I sighed and thought about coming back to it after doing some more research on optimization and maybe manually handling chunks instead of letting DOTS try to do it. That is, until I realized I had disabled Burst compilation so I could debug my code as I wrote it (you can't use the Unity debug callbacks with burst enabled). Checked the magical box and the exact same code was running at 0.06-0.08ms per frame. On a 7 year old 3570k! In the Unity editor! It actually takes (slightly) longer to generate the random numbers than it does to run the code interpreter. And since DOTS scales so well across cores, I bet a modern 8+ core CPU could handle high 5 figures of active components - well more than should be reasonably possible in the scope of the game I'm planning (OK, never say never - Factorio players exist).

Edit: 10k entities is sub 2ms with 100% CPU utilization across all cores.

When you say DOTS, are you also using ECS or just Burst Compile? If you're using ECS, how are you handling rendering with DOTS? Are you writing your own system or doing a mix of DOTS/the non-DOTS existing Unity renderers?

I'm really liking the rendering system approach shown in https://www.youtube.com/watch?v=fTw_fXsvC6I (one video out of a 12-episode pretty thorough tutorial on implementing ECS, he uses a mesh and material and then renders sprites onto them with basic z-axis sorting based on y positioning, and uses quadrants and jobs to keep things multithreaded/passed through to a shader for processing, all of which the pre-optimizing fool inside me craves) but balk at the thought of trying anything 3D with physics using ECS, though it may be since I'm new to Unity anyway (picked it up because I love ECS architecture, and I gotta admit Unity makes it feel way easier to aim for multiple platforms than LibGDX).

e: and yes burst compile is loving magic, I had a similar "HOW THE gently caress IS THIS HAPPENING" moment on my 2500k when running that tutorial's rendering examples with 10/50/100k+ rendered entities at once and my machine didn't explode

Tempora Mutantur fucked around with this message at 04:52 on Nov 8, 2019

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
This advanced graphics stuff makes me uncomfortable with having my own mediocre game engine so please add trigger warnings to these posts thanks.

Tempora Mutantur
Feb 22, 2005

baby puzzle posted:

This advanced graphics stuff makes me uncomfortable with having my own mediocre game engine so please add trigger warnings to these posts thanks.

...but you made Sequence Storm (https://www.youtube.com/watch?v=yYe6qIWiN3A), an awesome technical and design achievement, and also is actually a game? and looks and sounds amazing, but again, Is Actually A Game, which is like, what counts more than anything.

KillHour
Oct 28, 2007


Tempora Mutantur posted:

When you say DOTS, are you also using ECS or just Burst Compile? If you're using ECS, how are you handling rendering with DOTS? Are you writing your own system or doing a mix of DOTS/the non-DOTS existing Unity renderers?

I'm really liking the rendering system approach shown in https://www.youtube.com/watch?v=fTw_fXsvC6I (one video out of a 12-episode pretty thorough tutorial on implementing ECS, he uses a mesh and material and then renders sprites onto them with basic z-axis sorting based on y positioning, and uses quadrants and jobs to keep things multithreaded/passed through to a shader for processing, all of which the pre-optimizing fool inside me craves) but balk at the thought of trying anything 3D with physics using ECS, though it may be since I'm new to Unity anyway (picked it up because I love ECS architecture, and I gotta admit Unity makes it feel way easier to aim for multiple platforms than LibGDX).

e: and yes burst compile is loving magic, I had a similar "HOW THE gently caress IS THIS HAPPENING" moment on my 2500k when running that tutorial's rendering examples with 10/50/100k+ rendered entities at once and my machine didn't explode

I'm using full ECS with the hybrid authoring tools.

I literally just started dealing with rendering today. I'm using the hybrid renderer package with the universal pipeline. Maybe I'll need to roll my own at some point but for now, it does all of the basics out of the box.

As for physics, there's an experimental built-in ECS physics system I'll probably use if it meets my needs (it should - I only need basic rigid body collision).

KillHour fucked around with this message at 06:52 on Nov 8, 2019

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.

Tempora Mutantur posted:

...but you made Sequence Storm (https://www.youtube.com/watch?v=yYe6qIWiN3A), an awesome technical and design achievement, and also is actually a game? and looks and sounds amazing, but again, Is Actually A Game, which is like, what counts more than anything.

That alpha version footage is triggering my dysphoria.

imhotep
Nov 16, 2009

REDBAR INTENSIFIES

Your Computer posted:

:sax: awesome little project! You got an impressive amount of stuff done in that short amount of time.

that's great to hear!

my difficulties are mostly of my own creation :v: First of all I'm still pretty new to gamedev (this is as far as I've gotten in a project before) so I'm learning as I go along, but I'm also not making it any easier for myself by trying to force a square peg into a round hole. Unity has so many tools to let you make sleek-looking modern games with realistic physics and PBR materials and all of that but I specifically want to do away with all of that, so I'm basically fighting the engine at the same time as I'm trying to learn how to use the engine.

As for coming up with a moveset, my first source is other games in the genre. What moves did I like? What moves did I not like? What moves would suit my character(s)? For example, attacking is often very awkward in 3D platformers so I always preferred the Banjo/DK64 rolling attack. Also, when it comes to 3D platformers I feel like the moveset absolutely has to precede the level design, because it's such an integral part in what makes the genre what it is. You reach different collectibles and objectives by using different moves, so having a moveset to refer to when creating levels makes the whole process work. That doesn't mean it can't go the other way a bit too of course, if you come up with a really clever puzzle or obstacle but you can't quite figure out how you want the player to interact with it you might come up with a new move, but introducing a new move after you've already created other levels would be a pain since then you gotta decide whether to go back and redo the old levels with that new move in mind or to only use it in newer levels (and I believe it's more fun for the player if most of their moveset unlocks relatively early)

True, and I think it’s important to get the character feeling good to move around as, which i feel made Yooka Laylee a lot more fun than it would’ve been, or it at least made me want to play more of it than I thought I would (did you play Yooka Laylee, and what did you think of it?). But I guess I was sort of talking about more nebulous ideas for levels, and I could be wrong, but it feels like a lot of that sort of thing could be modular to a degree? I mean, certain levels absolutely require it and are based around moves, but I mean the general ‘vibe’ of a level, or a general aesthetic assuming that you’re making a level that’s going to be played by a character with that general move set, or it seems like with Mario 64 style platformers where you don’t learn more moves, you could possibly do a modular thing, but I have no idea. I agree tho and didn’t think about how important those moves that make it fun to move around are, like the long jump, talon trot, the rolling move from Yooka Laylee.


I don’t see many 3D action games in here and this is sort of a dumb question, but as I move from being a Blender novice to working with Unity and putting together some rough project with assets, I’m trying to think of what sort of game I want to make, and I always thought I wanted to make a platformer but now, almost all of my favorite games are basically melee based action games. Let’s say I wanted to rip off Sekiro, would that be stupidly hard? I don’t mean every mechanic, just the sword based combat with the back and forth, rally system that’s based around a system like posture and deflecting and attacking. Or even just a dark souls-like, has anyone had experience making a game like that? I guess my question is really just like, is it possible/worth it for a complete noob to aim for something like that for their first project? I’m just trying to make something for fun, and not like hoping to release something, fwiw.

Also, does anyone have any book recommendations for general game design as well as specific Unity and Blender focused stuff, or like if not those specific programs, just any book that will help familiarize the vocabulary and help me to understand the basics/fundamentals in a structured way? I don’t mind reading manuals, but I also like reading books when approaching this sort of thing.

imhotep fucked around with this message at 17:46 on Nov 8, 2019

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

Imhotep posted:

I don’t see many 3D action games in here and this is sort of a dumb question, but as I move from being a Blender novice to working with Unity and putting together some rough project with assets, I’m trying to think of what sort of game I want to make, and I always thought I wanted to make a platformer but now, almost all of my favorite games are basically melee based action games. Let’s say I wanted to rip off Sekiro, would that be stupidly hard? I don’t mean every mechanic, just the sword based combat with the back and forth, rally system that’s based around a system like posture and deflecting and attacking. Or even just a dark souls-like, has anyone had experience making a game like that? I guess my question is really just like, is it possible/worth it for a complete noob to aim for something like that for their first project? I’m just trying to make something for fun, and not like hoping to release something, fwiw.

The general advice is to keep things as simple as possible. The games you're describing have a lot of complexity to them, ranging from things like "navigating a 3D environment" to "designing enemies that have clear tells" to "making it satisfying to hit things". If you can identify one single aspect of the system and convince yourself you can make a game out of just that, then go for it, but the more mechanics you add the more the complexity explodes and you hit scope creep that means your game will take a decade for you to make by yourself.

So if you want to make a fun sword-based combat game, I would start by asking questions like:
  • does it need to be 3D: no (you can 3D model the art, but the physics/action can be 2D)
  • how many enemies do I need: just one
  • is the player customizable (different items/equipment): no
  • how much environmental stuff do I need: loving zero baby, black ground with white sky, bam, done.
  • does the player need to be able to move at all beyond using their sword? uhh, maybe? But try it without first.

And so on. Make this super-minimal kernel of an idea, see if that is any fun, and if it is and you don't think you're done yet, build on what you have. But ideally at any time past the very early days you can say "OK, that's enough, time to ship it" and release your game, even if it takes like 30 seconds for the player to see everything the game has to offer.

By the way, check out One Finger Death Punch for an action combat game that was almost certainly built along these lines.

Your Computer
Oct 3, 2008




Grimey Drawer

Imhotep posted:

But I guess I was sort of talking about more nebulous ideas for levels, and I could be wrong, but it feels like a lot of that sort of thing could be modular to a degree? I mean, certain levels absolutely require it and are based around moves, but I mean the general ‘vibe’ of a level, or a general aesthetic assuming that you’re making a level that’s going to be played by a character with that general move set, or it seems like with Mario 64 style platformers where you don’t learn more moves, you could possibly do a modular thing, but I have no idea. I agree tho and didn’t think about how important those moves that make it fun to move around are, like the long jump, talon trot, the rolling move from Yooka Laylee.
oh right for sure, when it comes to stuff like vibe/aesthetics that was some of the first stuff I thought about. I'm just doing this a hobby project for my own sake so my only consideration when deciding what levels I want is what I want to play, pretty much :v: Twisting jungles, ancient pyramids, spooky mansions, that's the kind of stuff I've always loved since I was a kid and would love to work on and play. I've put some thought into how it all connects, but one of the beautiful things about 3d platformers is that they often throw the whole "makes sense" thing out the window in lieu of fun aesthetics and setpieces.

Imhotep posted:

(did you play Yooka Laylee, and what did you think of it?)
I did! I enjoyed it more than a lot of people, I think. It got a lot of criticism for not evolving the genre past the N64 era but (to absolutely no-one's surprise) I like the genre just like that :v: It wasn't groundbreaking and it had some issues (camera issues at launch, levels were too large/empty) but I really don't feel like it deserves the amount of hate it got.

Imhotep posted:

I don’t see many 3D action games in here and this is sort of a dumb question, but as I move from being a Blender novice to working with Unity and putting together some rough project with assets, I’m trying to think of what sort of game I want to make, and I always thought I wanted to make a platformer but now, almost all of my favorite games are basically melee based action games. Let’s say I wanted to rip off Sekiro, would that be stupidly hard? I don’t mean every mechanic, just the sword based combat with the back and forth, rally system that’s based around, posture and deflecting and attacking. Or even just a dark souls-like, has anyone had experience making a game like that? I guess my question is really just like, is it possible/worth it for a complete noob to aim for something like that for their first project? I’m just trying to make something for fun, and not like hoping to release something, fwiw.
I'm gonna say yes, unfortunately. 3D action games are very complex, and few are as refined as Sekiro (or the Soulsborne games for that matter). Even getting a barebones skeleton of a game like that with satisfying mechanics would be a pretty big feat, and that's without the monumental task of creating all the content for the world, enemies, equipment, animations. I don't mean to be a downer, I just think it might be a bit too ambitious because these games were created by big developers with entire teams working on different parts. Heck, even other big developers with millions of dollars have tried imitating these games and come up short.

3D games are so much harder to get "right" in general (even the "simple" stuff like moving around, collisions and the camera) and that's before you add 'action'. I would probably either start by making a much simpler 3D game or focus on 2D gameplay with more complex mechanics (like the back and forth posture/deflect stuff) to start with.

Zaphod42
Sep 13, 2012

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

Imhotep posted:

Let’s say I wanted to rip off Sekiro, would that be stupidly hard? I don’t mean every mechanic, just the sword based combat with the back and forth, rally system that’s based around a system like posture and deflecting and attacking. Or even just a dark souls-like, has anyone had experience making a game like that?

I don't have experience but booooooy howdy I wouldn't want to try making a souls game as an indie. I mean, I'm right there with you, Dark Souls 1 is my favorite game of all time and I'd love to make a souls-like.

But dude, just think about how many animations are needed for a game like that and how well the collision systems have to work and how much dynamic IK stuff you're gonna have to manage...
Not to mention all the enemies and boss designs. Nioh got real boring on the back-half because all the enemies repeated. Designing unique enemies with animations and tells that are fun and fair but also challenging to fight against, who aren't just reskins of each other, its a HUGE ask.

At BEST I would try something more like Monster Hunter, or even better, Dauntless.

Have like 1 weapon type, like pick "swords" and just do swords. Don't even think about doing staffs or axes or bows, just don't. Pick ONE and maybe you could do that one fighting style. You can still have weapons with different stats, but if you want to do dark souls style "every weapon has its own moveset" you're gonna be turbofucked as an indie.

I think you could totally make a 3d action beat em up game, something between Gauntlet and Dauntless, but I think trying to straight up build a Dark Souls game is a huuuuuuuge ask.

Just designing the levels and balancing the combat is sooooooo much work for a game like that. I don't want to completely discourage you but like, consider all the details in a souls game. Its pretty insane.

Especially for a "first project" I would really try to remove as much of the dark souls design as you can. Its an insanely huge ask. Something more like a 3D Zelda may be more reasonable and still satisfy the same itch.

Suggestion: if you really like the back and forth sword and posture system, could you implement that same kind of combat in a 2D context? One of my favorite games is Jedi Power Battles, a real simple 3D game but its on a 2D plane, you run around as a jedi and enemies shoot lasers at you. If you hit block you can deflect, if you time it just right, you deflect the shot back at the attacker. I always thought that was a super fun mechanic, feels great. Maybe try making like a Gauntlet style 2D or 2.5D action game, but incorporate some timing deflection into that?

Also look at Furi. That's about as close to a Souls game as you can do as an Indie, and that was still a team who knew what they were doing. But they pulled it off by saying, okay, we're ONLY going to do boss battles. No normal enemies, no levels, no levelups, JUST boss battles. And they focused 100% on making exciting action boss battles.

You're gonna have to find a way to focus on just a piece of it. The full dark souls is just, massive. Daunting.


Yeah this is gold. Trim everything out because there's no way you can accomplish it all by yourself. If you can come up with something simple that still sounds fun, build that, and then iterate on it.

The Bungie rule of "30 seconds of fun, then repeat that over and over" has always stuck with me.

Zaphod42 fucked around with this message at 19:02 on Nov 8, 2019

imhotep
Nov 16, 2009

REDBAR INTENSIFIES
Thank you for the replies, very good advice. Really tho, Monster Hunter is more simple than Dark Souls style combat? Or do you mean the games in general, because even then, both are pretty complex although I’d say Dark Souls’ core formula seems like it’s more complex and the level design is mad (and I realize you said at best, but tbh, anything close to either would be amazing, I love monster hunter and Souls). I guess seeing stuff like this: https://youtu.be/ShJP0oyrJrg made it seem a bit easier than it is, simply because I’ve seen a few demos like this made by a single person. and I’m less concerned with having anything more complex than like, a single weapon and moveset as opposed to like tons of different weapons and classes, which is why I mention Sekiro, like, just the sword combat alone would be fun to try to achieve anything resembling it, and my main goal is to be able to design levels with interesting architecture, I just don’t want to design it around a platforming mechanic.

Essentially, I’d love to be able to design architectural stuff like you’d see in Fumito Ueda’s games, specifically The Last Guardian, and when I start banging my head against the wall trying to design some 3D combat system, I’ll probably settle for something more like an ico (not saying that’s easy either, but making an Ico like is surely easier than making a working Sekiro or Souls like). In fact, someone uploaded the entire model of ico’s map, you can find the Dropbox with the .fbx and like a quarter of the textures here: https://forum.unity.com/threads/idea-shadow-of-the-colossus.55218/
I was thinking it would be fun to try to finish or at least work on it further as it appears the guy who started it hasn’t kept up with it. These are just rips from the PS2 game with some original textures and some nicer, newer textures as well. I’ve imported the files into Unity and messed around with it, but would it be a sort of ‘bad’ way to go about learning the basics of making a working game in Unity using this as a starting point?

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

Imhotep posted:

I guess seeing stuff like this: https://youtu.be/ShJP0oyrJrg made it seem a bit easier than it is, simply because I’ve seen a few demos like this made by a single person.

Either that dev ripped their animations from an existing game (or I guess purchased a "Dark Souls-style Animations" asset pack), or they're a professional-tier character animator, which is one of those skills you can specialize in and do basically nothing but that for a job. The same goes for the enemy model, their sound effects, particle effects, etc. You're looking at that video and thinking "one person did this", I'm looking at it and thinking "if one person actually did this then a) they've spent a lot of effort on developing a lot of disparate skills, and b) they spent a lot of time on that demo. More likely they made* this, and that asterisk is pretty loving important."

Basically, that demo represents a lot of work. Whether one person did it or several, don't underestimate how hard it was to produce.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.
Yeah, just getting to that demo will take you a long long time, and that demo is far short of a proper souls game experience.

ICO seems like a great game to use as a model though! :)

Stick100
Mar 18, 2003

TooMuchAbstraction posted:

Either that dev ripped their animations from an existing game (or I guess purchased a "Dark Souls-style Animations" asset pack), or they're a professional-tier character animator, which is one of those skills you can specialize in and do basically nothing but that for a job. The same goes for the enemy model, their sound effects, particle effects, etc. You're looking at that video and thinking "one person did this", I'm looking at it and thinking "if one person actually did this then a) they've spent a lot of effort on developing a lot of disparate skills, and b) they spent a lot of time on that demo. More likely they made* this, and that asterisk is pretty loving important."

Basically, that demo represents a lot of work. Whether one person did it or several, don't underestimate how hard it was to produce.

I'd guess that's some of the free assets that Epic is giving away with UE. I would guess that enemy is one of the Infinity Blade and those are probably some of the free animations.

Your Computer
Oct 3, 2008




Grimey Drawer

TooMuchAbstraction posted:

Either that dev ripped their animations from an existing game (or I guess purchased a "Dark Souls-style Animations" asset pack), or they're a professional-tier character animator, which is one of those skills you can specialize in and do basically nothing but that for a job. The same goes for the enemy model, their sound effects, particle effects, etc. You're looking at that video and thinking "one person did this", I'm looking at it and thinking "if one person actually did this then a) they've spent a lot of effort on developing a lot of disparate skills, and b) they spent a lot of time on that demo. More likely they made* this, and that asterisk is pretty loving important."

Basically, that demo represents a lot of work. Whether one person did it or several, don't underestimate how hard it was to produce.
that's Iudex Gundyr from DS3, though using some animations that I think come from other enemies (and obviously an untextured sword rather than his glaive)

:iiam:

I am also recognizing a lot of the sound effects.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.
Also if you haven't done much gamedev before, it really is just an insane amount of work to make a game, especially by yourself.

Even implementing something crazy simple like "pac man clone" is a good bit of work, and then there's a lot to iterate on and polish.

If you bite off more than you can chew, you end up working yourself ragged just trying to get a basic playable alpha, and you never actually polish it or make it properly fun.

A really polished simple game is IMO more valuable than a broken but ambitious game. People only have so much free time and there's so many games out there now.

Also shipping a simple game > abandoning a complex game :smith:

(Ask me how I learned this the hard way over a dozen abandoned projects, and I still am lol)

KillHour
Oct 28, 2007


Zaphod42 posted:

Also shipping a simple game > abandoning a complex game :smith:

I think this probably depends on what you're doing it for. If you're doing this to sell games and make money, I 100% agree with you. If you're doing this as a hobby and your goal is to work on fun and interesting stuff, sometimes you learn more and have more fun from an ambitious project you have to abandon than a simple one you finish.

Basically, is it the destination or the journey?

Edit: Although, I will say - while my dad was in surgery a couple days ago, I killed an hour making an ASCII breakout clone in Python with Curses and it was pretty cool to have something actually playable at the end of it all.

al-azad
May 28, 2009



My game design goals have always been "rip off your faves and make it as cheaply as possible" and I would love to make a Dark Souls style game except it would end up looking like Nightmare Creatures and I'm totally okay with that.

Zaphod42
Sep 13, 2012

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

KillHour posted:

I think this probably depends on what you're doing it for. If you're doing this to sell games and make money, I 100% agree with you. If you're doing this as a hobby and your goal is to work on fun and interesting stuff, sometimes you learn more and have more fun from an ambitious project you have to abandon than a simple one you finish.

Basically, is it the destination or the journey?

Edit: Although, I will say - while my dad was in surgery a couple days ago, I killed an hour making an ASCII breakout clone in Python with Curses and it was pretty cool to have something actually playable at the end of it all.

IDK, I've never had any illusions about making money off my games, (and am fortunate that I don't need to) but being an artist and working on art that nobody else ever sees or appreciates is rough.

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
So if I'm reading the TextMesh Pro documentation correctly, in order to embed a sprite into some dialog or text or whatever, that sprite has to be part of a texture atlas, and then I use a rich text tag in the text to reference the sprite? That's gonna be kind of a pain in the rear end to work with button prompts then, because I have...504 button prompt images depending on what kind of controller you're using. They're all kinds of wacky sizes too. So my process is gonna have to look something like this, AIUI:
  • Slam all of those 504 images together into one big image, recording their sizes and offsets as I go. Doable with ImageMagick and a Perl script, just a pain in the butt.
  • Import that image as a texture atlas, and tell TMP's settings where that atlas is.
  • Write a program to edit the TextMesh Pro/Resources/Sprite Assets/<whatever>.asset file, to stick my button prompt names in place of the autogenerated names TMP made. Also gonna have to update the sizes/offsets at this time because they won't be uniform.
  • In the code that generates the button prompt text, add a function to say "if you want TMP to display this, the tag is <sprite name="foo">".

Does that look about right? :negative:

EDIT: it's been pointed out to me that texture packing is a solved problem, and while I don't think I can use Unity's built in sprite packer (since it doesn't appear to tell me where a given sprite is or how big it is, which I need to be able to tell it to TMP), there are other ones that will, like Free Texture Packer. So that solves about half of the problem for me.

TooMuchAbstraction fucked around with this message at 23:18 on Nov 8, 2019

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.
Yeah IDK, "There's got to be a better way!"

I was thinking about the same myself. You'd think some UI system would exist for embedding images in text and formatting the text around it to fit in a space... that seems like such a basic, universal thing.
There's either something on the Unity Store that handles it for $5 that I'm not aware of, or there's an opportunity for someone to make it and sell it.
It would be a pretty big headache trying to handle arbitrary sized images and arbitrary sized text... but its totally doable.

The approach you've described does seem sensible and as you've mentioned, there's lots of good free texture packer tools that'll generate JSON with coordinates or whatever you want. But man... feels like more of a hassle than it should be...

E: Eh, I guess baking all of your UI images to a sprite sheet isn't really that crazy, now that I think about it... Although 500 images makes it a huge pain for you, jeeze.

KillHour
Oct 28, 2007


Zaphod42 posted:

IDK, I've never had any illusions about making money off my games, (and am fortunate that I don't need to) but being an artist and working on art that nobody else ever sees or appreciates is rough.

I guess as a coder, I don't really have that same problem. I just like making cool systems.

Attack on Princess
Dec 15, 2008

To yolo rolls! The cause and solution to all problems!

Imhotep posted:

Thank you for the replies, very good advice. Really tho, Monster Hunter is more simple than Dark Souls style combat? [...]

In creating the game and the combat system, yes.

Souls games consist of boss encounters and cannon fodder encounters. MonHun focuses on the bosses even though there are a few fodder encounters. Getting the Souls bosses to feel good is much like getting a MonHun boss to feel good, but the Souls fodder fights are closely tied to the level design. A level works well if the encounters have the right enemies at the right locations. The time and effort that goes into all aspects of Souls combat must be maddening. And that isn't to say a MonHun game is easy.

I'm by no means an authority on this, but I wanted to chime in as I'm coming up on my third year of my first solo project, a 2D Monster Hunter-like. I would've started with a far less complex project if I knew ahead of time what I was getting myself into. I've kept going because it's fun, I'm stubborn, and I believe in the project, but it hasn't been without regrets. You're starting smarter than I did though, researching things in advance.

To your initial question about a back and forth sparring game for a novice, I think the mindset behind Nidhogg is a good example. I'm sure its combat system is still deceptively complicated, and with AI pathfinding and decision making it would be even more so, but it's brilliant how they've avoided a lot of developmental timesinks by focusing on two stick figures with 2D sidescrolling.

Attack on Princess fucked around with this message at 18:58 on Nov 9, 2019

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:

Yeah IDK, "There's got to be a better way!"

I was thinking about the same myself. You'd think some UI system would exist for embedding images in text and formatting the text around it to fit in a space... that seems like such a basic, universal thing.
There's either something on the Unity Store that handles it for $5 that I'm not aware of, or there's an opportunity for someone to make it and sell it.
It would be a pretty big headache trying to handle arbitrary sized images and arbitrary sized text... but its totally doable.

The approach you've described does seem sensible and as you've mentioned, there's lots of good free texture packer tools that'll generate JSON with coordinates or whatever you want. But man... feels like more of a hassle than it should be...

E: Eh, I guess baking all of your UI images to a sprite sheet isn't really that crazy, now that I think about it... Although 500 images makes it a huge pain for you, jeeze.

The main issue is getting the data from Free Texture Packer into TMP's asset. Here's where I am right now:

OK, so here's the process I've done:
  • Use Free Texture Packer to make some atlases. Output the atlas metadata as JSON.
  • In Unity, import the atlases. Set the import mode to 2D/UI sprite, "multiple".
  • Click on the Sprite Editor in the import settings, go to Slice, choose the automatic settings.
  • Select the atlas in the project, go to Assets > Create > TextMesh Pro > Sprite Asset.
  • Look at the resulting asset file. It has a bunch of (AFAICT completely unordered) m_SpriteCharacterTable entries that say "here's this element, it has this glyph index, it has this name." Then later it has m_SpriteGlyphTable entries that say "this index has this rect". Clearly I'll have to parse both sets of entries and join them by their index. Blah!
  • Look at the JSON file output by Free Texture Packer. Realize that its packing metadata does not exactly match the slices generated by Unity, so I'll have to do fuzzy matching on position to map original files to the atlas coordinates. Whimper.

Fortunately, it's been pointed out to me that Unity stores the sprite slicing data (including an autogenerated "name" field) in the .meta file for the atlas. So in principle I should be able to edit that instead of the TMP .asset file. I still have to do the fuzzy position matching, but at least I don't have to touch TMP's gigantic blob of miscellaneous data.

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.

KillHour posted:

I guess as a coder, I don't really have that same problem. I just like making cool systems.

Yeah I'm a coder too :v: but games are art

I'm explicitly not an artist artist that's not what I meant by that (I guess you don't remember my previous posts about making ugly programmer art)

Zaphod42 fucked around with this message at 00:54 on Nov 9, 2019

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