Club PA 2.0 has arrived! If you'd like to access some extra PA content and help support the forums, check it out at patreon.com/ClubPA
The image size limit has been raised to 1mb! Anything larger than that should be linked to. This is a HARD limit, please do not abuse it.
Our new Indie Games subforum is now open for business in G&T. Go and check it out, you might land a code for a free game. If you're developing an indie game and want to post about it, follow these directions. If you don't, he'll break your legs! Hahaha! Seriously though.
Our rules have been updated and given their own forum. Go and look at them! They are nice, and there may be new ones that you didn't know about! Hooray for rules! Hooray for The System! Hooray for Conforming!

[Game Dev] I don't have a publisher. What I do have are a very particular set of skills.

1484950515254»

Posts

  • templewulftemplewulf The Team Chump USARegistered User regular
    edited January 4
    Lilnoobs wrote: »
    templewulf wrote: »
    Lilnoobs wrote: »
    Why do you want such collision precision during animation in a 2d game?

    Typically, I separate the renderer and collider components. Collider on the parent GO, renderer on some child. If it's animated I even go a child deeper, so parent -> empty child -> renderer. In this way, I'm pretty sure things can be animated independently, not 100%, but like, 94%.

    Because it's typical for action games to have long move lists with different hit boxes and hurt boxes on each move. As one of the primary ways to distinguishing between multiple moves for mechanical value, it's important for them to be both precise and easily adjustable by a designer.

    I imagined the case might be for a fighter, but didn't know for sure. The system would be overkill for something like an action platformer or top down action adventure.

    Unity is definitely better equipped for those out of the box. (But their support for multiple colliders is not what I'd call robust.)

    Ideally, the collider system would be flexible enough to accommodate multiple, animated colliders without overwhelming beginner use cases.

    templewulf on
    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • ElvenshaeElvenshae Registered User regular
    Khavall wrote: »
    I think my game idea would be better off prototyped as a board game, actually...

    This is super good practice anyways. It won't always transfer over 1:1 (e.g. if the core gameplay loop involves aiming and shooting it can be pretty difficult to prototype as a board game), but it's really good for defining a lot of the important parts of the game. New XCOM was basically prototyped by Sid Meier and Jake Kaufmann trading back board games until they reached a point of complexity and completeness where they agreed to start programming something.

    Board games allow you to really rapidly run through a bunch of iterations to make sure that your core loop a: works, and b: is fun before you start getting lost in having to code it, even if you're comfortable in a development environment.

    Sorry, but did you just misspell the name of JAKE SOLOMON, GENTLEMAN ADVENTURER?

    omgbfz5lzi1s.png
    Steam: Elvenshae // PSN: Elvenshae // WotC: Elvenshae
    The Disappearance of Inigo Sharpe: Tomas à Dunsanin
    KoopahTroopahGONG-00
  • RoyceSraphimRoyceSraphim Registered User regular
    Lilnoobs wrote: »
    templewulf wrote: »
    Lilnoobs wrote: »
    Why do you want such collision precision during animation in a 2d game?

    Typically, I separate the renderer and collider components. Collider on the parent GO, renderer on some child. If it's animated I even go a child deeper, so parent -> empty child -> renderer. In this way, I'm pretty sure things can be animated independently, not 100%, but like, 94%.

    Because it's typical for action games to have long move lists with different hit boxes and hurt boxes on each move. As one of the primary ways to distinguishing between multiple moves for mechanical value, it's important for them to be both precise and easily adjustable by a designer.

    I imagined the case might be for a fighter, but didn't know for sure. The system would be overkill for something like an action platformer or top down action adventure.

    Hmm, some of the special attacks might work better as boxes with crowd mechanics.

    templewulf
  • DisruptedCapitalistDisruptedCapitalist Registered User regular
    edited January 4
    Hey guys help me out here. I'm trying to explain an idea I'm pitching to someone about a game mechanic where you play a matching game similar to Simon. The idea is that the game asks you to repeat a pattern, when you successfully repeat the pattern, it displays some kind of success UI and plays a happy sound. As you progress through the story line you encounter these puzzles and have to repeat them in increasing difficulty. Can any of you think of examples where this has been used in the past? I know there are some out there but all I can think of are the "song" games like Aquaria or Wandersong where the pattern matching is part of the song mechanic.

    There's gotta be something as simple as the game popping up and saying "Press LEFT-RIGHT-LEFT-LEFT!" during a quick time event perhaps?

    EDIT: NEVER MIND! Posting this made me think of some places I could look, so I managed to find some examples in the Unreal Marketplace showing the mechanic I had in mind with a simple UI:


    DisruptedCapitalist on
    templewulfRoyceSraphimKoopahTroopah
  • KupiKupi Registered User regular
    Kupi's Weekly Friday Status Report

    ... is coming back in 2019. Every Friday, vaguely around 7:00 PM EST, regardless of whether I have real progress to report or not. If I come here four weeks in a row and say "I'm sorry, I didn't get anything done", well maybe I should have spent those four weeks making sure I had something report, eh?

    Anyway, here's the news on the ground.

    I am still in the process of building my collision detection library. I had a few major design revisions, like getting rid of an entire type of collision volume and coming up with an entirely new kind to replace it.

    Right now, my library includes the following types of collision volumes:

    - Point: A single two-dimensional point.
    - Circle: A two-dimensional point and a radius around it. Technically speaking, a point could be implemented as a Circle with 0 radius, but the logic works out differently enough that it isn't worth collapsing them into the same type.
    - Arc: A series of line segments, each one sharing an endpoint with the next one. Collisions can occur on either "side" of the volume.
    - Surface: Like an Arc in all respects except that collisions can only occur contrary to their surface normal. I anticipate using this one as a means of implementing semi-solid platforms, to use the Super Mario Maker term for it.
    - Polygon: Like an Arc, but the last point wraps around to the first point, and the interior of the polygon counts for collisions.

    There are two layers to the collision test: an overlap test to catch cases where a collision volume starts the frame already colliding with another volume, and a shape-cast that detects if one collision volume's movement will cause it to collide with the other during that frame. (If both collision volumes are moving, you can do a frame-of-reference trick by subtracting the velocity of the second from the velocity of the first.) Right now I have the overlap tests completely written except for when Surfaces are involved, because Surfaces are the type of collision volume I just made up in the past 24 hours. There are also unit-tests for the overlap-checking functions, which helpfully identified several significant implementation failures. Unit tests are great things, folks. The shape-cast collision functions are also written except for the ones involving Surfaces, but by contrast they have no unit-testing and therefore still contain several significant implementation failures. That's next on my list to do.

    AGDQ is going to sap a lot of my attention this week, but implementing overlap and collision tests for Surfaces and getting the unit tests written for the shape-cast functions is an entirely reasonable expectation.

    My favorite musical instrument is the air-raid siren.
    DisruptedCapitalistKoopahTroopah
  • UselesswarriorUselesswarrior Registered User regular
    edited January 6
    agoaj wrote: »
    kaceyp wrote: »
    Has anyone here used xml or json files to store dialogue for a game? I'm having trouble wrapping my head around exactly to make/structure the files themselves. I've looked up the topic and it feels like almost every tutorial about it focuses on reading the file (in Unity, in this case) and totally glosses over how to go about setting up the file itself.

    Basically, I'm working on a 2D story-heavy adventure game. It's more or less linear and there isn't really any branching in the conversations, they just proceed from beginning to end. Can anyone give me some direction on this? I'm sure it's actually very easy, but of all the things I've had to learn in the last few years, I think this is the first thing I've actually had to ask a question about.

    If it's linear then you should be able to just have a dictionary of conversations, and a conversation is just an array of message data.
    here's how branching might work.
    "Conversation1" : [
        {
            "Speaker" : "Old Man",
            "Text" : "Do you have any Strawberries?",
            "Type" : "Choice",
            "Choices" : ["Yes", "No"]
            "Branches" : {
                "Yes" : [
                {
                    "Speaker" : "Old Man",
                    "Text" : "Lovely!"]
                }
                "No" : [{ "Speaker" : "Old Man", "Text" : "You have made a great enemy this day!"}]
            }
        },
    ],
    

    It is kind of up to you as the dev to figure out how to group your data in way that makes sense for your game.

    This StackExchange post may help, How do dialog trees work?

    Some more theoretical stuff, I've been kind of reading up on Lisp so this may be a little esoteric:

    Representing Game Dialogue as Expressions in First-Order Logic

    This is a great video (has some Lisp in it, sorry!) with indie dev contrasting two different approaches to dialogue systems:

    Uselesswarrior on
    Hey I made a game, check it out @ http://ifallingrobot.com/. (Or don't, your call)
    templewulf
  • UselesswarriorUselesswarrior Registered User regular
    Wow the notch is a nightmare in terms of backwards compatibility for apps. I really surprised Apple didn't just make older apps run with letter boxing.

    I had to go and design a UI with elements on the top, so fuck me I guess.

    Hey I made a game, check it out @ http://ifallingrobot.com/. (Or don't, your call)
    LD50Cornucopiist
  • templewulftemplewulf The Team Chump USARegistered User regular
    ...the fuck? Do I have the Unity collider / otherCollider distinction backwards?

    I did a test with two objects in a new project, like so:
    parent (RigidBody2D, TestScript)
        | child (SpriteRenderer)
            | grandchild (BoxCollider2D)
    testdummy (SpriteRenderer, BoxCollider2D)
    

    Script attached to `parent` contains:
    private void OnCollisionEnter2D(Collision2D collision)
        {
            Debug.Log($"{this.gameObject.name}.Collision Enter, this: {collision.collider.gameObject.name}, other: {collision.otherCollider.gameObject.name}");
        }
    

    And the console displays:
    parent.Collision Enter, this: testdummy, other: grandchild
    UnityEngine.Debug:Log(Object)
    TestColliderReceiver:OnCollisionEnter2D(Collision2D) (at Assets/TestColliderReceiver.cs:25)
    

    With the script and RigidBody2D attached to `parent`, I would expect that to be the `collision.collider` and the other object it collides with refer to something other than the object the script is attached to!

    Did I do something wrong? Can someone explain this conceptualization to me?

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • agoajagoaj Now is the time of my revengeRegistered User regular
    Yes you have it backwards. Collision.collider is the collider that the object has hit. Collision.otherCollider tells you the other collider in the collision, one that belongs to the current object.

    qnu0EMk.png
    CornucopiistKoopahTroopah
  • templewulftemplewulf The Team Chump USARegistered User regular
    agoaj wrote: »
    Yes you have it backwards. Collision.collider is the collider that the object has hit. Collision.otherCollider tells you the other collider in the collision, one that belongs to the current object.

    Thank you for confirming.

    Is there some conceptualization that makes "otherCollider" == "collider attached to this object" sensible? I know I'm going to forget this at some point, because it makes no sense to me.

    (Incidentally, I set up this test, because my kinematic Rigidbody2D was not generating collisions. It turns out, the Physics setting "Contact Pairs Mode" doesn't apply to the 2D components, and there's no equivalent setting in the Phsyics2D section. You have to check the box "Use Full Kinematic Contacts" on the Rigidbody2D component itself!)

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • RendRend Registered User regular
    IIRC, collision in this case represents the OTHER object colliding with THIS object. Thus, the collider attached to the collision is the incoming one, not the one which is currently processing the collision.

    "This collision hit me. Tell me what collider is associated with it, with collision.collider"

  • agoajagoaj Now is the time of my revengeRegistered User regular
    They probably didn't have .otherCollider in the first version of unity and had to add it later.

    qnu0EMk.png
  • GSMGSM Registered User regular
    Does a gameobject listen for collision events of colliders attached to its child gameobjects? If that's the case, then otherCollider could be something other than the current gameobject's collider.

    We'll get back there someday.
  • templewulftemplewulf The Team Chump USARegistered User regular
    GSM wrote: »
    Does a gameobject listen for collision events of colliders attached to its child gameobjects? If that's the case, then otherCollider could be something other than the current gameobject's collider.

    It does listen to child (and grandchild!) colliders, but that still would be less "other" than a collider on a gameObject from a different hierarchy.

    What makes this even more baffling is that the OnTrigger series of events provides only one collider, that of the object not attached to the MonoBehaviour, and it is named `other` in the documentation!

    Anyway, I was just hoping to visualize the mental model that lead to the names, but I don't want to clog up the thread with naming quibbles.

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • CornucopiistCornucopiist Registered User regular
    Re: otherCollider
    This would be useful when using multiple primitive colliders on a single object rather than child objects.
    Example a collider for the soft bits of a car, and a collider for the undeformable spaceframe of a car, where you want to check if you dent or bounce...

  • GSMGSM Registered User regular
    Oh, the weirdness is "other" meaning "one of mine". I guess it's because the collider most collision events are interested in is the collider that isn't yours, so that's the one that gets the default name "collider". It's purpose driven. "What did I hit" is the foremost question in a collision event, instead of "which part of me just hit something".

    We'll get back there someday.
  • UselesswarriorUselesswarrior Registered User regular
    I was goofing around with Godot as it keeps popping up in my feeds and the idea of open source Unity is appealing to me.

    Does this thing have one of the worst UI's ever put together or is it just me?

    Hey I made a game, check it out @ http://ifallingrobot.com/. (Or don't, your call)
    DisruptedCapitalist
  • CornucopiistCornucopiist Registered User regular
    So, this is not really a post mortem of my Moonshot_RPG, but I need to put some thoughts together and decided I'd do it here.

    18jl3ef9l078.png

    THE BAD NEWS

    -first of all, the project has really run up against my limited abstract reasoning power. Which, I'm not that dumb, even specifically in that field, but I AM a 40 year old with serious fatigue, a job, two kids and whatnot. I just haven't been able to crack imagining how you move along mesh nodes while trying to jump between a corresponding 2D array, as derived from a simple List.
    Which means that when I switched from creating groups of meshes using every node in the 2D array to meshes using only every other node, I was wallowing and reduced to trial and error.

    -ECS! May it arrive tomorrow in a useable (on mobile) form. I think most of the issues I've cracked so far will carry over in a Unity 2019 project started from scratch. But I'm on the fence for a little while longer, and if I were to keep working, I'd probably end up having less to 'carry over'.

    -Fully procedural meshes vs combined tile. Adding water to the procedurally generated mesh made it clear that it'll never look good enough AND be generated on mobile. It's more complicated than that; because it seems that both the generating code AND the subsequent instancing of objects run much earlier in the loading of a scene than I programmed them to- or at least they hog memory already at that point.

    -I've not yet gotten into the murky waters of object placement on these meshes, which would have involved... Trigonometry!

    DIAGNOSIS?

    -All of these together determine where I'll be going with the game (well, middleware?). Tiles! I now have to figure out ways to make tiled procedural terrain with as few tile types as possible, without that being obvious...

    OUTLOOK

    A few things I did learn on this project that do carry over:

    -proper managing of lists! (okay, maybe I could have done with fewer lists)

    -navigating and listing subsections of a 2D array (well, not perfectly)

    -procedural generation of heightmaps, towns, areas, and (not very good) rivers!

    -procedural texture generation from all of the above!

    So, all in all, it was a lot of fun, really hard, and incredibly frustrating at times. I learned A LOT. I'm looking forward to ticking off enough of my to do list that I can start on my next attempt- I did call it a moonshot, and so I will keep trying.

    In the meantime, I have marketing to perfect, a game to finish and repolish, and a very tightly scoped game that I can play around with on the side... Fun!

  • UselesswarriorUselesswarrior Registered User regular
    It is super hard to balance a job and gamedev, I can't even imagine it with two kids.

    Hey I made a game, check it out @ http://ifallingrobot.com/. (Or don't, your call)
    KoopahTroopahtemplewulfDisruptedCapitalistCornucopiistbowen
  • UselesswarriorUselesswarrior Registered User regular
    edited January 10
    This is a long shot, but I found a video not too long ago where this guy was showing off his game jam winning game that he was live editing in the browser. It was either in JavaScript or ClojureScript and had a military rts theme with a cartoony art style. I am almost 100% sure it was on Youtube.

    I saw this and said, "neat" and intended to watch the entire thing later. I can not, for the life of me, find this video. After a lot of history and Google searching I've come up with bumpkis. Anyone have any inkling of where I may find this video?

    Big thing I want to dive into is live editing a game in a browser while maintaining game state, ie, no restarts as the code changes.

    Uselesswarrior on
    Hey I made a game, check it out @ http://ifallingrobot.com/. (Or don't, your call)
  • DisruptedCapitalistDisruptedCapitalist Registered User regular
    I was goofing around with Godot as it keeps popping up in my feeds and the idea of open source Unity is appealing to me.

    Does this thing have one of the worst UI's ever put together or is it just me?

    Yeah I dabbled in it a few months ago but then realized I had actual work to do and gave up on it. At the time I thought it was just my unwillingness to start with new software

  • HandkorHandkor Registered User regular
    It is super hard to balance a job and gamedev, I can't even imagine it with two kids.

    That's what I've been doing for a while with 2 kids but I recently changed jobs to something closer to gamedev and now instead of different work/hobby compartments in my head it's more like trying to organize/plan two similar project at the same time.
    My old jobs was in the chemical regulation industry and my mind was free to do gamedev for evening and weekends. My new work involves 3d stuff and now the same parts of my brain that I use in my hobby I use at work so it's been hard to put time in finishing something. I've also been putting more hours in since new job and all but also when you're working on something and you get it to work, it's easy to want to keep going. My old job had moved our teams to a legacy project from a merger that needed more developer and forced the lot of use to essentially forget a decade of expertise to fix bugs in VB6 to meet deadlines for those projects. The new management came from manufacturing and saw developers as resources that could just be moved around to any projects as needs arose completely ignoring how long it takes before you can be productive on a new project. I was the 7th dev to leave that project in a year and this was not a ploy to get the more expensive senior devs to leave so they can hire juniors, just bad management. The kind of bad management that also fired all of QA to outsource overseas before realizing that the QA required needs years of knowledge in the chemical regulation industry to be able to tell if the software output actually matches the local and international laws of most countries, not something that can easily be scripted away.

    tl:dr rant about my old job and why I quit

    Anyway the new job is great, I get to do cool stuff that I can't talk about but I have less time or energy (due to the same parts of my brain getting used) for gamedev. Should pick back up once I'm passed the initial new job rush though.

    Cornucopiist
  • cravipatcravipat CFKPW? Registered User regular
    I was goofing around with Godot as it keeps popping up in my feeds and the idea of open source Unity is appealing to me.

    Does this thing have one of the worst UI's ever put together or is it just me?

    Yeah I dabbled in it a few months ago but then realized I had actual work to do and gave up on it. At the time I thought it was just my unwillingness to start with new software

    It reminds me a lot of Blender. You spend a bunch of time just to figure out where things are. Eventually you get used to it and forget how oddly designed it is.

    nw1m8qQ.pngwNA4DEe.png6W3X2nk.png
    Switch FC: 0265-9117-2716
    DisruptedCapitalistHandkor
  • KupiKupi Registered User regular
    Kupi's Weekly Friday Status Report
    comes early this week because I've been on vacation

    I wrapped up the implementation and unit-testing of overlap detection for Surfaces (which, as a reminder, are series of line segments that only have collision on them in one direction). After that, I threw together another screen saver demonstrating how all my collision volumes work:



    Putting together a moving visualization of the overlap tests revealed a couple problems with my fixed-point math struct, namely that it's really easy to overflow the thing, and a lot of my mathematically-precise functions (like determining the intersection point(s) between a line segment and a circle or finding the center of a polygon) had to be replaced with less computationally-efficient but overflow-resistant methods.

    I'm not certain where I'm going to go from here. On the one hand, simple overlap tests are sufficient to start producing basic hitbox interactions, which means I could put some work into the sprite animation and character data association side of things and try to make a basic game, or I could continue on my previous planned tack and implement the shape-casting side of the physics system that'll be important for helping keep characters from having wobbly interactions with walls. I am probably going to go with the shape-casting thing, just because it's generally best to get good and done with a single aspect of a system and then become a user of it than to bounce back and forth between implementing different phases, and also most of the shape-cast methods are already written and just need unit testing (followed by re-writing...).

    My favorite musical instrument is the air-raid siren.
    ElvenshaeLilnoobsKoopahTroopahAntinumeric
  • templewulftemplewulf The Team Chump USARegistered User regular
    cravipat wrote: »
    I was goofing around with Godot as it keeps popping up in my feeds and the idea of open source Unity is appealing to me.

    Does this thing have one of the worst UI's ever put together or is it just me?

    Yeah I dabbled in it a few months ago but then realized I had actual work to do and gave up on it. At the time I thought it was just my unwillingness to start with new software

    It reminds me a lot of Blender. You spend a bunch of time just to figure out where things are. Eventually you get used to it and forget how oddly designed it is.

    I've been hearing that complaint about Godot a lot, but I already think most productivity software is obtuse as hell. I've never used Photoshop or Unity or Maya and thought "Aha! Obviously the tool I want is in this sub-sub-sub-menu."

    What puts Godot on the next level?

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • AntinumericAntinumeric Registered User regular
    I finally dusted off this roguelike game prototype I built 4 years ago. The code is surprisingly good. There are some questionable design decisions (string based messages everywhere!) that I can code out. But it was really easy to add a simple sword attack with animation:

    E6TpoRR.gif

    In this moment, I am euphoric. Not because of any phony god’s blessing. But because, I am enlightened by my intelligence.
    DisruptedCapitalistUselesswarriorKupiKoopahTroopahCornucopiistCalicaIncenjucarRoyceSraphimIanatorDronus86
  • AntinumericAntinumeric Registered User regular
    -All of these together determine where I'll be going with the game (well, middleware?). Tiles! I now have to figure out ways to make tiled procedural terrain with as few tile types as possible, without that being obvious...

    Have you looked into Wavefunction Collapse?. It's a really cool algo for generating procedural tilemaps that look good. It's really similar to Wang tiles.

    In this moment, I am euphoric. Not because of any phony god’s blessing. But because, I am enlightened by my intelligence.
    Cornucopiist
  • UselesswarriorUselesswarrior Registered User regular
    edited January 12
    This is a long shot, but I found a video not too long ago where this guy was showing off his game jam winning game that he was live editing in the browser. It was either in JavaScript or ClojureScript and had a military rts theme with a cartoony art style. I am almost 100% sure it was on Youtube.

    I saw this and said, "neat" and intended to watch the entire thing later. I can not, for the life of me, find this video. After a lot of history and Google searching I've come up with bumpkis. Anyone have any inkling of where I may find this video?

    Big thing I want to dive into is live editing a game in a browser while maintaining game state, ie, no restarts as the code changes.

    Fucking found it.



    Such a great minor victory in my life. Even if the video isn’t as in depth as I remembered.

    Game is exo_encounter https://technomancy.itch.io/exo-encounter-667.

    Uselesswarrior on
    Hey I made a game, check it out @ http://ifallingrobot.com/. (Or don't, your call)
    templewulfHandkorKoopahTroopah
  • CornucopiistCornucopiist Registered User regular
    -All of these together determine where I'll be going with the game (well, middleware?). Tiles! I now have to figure out ways to make tiled procedural terrain with as few tile types as possible, without that being obvious...

    Have you looked into Wavefunction Collapse?. It's a really cool algo for generating procedural tilemaps that look good. It's really similar to Wang tiles.

    Thanks! I think there's probably something in the listed mods I could use, for sure a city generator would be handy...

    Antinumeric
  • DodgeBlanDodgeBlan PSN: dodgeblanRegistered User regular
    Hey game devs,

    I've got a question for anyone who's been trying to make games in the casual space

    I've been working on a casual iOS spelling game for a while, and I'm pretty happy with the core gameplay loop.

    The part that's really bad is the metagame structure. The levels, the scoring, the menus and such.

    Does anyone have any suggestions for casual iOS games that have
    a) a well structured metagame that uses levels
    b) that's simple (not something with a really complicated structure with a million currencies and such)
    c) intuitive

    A lot of the really big games have a really complicated structure that is really well monetized, but I don't think I have the bandwidth to build 'ideal' monetization. I'm looking for something that gets the job done that isn't six months of work.

    Thanks!

    Read my blog about AMERICA and THE BAY AREA

    https://medium.com/@alascii
    Cornucopiist
Sign In or Register to comment.