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.

1353638404192

Posts

  • RoyceSraphimRoyceSraphim Registered User regular
    edited January 2018
    Something I just recently learned about renpy that I wish other game development software would do (maybe UE4 and Unity already do) is a clickable button in the launcher that brings up a menu that lets me see all the labels, files, transformations, # TODO tags.

    Working on getting that last one working.

    RoyceSraphim on
  • HallowedFaithHallowedFaith Call me Cloud. Registered User regular
    Productivity tip: Assign your default browser page to your todo list.

    I'm making video games. DesignBy.Cloud
  • surrealitychecksurrealitycheck lonely, but not unloved dreaming of faulty keys and latchesRegistered User regular
    productivity tip; do all the fun conceptual bits of a game then go off to do something else and never finish anything

    obF2Wuw.png
  • RoyceSraphimRoyceSraphim Registered User regular
    productivity tip; do all the fun conceptual bits of a game then go off to do something else and never finish anything

    Then I'm working on 20+ games at the moment.

  • KhavallKhavall British ColumbiaRegistered User regular
    Even better, take the time to code up a prototype for some base-level gameplay idea you have, make a couple models, then get way too busy and leave it in the dust until you've basically forgotten about it.

  • Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    Productivity tip, program games on the Pico8 and you'll be able to crank out complete games in an afternoon and it feels awesome.

    Then get way too ambitious programs a flat shaded software 3d engine, get loled/retweeted by serious figures in the indie game scene and then have real life overwhelm you and stop working on it for 5 months and counting.

    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.
  • RoyceSraphimRoyceSraphim Registered User regular
    I'm surprised I do not have a bruise on my forehead from the two or three times I exported the art assets wrong.

  • KhavallKhavall British ColumbiaRegistered User regular
    Boy I am just.... waist deep in a horrible annoying... thing.

    So long story short, for those of you that don't know, I'm working on a PhD in, basically, games that write their own music.

    One of the ways we're exploring is the use of symbolic, corpus-based machine-learning. Basically, feeding a system a bunch of music, building some sort of stochastic model based on the music, and then outputting new music that is similar to the fed music.

    One of my side-project parts of that is that I want to build corpora of retro game music. So basically have the system trained on NES music, Master Drive/Genesis music, SNES music, etc. These are nice to train the system on because their sound system is also fairly easy to replicate in software.(The NES was basically two Pulse waves and a Triangle wave for actual pitched channels, for instance. The Genesis was an FM synth that's pretty easy to make)

    And as a bonus, there's lots of repositories of retro music! And in the original format, so I don't have to deal with bad arrangements or shit like that!


    Except.... it's all in the original format. And apparently there's not actually that much work in getting the original format to readable formats. e.g. there's an NSF->Midi converter, except it converts each tracker event to a MIDI note, so if a note fades out over time(which is, like, ultra common), the converter will display it as 32 32nd notes, rather than one whole note.

    All I want is basically to be able to pull these formats into basically a piano roll, which is basically what a tracker has anyways. Like basically, it would be a list of 32nd note intervals, with notes stored as which track is playing, the pitch, whether it's the onset, and whether it's sounding. It should be super basic. If I can just wrap my head around how to read an NSF, VGM, and PCG file in literally any of the languages I know, I know how to parse the data into usable data. Like, trackers are basically big ol' piano roll style representations of music, and famitracker can pull NSF files into itself and display as a piano roll.

    The problem is, I just can't for the life of me figure out how to do that reading part. I've read the guide on NSF format but, like, there's the important step I have of, ok, how in the world do I get from that to data I can deal with?

    It's super frustrating because I can open the NSF files in FamiTracker and see the piano roll version. I can look at exactly the data I want, but can't get that into an actual format that, say, C++ can read and parse.

  • bowenbowen How you doin'? Registered User regular
    You'll likely need to invent your own parser for the NSF format.

    If you haven't already found this, try these:

    https://wiki.nesdev.com/w/index.php/NSF

    ... but I'm sure you've already found that.

    What about playing the MIDI and recording it with an external device that you can work directly from that dumps it into the format you can use more directly?

    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
  • KhavallKhavall British ColumbiaRegistered User regular
    edited January 2018
    Yeah that's basically the stuff I've been chewing through all morning. Now I'm on a c++ emulator that... maybe actually reads NSF files, so maybe I'll be able to use part of it?

    The problem with going through MIDI is that basically if I can get to a nice clean MIDI that works, I've already probably had to go through a clean piano roll version that then dumps to MIDI.

    Doing recording of the audio itself would be its own more terrible nightmare.

    The worst part is that this was supposed to be a simple and easy, if boring day of converting using the existing converters, until I learned that they're crap. And that I can personally read the tracker and see that it's all there and could so easily be cleaned up.

    Also, like, I have class work that I need to do, but because I've spend the last... 3 hours looking at this documentation I feel like I'm so close to at least understanding enough to come back to it easily, except I'm really nowhere, and I'm out of time for this project for the day, and I don't want to start from 0 again.

    Khavall on
  • Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    The thing to remember about old sound chips like the sn76489 and YM2612 is that they are just peripherals hanging off a data bus. They don't really have a concept of music built into them. As a result the music that comes out of them can be driven by fiendishly complicated interrupt routines from the host CPU. Hell, the SNES sound chip is essentially a 6502 processor connected to a DSP.

    Getting usefully 'readable' music out of the formats is a hell on earth task - the VGM format is literally sniffing the bits off the bus between the CPU and the relevent Sound Chips - it's a series of instructions to set various registers on the sound chips to various values - trying to turn that into a stochastic model seems and impossible task to me as no individual chunk of data going down the bis maps to any particular sound and they are obviously time ordered dependent.

    Don't know nothing about the NSF format.

    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.
  • Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    edited January 2018
    30 second perusal of the NSF format. Seems pretty similar to VGM format in terms of usefullness to feed into a machine learning model - I rate that as nightmare.

    Alistair Hutton on
    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.
  • CalicaCalica Registered User regular
    edited January 2018
    Current Visual novel status

    I'm having more fun writing the plot and mapping out the three simple branches than doing art assets, as I've not practiced art in a long time.

    Here's a coding question though, or maybe finishing for critiques.....I was bashing code together to have varying dialog base on the order you hit the questions in the story, this was under option C, and was checking if the other options were hit already (A) or not (B), meaning I'm checking two variables for various states. I tried the first method below, and then used the second.
    if AA then 1
    if AB then 2
    if BA then 3
    if BB then 4
    
    vs.
    if A
        if A
            then 1
        if B
            then 2
    if B
        if A
            then 3
        if B
            then 4
    

    From your understanding, which is better?

    edit: I forgot to mention I wrote an elseif statement at the end of the second method to ensure something was said.

    What @Rend said about a tree structure, but also: the choice that's easier for a human to read and maintain is usually the better one, imho. For all but the simplest cases that will be the second version - which is itself a rudimentary tree.

    Consider what happens if you add option D, for example. The number of checks you have to write (and keep track of) grows much faster with a list than with a tree, even a crude one implemented entirely with if-then statements.

    Calica on
  • KhavallKhavall British ColumbiaRegistered User regular
    30 second perusal of the NSF format. Seems pretty similar to VGM format in terms of usefullness to feed into a machine learning model - I rate that as nightmare.

    The thing is, it should be... sort of.

    Except that I know that it can be interpreted as the data that I need because, at least in the NSF format, I can yank it into a tracker and visually read it.

    Like I can open an NSF file into Famitracker and read it. And if I had the data that Famitracker pulls from it, I know lots of simple ways that I'd be able to parse it in terms of making it into a piano roll format. Especially since I really am only interested in Pitch+on/off(which also could just be amplitude thresholds, as well as using pitch change as a thing, etc.).


    For the basic levels of our models - the most basic one being melody generation, for instance, we basically use variants on Markov chains. e.g. given Pitches of C#5, D#5, E5, what's the next note? Well, you'll have a range of potential next pitches and their probability. Then you can add other musical aspects as well.

    Then you can also cross-reference with rhythm data in various forms, but similarly it's the likelihood given the corpus that an impulse or sustain will happen in the next slice.

    In terms of interpreting the file formats, if I can interpret the time(which seems to often be kind of like how MIDI interprets time, where it works in cycle/tick and there's some easy way to convert) and pitch, I can turn that into basically just a heap of temporal and pitch data, which can then feed into the models.



    The real frustrating part is that I know that it can be put into ways that I could parse it because if I had the data that the trackers had I could parse it, I just have no idea how to interpret it to that level.

  • Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    edited January 2018
    Khavall wrote: »
    30 second perusal of the NSF format. Seems pretty similar to VGM format in terms of usefullness to feed into a machine learning model - I rate that as nightmare.

    The thing is, it should be... sort of.

    Except that I know that it can be interpreted as the data that I need because, at least in the NSF format, I can yank it into a tracker and visually read it.

    Like I can open an NSF file into Famitracker and read it. And if I had the data that Famitracker pulls from it, I know lots of simple ways that I'd be able to parse it in terms of making it into a piano roll format. Especially since I really am only interested in Pitch+on/off(which also could just be amplitude thresholds, as well as using pitch change as a thing, etc.).


    For the basic levels of our models - the most basic one being melody generation, for instance, we basically use variants on Markov chains. e.g. given Pitches of C#5, D#5, E5, what's the next note? Well, you'll have a range of potential next pitches and their probability. Then you can add other musical aspects as well.

    Then you can also cross-reference with rhythm data in various forms, but similarly it's the likelihood given the corpus that an impulse or sustain will happen in the next slice.

    In terms of interpreting the file formats, if I can interpret the time(which seems to often be kind of like how MIDI interprets time, where it works in cycle/tick and there's some easy way to convert) and pitch, I can turn that into basically just a heap of temporal and pitch data, which can then feed into the models.



    The real frustrating part is that I know that it can be put into ways that I could parse it because if I had the data that the trackers had I could parse it, I just have no idea how to interpret it to that level.
    The Importer works by playing back the selected .NSF file using NotSoFatso, which is hiding inside this special build of FamiTracker (no actual sound is produced during this step). NotSoFatso then analyses any and all data it finds on a per-frame basis, and retranscribes it in FamiTracker in the form of a 900-bpm (or 750-bpm for PAL) module. This means that the resulting module plays at full speed, and that any vibrato, pitch envelopes, duty cycle envelopes etc. are represented using effects Pxx, Vxx etc.

    As far as I can tell famitracker is literally playing back the music and effectively manually transcribing it through the APU emulation siting in NotSoFatso.

    Alistair Hutton on
    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.
  • Marty81Marty81 Registered User regular
    Famitracker can't export midi?

    There's another tracker I use to make music, Renoise. With this tool https://www.renoise.com/tools/midi-convert it can export anything it can read to midi. The demo version of Renoise is free and is almost fully-featured. Maybe it would help?

  • KhavallKhavall British ColumbiaRegistered User regular
    Khavall wrote: »
    30 second perusal of the NSF format. Seems pretty similar to VGM format in terms of usefullness to feed into a machine learning model - I rate that as nightmare.

    The thing is, it should be... sort of.

    Except that I know that it can be interpreted as the data that I need because, at least in the NSF format, I can yank it into a tracker and visually read it.

    Like I can open an NSF file into Famitracker and read it. And if I had the data that Famitracker pulls from it, I know lots of simple ways that I'd be able to parse it in terms of making it into a piano roll format. Especially since I really am only interested in Pitch+on/off(which also could just be amplitude thresholds, as well as using pitch change as a thing, etc.).


    For the basic levels of our models - the most basic one being melody generation, for instance, we basically use variants on Markov chains. e.g. given Pitches of C#5, D#5, E5, what's the next note? Well, you'll have a range of potential next pitches and their probability. Then you can add other musical aspects as well.

    Then you can also cross-reference with rhythm data in various forms, but similarly it's the likelihood given the corpus that an impulse or sustain will happen in the next slice.

    In terms of interpreting the file formats, if I can interpret the time(which seems to often be kind of like how MIDI interprets time, where it works in cycle/tick and there's some easy way to convert) and pitch, I can turn that into basically just a heap of temporal and pitch data, which can then feed into the models.



    The real frustrating part is that I know that it can be put into ways that I could parse it because if I had the data that the trackers had I could parse it, I just have no idea how to interpret it to that level.
    The Importer works by playing back the selected .NSF file using NotSoFatso, which is hiding inside this special build of FamiTracker (no actual sound is produced during this step). NotSoFatso then analyses any and all data it finds on a per-frame basis, and retranscribes it in FamiTracker in the form of a 900-bpm (or 750-bpm for PAL) module. This means that the resulting module plays at full speed, and that any vibrato, pitch envelopes, duty cycle envelopes etc. are represented using effects Pxx, Vxx etc.

    As far as I can tell famitracker is literally playing back the music and effectively manually transcribing it through the APU emulation siting in NotSoFatso.

    Oooh.. that's cool if I can just use NotSoFasto to basically do the same thing.

  • Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    Khavall wrote: »
    Khavall wrote: »
    30 second perusal of the NSF format. Seems pretty similar to VGM format in terms of usefullness to feed into a machine learning model - I rate that as nightmare.

    The thing is, it should be... sort of.

    Except that I know that it can be interpreted as the data that I need because, at least in the NSF format, I can yank it into a tracker and visually read it.

    Like I can open an NSF file into Famitracker and read it. And if I had the data that Famitracker pulls from it, I know lots of simple ways that I'd be able to parse it in terms of making it into a piano roll format. Especially since I really am only interested in Pitch+on/off(which also could just be amplitude thresholds, as well as using pitch change as a thing, etc.).


    For the basic levels of our models - the most basic one being melody generation, for instance, we basically use variants on Markov chains. e.g. given Pitches of C#5, D#5, E5, what's the next note? Well, you'll have a range of potential next pitches and their probability. Then you can add other musical aspects as well.

    Then you can also cross-reference with rhythm data in various forms, but similarly it's the likelihood given the corpus that an impulse or sustain will happen in the next slice.

    In terms of interpreting the file formats, if I can interpret the time(which seems to often be kind of like how MIDI interprets time, where it works in cycle/tick and there's some easy way to convert) and pitch, I can turn that into basically just a heap of temporal and pitch data, which can then feed into the models.



    The real frustrating part is that I know that it can be put into ways that I could parse it because if I had the data that the trackers had I could parse it, I just have no idea how to interpret it to that level.
    The Importer works by playing back the selected .NSF file using NotSoFatso, which is hiding inside this special build of FamiTracker (no actual sound is produced during this step). NotSoFatso then analyses any and all data it finds on a per-frame basis, and retranscribes it in FamiTracker in the form of a 900-bpm (or 750-bpm for PAL) module. This means that the resulting module plays at full speed, and that any vibrato, pitch envelopes, duty cycle envelopes etc. are represented using effects Pxx, Vxx etc.

    As far as I can tell famitracker is literally playing back the music and effectively manually transcribing it through the APU emulation siting in NotSoFatso.

    Oooh.. that's cool if I can just use NotSoFasto to basically do the same thing.

    I strongly suspect that all NotSoFatso will be exposing is the register values so you would still have a job mapping back to notes and start/ends.

    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.
  • CornucopiistCornucopiist Registered User regular
    I've added an intro page to my game and an outro page.
    -One thing I do here (on the intro one) is to have a bool in the Unity editor to switch on/off ads. This will make it easy to publish two versions of my games, paid without ads, free with. It also makes it easier to build for ad-less screenshots.
    -the outro page has links to my other games and an instagram button.

    Anyone else use these? Anything else useful you've added either on the page or in the editor?

  • templewulftemplewulf The Team Chump USARegistered User regular
    Is there an easy way to check the size of an overlap in Unity in 2D? Basically, I want to see a Vector2 that shows how much two boxes are overlapping. This is especially useful if I can do it outside a ColliderEnter event, like responding to a debug key.

    I realize this can be a complicated result to get for anything other than boxes, but I'm hoping there's something.

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • KhavallKhavall British ColumbiaRegistered User regular
    templewulf wrote: »
    Is there an easy way to check the size of an overlap in Unity in 2D? Basically, I want to see a Vector2 that shows how much two boxes are overlapping. This is especially useful if I can do it outside a ColliderEnter event, like responding to a debug key.

    I realize this can be a complicated result to get for anything other than boxes, but I'm hoping there's something.

    I know of a bad way to do it. Especially if it's primitives. You could probably just compute the overlap, right?

    Like I can't find one now, but there's got to be, say, some way where if you have the x,y of the center of each shape, the width/height, you could check the overlapping area, right? There's got to be some equation that would do it.

    Then when you want to check it, just built it into a function that returns a float and takes two transforms, then just call that when you hit the key?


    I also have a.... strange Unity question.

    Is there a way to basically say "Hey, if I have spare cycles available, do x stuff until the frame would be delayed beyond y"?

    Like, let's say I want to run some logic that I know will take longer than I have, but I also don't really need to be super fast in terms of real time passing, and I don't want to just halt the action while I run it, can I cause it to run whatever it can when the frame rate would go over 60, as long as it doesn't make it dip below 60? It seems like it should be possible but also I can't seem to find any way to steal cycles. It would probably be CPU stuff, so I basically want to hijack the whole "WaitforTargetFPS" thing.

  • GarthorGarthor Registered User regular
    templewulf wrote: »
    Is there an easy way to check the size of an overlap in Unity in 2D? Basically, I want to see a Vector2 that shows how much two boxes are overlapping. This is especially useful if I can do it outside a ColliderEnter event, like responding to a debug key.

    I realize this can be a complicated result to get for anything other than boxes, but I'm hoping there's something.

    Physics2D.Distance (or Collider2D or Rigidbody2D) should work.

  • templewulftemplewulf The Team Chump USARegistered User regular
    Garthor wrote: »
    templewulf wrote: »
    Is there an easy way to check the size of an overlap in Unity in 2D? Basically, I want to see a Vector2 that shows how much two boxes are overlapping. This is especially useful if I can do it outside a ColliderEnter event, like responding to a debug key.

    I realize this can be a complicated result to get for anything other than boxes, but I'm hoping there's something.

    Physics2D.Distance (or Collider2D or Rigidbody2D) should work.

    That checks from the bounds rather than the centers? I didn't know that!

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • templewulftemplewulf The Team Chump USARegistered User regular
    Khavall wrote: »
    templewulf wrote: »
    Is there an easy way to check the size of an overlap in Unity in 2D? Basically, I want to see a Vector2 that shows how much two boxes are overlapping. This is especially useful if I can do it outside a ColliderEnter event, like responding to a debug key.

    I realize this can be a complicated result to get for anything other than boxes, but I'm hoping there's something.

    I know of a bad way to do it. Especially if it's primitives. You could probably just compute the overlap, right?

    Like I can't find one now, but there's got to be, say, some way where if you have the x,y of the center of each shape, the width/height, you could check the overlapping area, right? There's got to be some equation that would do it.

    Then when you want to check it, just built it into a function that returns a float and takes two transforms, then just call that when you hit the key?


    I also have a.... strange Unity question.

    Is there a way to basically say "Hey, if I have spare cycles available, do x stuff until the frame would be delayed beyond y"?

    Like, let's say I want to run some logic that I know will take longer than I have, but I also don't really need to be super fast in terms of real time passing, and I don't want to just halt the action while I run it, can I cause it to run whatever it can when the frame rate would go over 60, as long as it doesn't make it dip below 60? It seems like it should be possible but also I can't seem to find any way to steal cycles. It would probably be CPU stuff, so I basically want to hijack the whole "WaitforTargetFPS" thing.

    Unless I'm misunderstanding, wouldn't a coroutine work well for this?

    Do you need it to be a CustomYieldInstruction?

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • KhavallKhavall British ColumbiaRegistered User regular
    templewulf wrote: »
    Khavall wrote: »
    templewulf wrote: »
    Is there an easy way to check the size of an overlap in Unity in 2D? Basically, I want to see a Vector2 that shows how much two boxes are overlapping. This is especially useful if I can do it outside a ColliderEnter event, like responding to a debug key.

    I realize this can be a complicated result to get for anything other than boxes, but I'm hoping there's something.

    I know of a bad way to do it. Especially if it's primitives. You could probably just compute the overlap, right?

    Like I can't find one now, but there's got to be, say, some way where if you have the x,y of the center of each shape, the width/height, you could check the overlapping area, right? There's got to be some equation that would do it.

    Then when you want to check it, just built it into a function that returns a float and takes two transforms, then just call that when you hit the key?


    I also have a.... strange Unity question.

    Is there a way to basically say "Hey, if I have spare cycles available, do x stuff until the frame would be delayed beyond y"?

    Like, let's say I want to run some logic that I know will take longer than I have, but I also don't really need to be super fast in terms of real time passing, and I don't want to just halt the action while I run it, can I cause it to run whatever it can when the frame rate would go over 60, as long as it doesn't make it dip below 60? It seems like it should be possible but also I can't seem to find any way to steal cycles. It would probably be CPU stuff, so I basically want to hijack the whole "WaitforTargetFPS" thing.

    Unless I'm misunderstanding, wouldn't a coroutine work well for this?

    Do you need it to be a CustomYieldInstruction?

    I need it to be a customyieldinstruction that basically says "Yield when this operation is making this frame take longer than n ms"

    I just am also not sure how to query how long the current frame is taking? MaximumDeltaTime looks close maybe, but that's an internal Unity thing and I'm not sure if I could use it?

  • templewulftemplewulf The Team Chump USARegistered User regular
    Khavall wrote: »
    templewulf wrote: »
    Khavall wrote: »
    templewulf wrote: »
    Is there an easy way to check the size of an overlap in Unity in 2D? Basically, I want to see a Vector2 that shows how much two boxes are overlapping. This is especially useful if I can do it outside a ColliderEnter event, like responding to a debug key.

    I realize this can be a complicated result to get for anything other than boxes, but I'm hoping there's something.

    I know of a bad way to do it. Especially if it's primitives. You could probably just compute the overlap, right?

    Like I can't find one now, but there's got to be, say, some way where if you have the x,y of the center of each shape, the width/height, you could check the overlapping area, right? There's got to be some equation that would do it.

    Then when you want to check it, just built it into a function that returns a float and takes two transforms, then just call that when you hit the key?


    I also have a.... strange Unity question.

    Is there a way to basically say "Hey, if I have spare cycles available, do x stuff until the frame would be delayed beyond y"?

    Like, let's say I want to run some logic that I know will take longer than I have, but I also don't really need to be super fast in terms of real time passing, and I don't want to just halt the action while I run it, can I cause it to run whatever it can when the frame rate would go over 60, as long as it doesn't make it dip below 60? It seems like it should be possible but also I can't seem to find any way to steal cycles. It would probably be CPU stuff, so I basically want to hijack the whole "WaitforTargetFPS" thing.

    Unless I'm misunderstanding, wouldn't a coroutine work well for this?

    Do you need it to be a CustomYieldInstruction?

    I need it to be a customyieldinstruction that basically says "Yield when this operation is making this frame take longer than n ms"

    I just am also not sure how to query how long the current frame is taking? MaximumDeltaTime looks close maybe, but that's an internal Unity thing and I'm not sure if I could use it?

    Coroutines will only yield once per frame, so you've got the right approach in mind. The trick is in breaking it into small enough chunks that a single iteration doesn't last longer than your target time.

    You can use inner coroutines to yield once every x iterations, or you can save the real time at the start of the frame and check against that value when determining whether to iterate. https://answers.unity.com/answers/848091/view.html

    Twitch.tv/FiercePunchStudios | PSN | Steam | Discord | SFV CFN: templewulf
  • KhavallKhavall British ColumbiaRegistered User regular
    Oh right, I can just get real time. I always forget about that.

    That's a good idea. Just fill in until the realtime goes above the amount it's allowed to, from the start of the frame.

    thanks!

  • Mc zanyMc zany Registered User regular
    Uploaded a demo of my game out on Steam over the weekend. Looking ok so far with a bunch of people downloading it. Some guys even uploaded some footage on Youtube which was cool as seeing people play it allowed me to make some tweaks.

  • KoopahTroopahKoopahTroopah The koopas, the troopas. Philadelphia, PARegistered User regular
    Mc zany wrote: »
    Uploaded a demo of my game out on Steam over the weekend. Looking ok so far with a bunch of people downloading it. Some guys even uploaded some footage on Youtube which was cool as seeing people play it allowed me to make some tweaks.

    Link us a link my dude.

  • Mc zanyMc zany Registered User regular
    edited January 2018
    Mc zany wrote: »
    Uploaded a demo of my game out on Steam over the weekend. Looking ok so far with a bunch of people downloading it. Some guys even uploaded some footage on Youtube which was cool as seeing people play it allowed me to make some tweaks.

    Link us a link my dude.

    Sorry,
    store.steampowered.com/app/703100/Parabolus/

    Mc zany on
  • KoopahTroopahKoopahTroopah The koopas, the troopas. Philadelphia, PARegistered User regular
    Also, this is a very informative video about stutter rendering in Unity.

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

  • KoopahTroopahKoopahTroopah The koopas, the troopas. Philadelphia, PARegistered User regular
    Mc zany wrote: »
    Mc zany wrote: »
    Uploaded a demo of my game out on Steam over the weekend. Looking ok so far with a bunch of people downloading it. Some guys even uploaded some footage on Youtube which was cool as seeing people play it allowed me to make some tweaks.

    Link us a link my dude.

    Sorry,
    store.steampowered.com/app/703100/Parabolus/

    This looks like your typical space arcade shooter. Which isn't a bad thing, I think Steam could use some more of those on top of all the open world delivery service sims, or rogue-like space adventures. You definitely have some programmer art :D, what plans do you have for updating visuals and shaders? A big issue I used to have with showing anything to anyone is the lack of assets, putting a simple demo on Steam is a hard step but getting feedback is 100% worth it so props to you for making the plunge and I hope you get some positive results.

    Another thing I would mention before release is to work on your trailer and only show what you think are the most engaging and interesting parts of your game. If you're going for an action space shooter, show the different weapons you can get, the different enemies you'll encounter, the puzzles, etc... Also reduce the time of your logo, you wanna sell your game in the first 5-10 seconds because gamers have very short attention spans with the amount of games on Steam.

    Other than that, it looks like a solid demo. Congrats on your progress!

  • Mc zanyMc zany Registered User regular
    Mc zany wrote: »
    Mc zany wrote: »
    Uploaded a demo of my game out on Steam over the weekend. Looking ok so far with a bunch of people downloading it. Some guys even uploaded some footage on Youtube which was cool as seeing people play it allowed me to make some tweaks.

    Link us a link my dude.

    Sorry,
    store.steampowered.com/app/703100/Parabolus/

    This looks like your typical space arcade shooter. Which isn't a bad thing, I think Steam could use some more of those on top of all the open world delivery service sims, or rogue-like space adventures. You definitely have some programmer art :D, what plans do you have for updating visuals and shaders? A big issue I used to have with showing anything to anyone is the lack of assets, putting a simple demo on Steam is a hard step but getting feedback is 100% worth it so props to you for making the plunge and I hope you get some positive results.

    Another thing I would mention before release is to work on your trailer and only show what you think are the most engaging and interesting parts of your game. If you're going for an action space shooter, show the different weapons you can get, the different enemies you'll encounter, the puzzles, etc... Also reduce the time of your logo, you wanna sell your game in the first 5-10 seconds because gamers have very short attention spans with the amount of games on Steam.

    Other than that, it looks like a solid demo. Congrats on your progress!


    Erm this is a little embrassing, that is the final art. I don't really have the skills for anything else so the idea is that is stylised to look like Tron to hide that fact. :lol: I will have to have a rethink on that. No idea about shaders but will definetly look into it, I would love more glow but Unreal doesn't seem to be great on that score.

    The trailer is a bit tricky as I haven't completed the later parts of the game yet (i.e. the more intense bits) but yeah I will include more enemies. and that logo will probably go too. In fact I am going to reedit the thing right now.




  • KoopahTroopahKoopahTroopah The koopas, the troopas. Philadelphia, PARegistered User regular
    Mc zany wrote: »
    Mc zany wrote: »
    Mc zany wrote: »
    Uploaded a demo of my game out on Steam over the weekend. Looking ok so far with a bunch of people downloading it. Some guys even uploaded some footage on Youtube which was cool as seeing people play it allowed me to make some tweaks.

    Link us a link my dude.

    Sorry,
    store.steampowered.com/app/703100/Parabolus/

    This looks like your typical space arcade shooter. Which isn't a bad thing, I think Steam could use some more of those on top of all the open world delivery service sims, or rogue-like space adventures. You definitely have some programmer art :D, what plans do you have for updating visuals and shaders? A big issue I used to have with showing anything to anyone is the lack of assets, putting a simple demo on Steam is a hard step but getting feedback is 100% worth it so props to you for making the plunge and I hope you get some positive results.

    Another thing I would mention before release is to work on your trailer and only show what you think are the most engaging and interesting parts of your game. If you're going for an action space shooter, show the different weapons you can get, the different enemies you'll encounter, the puzzles, etc... Also reduce the time of your logo, you wanna sell your game in the first 5-10 seconds because gamers have very short attention spans with the amount of games on Steam.

    Other than that, it looks like a solid demo. Congrats on your progress!


    Erm this is a little embrassing, that is the final art. I don't really have the skills for anything else so the idea is that is stylised to look like Tron to hide that fact. :lol: I will have to have a rethink on that. No idea about shaders but will definetly look into it, I would love more glow but Unreal doesn't seem to be great on that score.

    The trailer is a bit tricky as I haven't completed the later parts of the game yet (i.e. the more intense bits) but yeah I will include more enemies. and that logo will probably go too. In fact I am going to reedit the thing right now.

    Oh, jeez. Lol, don't take it the wrong way. I just assumed it was placeholder since it's low poly geo shapes. I think the explosions into pieces are cool, but definitely look into shaders and other effects to add more visual style to the game. You can ask others here about glow in Unreal, I'm not very experienced at Unreal in comparisons to Unity. You can DEFINITELY do glow though. 100% on that.

    Here's a simple example of what a YouTuber did with some particle effects in Unreal:

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

    And here's a tutorial sample from Unreal Devs:

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

  • KashaarKashaar Low OrbitRegistered User regular
    Aye, glow in UE4 is easy af: Just plug something in the emissive output of a material that is greater than 1.0. even crazy high numbers are fine, i.e. 100s, 500s, etc. If you don't see bloom yet, make sure that bloom is enabled in your post-process volume if you have one (i.e. bloom intensity > 0), and that your project settings are set to "highest quality" instead of "scalable 2d/3d" (project settings -> target platform I think) - or if you know what you're doing and want to stick with scalable, manually enable bloom (not sure if project settings -> rendering, or if a .ini tweak is required).

    Happy to take a look if you can't get this to work on your own! Congrats on getting your game out there :)

    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.
  • HandkorHandkor Registered User regular
    edited January 2018
    Just saw Super Galaxy Boy go by in the New Release section of Steam. Still stated as Coming Soon but gratz.

    I am currently working on finishing SailStar for a Steam release early 2018. Anybody have tips when releasing on Steam?
    I already have a partner account from an older project getting greenlit (Still working on that too, just increased the scope dramatically and SailStar is one of those Jam games that really does not need much added to actually release).

    Going from 3 races to 6 maps each with 2 race courses (easy/hard), a how far can you get in typhoon winds and a treasure hunt (opens a special 7th map with unique modes like endless...).

    Handkor on
  • Mc zanyMc zany Registered User regular
    Handkor wrote: »
    Just saw Super Galaxy Boy go by in the New Release section of Steam. Still stated as Coming Soon but gratz.

    I am currently working on finishing SailStar for a Steam release early 2018. Anybody have tips when releasing on Steam?

    It is pretty easy but make sure you check out the youtude videos of the steam sdk.

  • HandkorHandkor Registered User regular
    Mc zany wrote: »
    Handkor wrote: »
    Just saw Super Galaxy Boy go by in the New Release section of Steam. Still stated as Coming Soon but gratz.

    I am currently working on finishing SailStar for a Steam release early 2018. Anybody have tips when releasing on Steam?

    It is pretty easy but make sure you check out the youtude videos of the steam sdk.

    I'm using UE4 so Steam sdk seems to be pretty easy to get going. I think it's also possible to not even use the sdk but then you lose any integration.

  • Mc zanyMc zany Registered User regular
    edited January 2018
    Kashaar wrote: »
    Aye, glow in UE4 is easy af: Just plug something in the emissive output of a material that is greater than 1.0. even crazy high numbers are fine, i.e. 100s, 500s, etc. If you don't see bloom yet, make sure that bloom is enabled in your post-process volume if you have one (i.e. bloom intensity > 0), and that your project settings are set to "highest quality" instead of "scalable 2d/3d" (project settings -> target platform I think) - or if you know what you're doing and want to stick with scalable, manually enable bloom (not sure if project settings -> rendering, or if a .ini tweak is required).

    Happy to take a look if you can't get this to work on your own! Congrats on getting your game out there :)

    Thanks for the hint. I upped the emmisive and now things look more like an computer simulation rather than real objects. Which was the effect I was going for. As for the bloom, the options are greyed out in the post processing but the glow did get brighter so who knows whats up. ukgig.org/parabolus/glow.html

    Maybe I should add a grid along the bottom to make the effect more pronouced. Make it look more like an eigthies shoot em up.

    Mc zany on
  • Mc zanyMc zany Registered User regular
    Handkor wrote: »
    Mc zany wrote: »
    Handkor wrote: »
    Just saw Super Galaxy Boy go by in the New Release section of Steam. Still stated as Coming Soon but gratz.

    I am currently working on finishing SailStar for a Steam release early 2018. Anybody have tips when releasing on Steam?

    It is pretty easy but make sure you check out the youtude videos of the steam sdk.

    I'm using UE4 so Steam sdk seems to be pretty easy to get going. I think it's also possible to not even use the sdk but then you lose any integration.

    What I meant was the steam sdk contains a script to handle the upload. Makes uploading easy.

Sign In or Register to comment.