As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/

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

1434446484992

Posts

  • KupiKupi Registered User regular
    ECS quick video tutorial that youtube helpfully recommended to me: https://www.youtube.com/watch?v=lDTyCYAtQyQ

    makes things pretty simple to at least try on your own even if I dont quite grok how this would be useful for gameplay functions, I can already see how it could replace particles for some types of vfx

    It's about eleven days too late for this to be a proper reply, but as I started to try to put some gameplay logic together using a custom implementation of Unity's ECS inside my own head, I realized that there's no set of rules too small to qualify for conversion to this paradigm. The example I use is rocks, switchs, and doors: a switch is activated if a rock is sitting on it, and a door opens if all of its switches are activated at the same time. In an object-oriented paradigm, each object has a function that implements the behavior relative to a single instance; each Rock moves on its Update(), each Switch checks for overlapping rocks on its Update(), and each Door checks for its associated Switches being activated in its Update(). In the new paradigm, you have a system that runs first and moves all the Rocks, then a second system that grabs all the Rocks and Switches and checks them for overlaps to determine each Switch's activation state, and then a final system grabs all the Doors and Switches and determines which Doors ought to open.

    That is to say, it's not necessarily a huge paradigm shift in every case; it mostly just moves the existing the code into different places that may (or may not) be easier to follow and involve less jumping around at random in the RAM.

    My favorite musical instrument is the air-raid siren.
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
  • dipuc4lifedipuc4life ... In my own HeadRegistered User regular

    I clicked on that video thinking it was a short video since I was like "I have a few minutes". When I saw 1 hour and 5 minutes I was like "I don't have the time to watch, this is too long". Well I ended up watching the whole thing. I didn't understand most some of it but it was very interesting. So darn you ... and thank you for posting that video.

    NNID: SW-6490-6173-9136
    Playstation: Dipuc4Life
    Warframe_Switch IGN: ONVEBAL
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    edited May 2018
    dipuc4life wrote: »
    "I don't have the time to watch, this is too long".
    I found sort of a solution, on desktop at least. I always watch videos with the auto-captions enabled and at 1.5x speed. So far that has never failed to give me the general idea of the video and to retain the core concepts. And if, like this video, I want to try to implement stuff I saw I go back and watch it at 1x speed. But now I know where to skip to for the crunchy parts like code examples. On mobile youtube doesnt give you speed or caption options at least in my firefox, which I use over the app because FF has ublock origin.

    Also YW for video, I'll keep posting stuff I would have liked it if other people had linked to me. If you really want to thank me play my game and find something to complain about so I can fix it :)

    The whole scriptable object thing is still floating over my head waiting for me to grab it. I "sort of" get the idea but not well enough to use it in practice. Then again singletons took me over a year to understand and now apparently they are the devil. What really interested me about that video is the runtime sets as means to coral and iterate over groups without the overhead of tag searches or the uncertainty of registering and de-registering objects in a manager. Also his event description pretty much describes how property binding works in Java now which is something I'm sorely missing in C#.

    ALSO this video emphasizes that I need to learn about custom inspectors and editor scripting because holy shit that looks useful.

    rembrandtqeinstein on
  • HallowedFaithHallowedFaith Call me Cloud. Registered User regular
    Some of you may be interested to know that YoYoGames (Makers of GameMaker) are getting into publishing to help indiedevs out. No word on quality/how but could be useful to someone here!

    https://www.yoyogames.com/blog/472/yoyo-games-publishing-faq

    I'm making video games. DesignBy.Cloud
  • Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    I've been doing things with particles (and screen shake)


    I have a thoughtful and infrequently updated blog about games http://whatithinkaboutwhenithinkaboutgames.wordpress.com/

    I made a game, it has penguins in it. It's pay what you like on Gumroad.

    Currently Ebaying Nothing at all but I might do in the future.
  • bowenbowen How you doin'? Registered User regular
    Xtreme Connect-4

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    edited May 2018
    I'm sort of a little starting to get scriptable objects. They appear to be a very "Unity"ish way to store and make available global data. The advantage over static class members is that scriptable objects exist in both the game AND the editor. In the game they persist across scenes and don't need to be instantiated so they are a reliable method of decoupling object behaviors or relying on a specific scene order. In the editor they can be used to pull data OUT of a game which would otherwise be very cumbersome to do with file manipulation. Compared to storing your data in something like XML you can see it at a glance in the editor and display it in a meaningful way using editor scripting. It is trivial to add a new instance of a scriptable object type through the editor gui to increase gameplay depth without necessarily modifying a lot of code.

    And they can contain executable code which interests me because I believe they can be written to replicate the behavior of the wonderful JavaFX properties: https://docs.oracle.com/javase/8/javafx/api/javafx/beans/property/FloatProperty.html

    Any expert here feel free to chime in and tell me if I'm talking out of my ass.

    rembrandtqeinstein on
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    Progress since last time:
    b3dx9xwrikoh.png

    Wanted to update the graphics to be a bit less "gamejammy" so I found some free models and better looking particles on turbosquid and the asset store and incorporated them. The thing about premade free, or even purchased I'm assuming, assets is that they will never be EXACTLY what you are looking for so you still need the skills to tweak them into the thing that fits your game. I spent at least an hour taking the fire particle effect from a "fountain" to a "field" and I'm still sure I did it wrong. I also tried various models for my enemies but in-game none of them looked as good as the primitives so I kept those. Maybe some something REALLY lowpoly would work. The models and particle packages had the side effect of ballooning the build size to 22mb (from 8). I don't know if that is because I have a lot of unused assets or because the textures/shaders I am using end up that big.

    Also changed the lighting to a multipoint rig to make the player model pop (still dark). It turns out a liner black fog is bad....it just makes everything dark, switching to squared exponential fog made my lighting choices more meaningful. I have no idea what I'm doing with graphics so I might spend next week JUST doing "for dummies" graphic tutorials. I know I want glowiness and crisper particles, just not sure how to make it happen.

    Unity is pissing me off in how you can't edit nested prefabs that are deeper than 1 layer in the project pane, you have to do drop them into a scene, edit them there, then apply back to the prefab. At least I couldn't, not sure if there is a setting or something that needs fixing.

    For balance changes I slightly increased the starting speed on all 3 difficulties after numerous testers said medium was still too easy. And finally I moved the player backwards towards the bottom of the screen which gives a little more reaction time. This has the side effect of hiding the "tail" of my shooting particles so overall looks better.

    Current dev trello

    As always any feedback is welcomed and if anyone wants mechanics or anything else explained let me know.

  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    Weekly update on game:
    • added animation to player movement, got one feedback already that it looks like the ship is exploding so i need to tweak it
    • added motion to the "enemies" they aren't just random walls anymore, they move with the player and between the lanes, they still don't attack
    • added sound and music, probably the least fun thing for me in dev and i think in the future I'll have to add it as I go, doing it all in one go drains my energy too much

    links to game and dev plan are in the previous post

    as always any feedback is welcome

  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    I've been seeing datatype float2 and float3 (and float4). What are those and which version of .net or library do I need to be referencing to use them?

  • HandkorHandkor Registered User regular
    I've been seeing datatype float2 and float3 (and float4). What are those and which version of .net or library do I need to be referencing to use them?

    These are the vector numeric types. So that float3 v = float3(0,0,0); and each component can be used with v.X, v.Y or v.Z.

    .Net usually uses Vector2 Vector3 and Vector4.

    The float[2-4] are used in HLSL/shader code.

    It's possible that which ever engine you are using has also added its own vector types and named them float[2-4]

  • KupiKupi Registered User regular
    Those sound like shader data types. Float2 and float3 are structs that combine 2 and 3 floats into a vector, respectively, at least in shader languages like GLSL. Where are you seeing these used?

    My favorite musical instrument is the air-raid siren.
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    Kupi wrote: »
    Those sound like shader data types. Float2 and float3 are structs that combine 2 and 3 floats into a vector, respectively, at least in shader languages like GLSL. Where are you seeing these used?


    Maybe I did see them in shader code and thought "those look useful, let me try to define on in my classes" but nope.

    I'm on Unity using .net 3.5 still.

  • RoyceSraphimRoyceSraphim Registered User regular
    I'm dipping my feet back into Gamemaker as I finish the art for my visual novel.

    I'm having a hard time trying to google solutions for my problem with the Egyptian schump/side scroller.

    Please define this term I need to research.

    Going from intro to menu to level, back to menu, to next level, etc.

    Because I created those things when I hit a wall, but could not jump between levels cleanly.

  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    I'm dipping my feet back into Gamemaker as I finish the art for my visual novel.

    I'm having a hard time trying to google solutions for my problem with the Egyptian schump/side scroller.

    Please define this term I need to research.

    Going from intro to menu to level, back to menu, to next level, etc.

    Because I created those things when I hit a wall, but could not jump between levels cleanly.


    I haven't used gamemaker in a while but I think the scenes/levels are called "rooms" there so you would search for "gamemaker room transition" and that search found me this video https://www.youtube.com/watch?v=PhptqoHGYyY

    GL

  • CornucopiistCornucopiist Registered User regular
    I've hit a bit of a wall with my Unity development in terms of shaders. All I wanted was a shader that could combine separate UV maps for separate color, texture and alpha atlases... Well, I wrote one! Then it turns out it doesn't work on mobile.
    So for my next batch of unbillable hours, I could either dive into the madness that is the standerd.shader .cginc labyrinth or go check out Unreal.
    Hellooo, Blueprint!
    Haven't actually done much, but soon I'll be able to report back on the differences. Although, I think I'll be leaving blueprint behind to work in C++ directly.

    In other news, though I have lots (lots) of installs now, coming up on 1500, after almost a year my game ChooChoo is a solid financial dud. The Premium version might be priced to high, but a week in promo didn't get many installs, either. But not to worry! I'll be publishing on iOS soon, and all the monies will be mine...

  • Dronus86Dronus86 Now with cheese!Registered User regular
    Hello!

    I'm trying to learn Unity for funsies. I'm currently in the process of making a completely unreasonable game so that I can fail and learn, but I don't yet feel ready to accept failure on this project. The concept is tactics-like. I've learned a lot from tutorials and am focusing heavily on everything but art, animation, and music (so I'm basically just doing scripting with prefabs and playing around with the GUI a bit), but I keep getting lost in the weeds and coming to dead ends that I'm not sure how to attack. I'm unfamiliar with event-driven programming, and frankly I am not entirely in the OOP headspace either but I've been having fun trying to keep thinking that way.

    The problem is that I can't really judge the difficulty of the tasks I'm trying to accomplish yet - I don't know if these are speedbumps or mountains. And I don't have anything solid to help guide me on the things I'm completely uninformed about. For example, I'm not sure how to maintain/store/update character data. Is there a recommended way? Is there a best way? How are people doing inventories? Is it just a dictionary/list/whatever of some class they've created? What about skills?

    I've tried wandering around the Unity tutorials, which are great, but they're also very straightforward and only solve the very exact problems that they're trying to solve. Is there any complete, big, cool, open source Unity game or something that I could explore and play with that might have solutions to common problems that I can steal and then play with and break?

    Look at me. Look at me. Look at how large the monster inside me has become.
    Crunch Crunch! Munch Munch! Chomp Chomp! Gulp!
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    edited June 2018
    Why don't you list the specific problems you are having? In my hobbyist dev experience I've found that most of the programming "problems" aren't any more difficult than mid-tier high-school math word problems. If you have experience you will solve them faster but even without anyone can come up with a sub-optimal solution to refine later.

    I can give you the source to a match 3 game, its super unpolished but its a complete game loop: https://github.com/acpirate/Match3Single needs to be updated to the newest unity but might work out of the box

    edit: also on the github account are other games in various states of unfinishedness but they might have some examples that could help you along, I sometimes did good documentation

    rembrandtqeinstein on
  • Dronus86Dronus86 Now with cheese!Registered User regular
    Well, for example, I got ahead of myself and was trying to implement something to 'display' area of effect of abilities even though I don't have any abilities yet.

    For the most part getting the tiles from the origin tile is pretty easy (with the exception of some of the weirder shapes, like a diagonal cross, but I just math'd those), but the issue I was having was figuring out how to update/maintain/display this while the user moves his mouse around the battlefield. I finally discovered delegate functions, so my current implementation is to have a delegate function pointing to my desired function to display the effect, then use OnMouseEnter() and OnMouseExit() to create the visuals for each tile, but I'm not sure if that's correct or if there's a better way. Before that I was doing some raycasthit stuff that seemed overly complicated and wasn't really working anyway.

    That also touches on my concern of my whole design. Right now I maintain a List of Tiles, and all these Tiles have colliders and such but that almost seems unnecessary. I implemented it that way because the original tutorial I was using as a reference did and used a lot of raycasts and overlapbox to determine information, but now I'm not sure if that's the best design. Should I just maintain a 3 dimensional array that stores information about what is occupying what space? Would that be more efficient? Is that a bad idea?

    And also I'm not sure of the 'correct' way to store character information. I have scripts for moving tactically that would be attached to the character, and that seems like a natural place for actual movement information, but should I gather all the 'character' information into one place instead? If my tactics script has a max speed for each character, and another script has a maximum health, that seems wrong to me. But that might be me not fully understanding object oriented design.

    I like to look at other people's work for this reason - by seeing a bunch of examples I can kind of deduce what other people have been thinking.

    Look at me. Look at me. Look at how large the monster inside me has become.
    Crunch Crunch! Munch Munch! Chomp Chomp! Gulp!
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    Can you link to a vid or animated gif showing what you want to accomplish? I'm having trouble visualizing because "visuals for each tile" is a pretty broad category.

    Also from the design perspective from what I can tell there are two schools

    1. plan as much as you can beforehand, expect to go back to the drawing board to change things as you find out actual reality doesn't match the idea of reality that you planned around

    this is pretty much mandatory when you are working with a team and there are many spoons stirring the same pot

    2. make shit work by any means necessary game jam style, go back and refactor heavily (as in expect total module rewrites) as you find out the original implementation was unmaintainable or to resolve edge cases or replace your placeholder assets with real ones

    I prefer style 2 because nothing murders my enthusiasm as writing huge frameworks for things that may never come up in practice. And as a 1 man show I don't need to be super organized because I can just remember how things work, at least while I'm working on it, even if i cant 6 months later.

  • Dronus86Dronus86 Now with cheese!Registered User regular
    Sorry for the radio silence, I got distracted, but I did manage to get something working how I liked. All I really wanted to do was have an 'area of effect' display that updated as I dragged my mouse over the tiles, as if I was targeting with a fireball or something.

    I guess that really the summary of my problem is understanding object oriented design better and how to use it to achieve the things I want. I feel like that's where my issue really is. I thought that maybe referencing someone else's stuff would help, but it may be best if I just spend some time reading about and understanding it. I'm only just now starting to understand generics and delegates, and I feel like they may help me implement a lot of the things I couldn't figure out how to implement before.

    Look at me. Look at me. Look at how large the monster inside me has become.
    Crunch Crunch! Munch Munch! Chomp Chomp! Gulp!
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    edited June 2018
    Dronus86 wrote: »
    All I really wanted to do was have an 'area of effect' display that updated as I dragged my mouse over the tiles, as if I was targeting with a fireball or something.

    For something like that I really like the XCOM way to handle it which is you draw a radius using a sphere with something like a colored transparent mesh to show the player the aoe radius. Then spherecast from the point impact point and highlight any objects that are going to be interacted with by the AOE. Do this every frame while constraining the highlight sphere to the range of the attack and the player can precisely control the outcome leading to some very satisfying gameplay.

    If you want to make a grid based tactical game I would religiously study Firaxis XCOM 1 and 2. IMO they knocked it out of the park in terms of both UI and modernizing the turn-based gameplay so that it had close to the perfect intersection of depth and accessibility.

    Particularly look at how they handled the use of the gamepad as the interface. I personally think the gameplay feels better with the gamepad than with mouse and keyboard and I was utterly disappointed the XCOM2 didnt support gamepad out of the box.

    rembrandtqeinstein on
  • Dronus86Dronus86 Now with cheese!Registered User regular
    Dronus86 wrote: »
    All I really wanted to do was have an 'area of effect' display that updated as I dragged my mouse over the tiles, as if I was targeting with a fireball or something.

    For something like that I really like the XCOM way to handle it which is you draw a radius using a sphere with something like a colored transparent mesh to show the player the aoe radius. Then spherecast from the point impact point and highlight any objects that are going to be interacted with by the AOE. Do this every frame while constraining the highlight sphere to the range of the attack and the player can precisely control the outcome leading to some very satisfying gameplay.

    If you want to make a grid based tactical game I would religiously study Firaxis XCOM 1 and 2. IMO they knocked it out of the park in terms of both UI and modernizing the turn-based gameplay so that it had close to the perfect intersection of depth and accessibility.

    Particularly look at how they handled the use of the gamepad as the interface. I personally think the gameplay feels better with the gamepad than with mouse and keyboard and I was utterly disappointed the XCOM2 didnt support gamepad out of the box.

    Awesome advice, thanks! I have them in my steam library but haven't played them. I'll have to do that soon.

    Look at me. Look at me. Look at how large the monster inside me has become.
    Crunch Crunch! Munch Munch! Chomp Chomp! Gulp!
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    Dronus86 wrote: »
    I have them in my steam library but haven't played them. I'll have to do that soon.

    RIP your free time for game dev

  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    I've sent the last 2 weeks refactoring, which I knew would happen because the methodology of "do whatever to make it work" leads to a inevitable bottlenecks in maintenance/bugfixing.

    And I have new hosting which should allow me to do server-side stuff like leaderboards and player stats. Unfortunately dealing with my own hosting is a lot more frontloaded effort than "build game, upload to itch.io, update devlog". I'll probably need to spend a week of dev time learning cpanel and wordpress to set up a site mimicking what was already handled by itch. On the plus side my own hosting will let me set up an "in progress" environment and host multiple builds in various stages of testing which I didn't find a way to do using itch.

    The big refactor was breaking up my god object into multiple modules. I still have enough coupling that its effectively 1 god object and 4 separate classes but im slowly peeling things apart.

    One big thing is I was able to implement an observer pattern in my scriptable object properties so now I can register listeners from my monobehaviors and react to changes in the property value just like in javafx. This makes me happy and should simplify my architecture in the future.

    Something I'm missing is the ability to run an "awake" method on scriptable objects. Right now I want to "reset" scriptable object property values to make sure I don't override my starting values after a game. I know how to implement that in an elegant manner so I end up calling a "reset" method on the scriptable object from an arbitrary monobehavior that references it.

  • RoyceSraphimRoyceSraphim Registered User regular
    Tried new drawing style

    Comes out looking retro in a good way

    Unable to load to scene

  • LD50LD50 Registered User regular
    I'm downloading Unity. Somebody hold me.

  • LaCabraLaCabra MelbourneRegistered User regular
    Holding is reserved for Unreal users

  • ElvenshaeElvenshae Registered User regular
    LaCabra wrote: »
    Holding is reserved for Unreal users

    ... but here’s a link to a 30-minute YouTube video tutorial that shows you the three button presses / settings to change (taking about 30s of real time) to approximate holding in Unity.

    Visit my patreon!

  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    LD50 wrote: »
    I'm downloading Unity. Somebody hold me.

    Buckle up brother, life is about to get a lot more interesting


    maxresdefault.jpg


  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    mine eyes have seen the glory of the coming of the lord

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

  • LaCabraLaCabra MelbourneRegistered User regular
    It feels like every day I find out about another basic-ass thing from the 90s that Unity doesn't have, but I guess the way I'm finding out is they announce they're adding it, so maybe that's a wash

  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    LaCabra wrote: »
    It feels like every day I find out about another basic-ass thing from the 90s that Unity doesn't have, but I guess the way I'm finding out is they announce they're adding it, so maybe that's a wash

    The current functionality is even worse than they are showing. Right now prefabs aren't "classes" they are "folders". So you don't try to build anything complex out of prefabs but instead you build a single complex object with nesting and turn it into a prefab. If you want a slightly different one you make a copy of your folder that no longer retains any relation to the original. Of course that makes maintaining anything with gameplay breadth a nightmare as changing any aspect of your "prefab category" requires you to make the same change all N versions of it.

    The way I've gotten around that is to make any minor changes in script which in turn makes things harder to test. I'm not even dealing with complex character models and its a pain in the ass with just parented primitives.

  • halkunhalkun Registered User regular
    edited June 2018
    So!
    The space combat game from 1991 I am porting had to take a back-burner for two months as health issues came up. That was resolved, but took the wind out of my sails for a bit.

    Good news is I should have a playable beta demo by MONDAY! The graphics are still the legacy 1991 stuff, but it comes with a theme system so I'm sure if the user base wants to make a Star Trek/Star Wars theme more power too them. Sadly the current default theme is ugly as sin and needs an update to something less garish and copyright-infringy. I have a budget for an artist, but can't find anyone who can do GUI interfaces at the moment. Keep in mind. The game has had a resolution/color upgrade, but is a bit hard to tell with legacy graphics. It went from 320x200x4bpp colors to 1280x800x32bpp colors (Go go gadget alpha channel)

    Linked pics (They are full resolution. Like I said only the legacy graphics are blocky. It can actually take themes at a much higher resolution)
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Also, can a artist take my money please! I need one and sadly the artiest corner contacts don't do GUI so much :(

    halkun on
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    that feeling of relief when I take a feature off the to-do list and move it to the "i might put this in the sequel" list

  • HandkorHandkor Registered User regular
    that feeling of relief when I take a feature off the to-do list and move it to the "i might put this in the sequel" list

    Feature Decreep, you can do that?

    oh my!

  • KashaarKashaar Low OrbitRegistered User regular
    Handkor wrote: »
    that feeling of relief when I take a feature off the to-do list and move it to the "i might put this in the sequel" list

    Feature Decreep, you can do that?

    oh my!

    Defeature creep!

    Indie Dev Blog | Twitter | Steam
    Unreal Engine 4 Developers Community.

    I'm working on a cute little video game! Here's a link for you.
  • rembrandtqeinsteinrembrandtqeinstein Registered User regular
    Since I removed everything from the feature list I'm calling my game done. Play it and complain!

    qw59iz8wjyk3.png

  • RendRend Registered User regular
    Kashaar wrote: »
    Handkor wrote: »
    that feeling of relief when I take a feature off the to-do list and move it to the "i might put this in the sequel" list

    Feature Decreep, you can do that?

    oh my!

    Defeature creep!

    Feature Protoss

Sign In or Register to comment.