lucid's Forum Posts

  • yeah, but if someone didn't mind the math, it might be possible to make a plugin

    http://www.kevs3d.co.uk/dev/canvask3d/k3d_test.html

    EDIT: just noticed you can download the source code at the link at the bottom of that page

  • it'll probably take some poking around in the sdk and plugin's source to fully understand this, but basically, there are pointers to construct objects. objects like 'sprite', or 'particles'

    these pointers are CRunObject* variables;

    one way it could work is by having a vector(like an array, but it can change size) or list of CRunObject*'s for the source objects

    and a vector of vectors of paired CRunObject*'s for all the objects it's linked to

    when the 'for each paired object' condition is called

    it loops through the source object vector, comparing each item with the selected type, and then the

    'pick paired' condition loops through the vector within a vector of linked objects finding all the ones it's linked to of that type

    let's say it found one at

    sourceobjects[5]

    then it would go to the vector of paired objects at pairedobjects[5]

    and if it found the object say at pairedobjects[5][3] it adds it to the picking list

    if you need more specifics about the actual commands to do any of this, let me know, but that's how it works in a general way. the picking list is a list of pointers to specific objects that are currently picked in construct, and all plugins have access to read or change it

  • <font size="1">as I read through my stuff it sounds kinda imposing or bossy at times, so I'll just state beforehand, it's a subject I'm very interested in, so I have alot of opinions about your ideas, and I'm just being straightforward, instead of saying "I think", and "in my opinion" every other sentence </font>

    For example, would you have certain quest giving npcs, such as a certain sage or oracle, that generated random quests over and over? Or give any or every npc the option of giving out quests that point to certain threats in the region(aka Dwarf Fortress adventure mode)? Or would those be too random and generic?

    yes I do think that would be too generic and that it might make the game seem more lifeless than without it. it'd feel like a gimmick basicly

    And how about generating the major threats first, determining how dangerous our world is from the start? Not little random encounters but the 'legends' of the world. Lets say a dragon is generated in our world. Well the dragon has to have a village to feed from and terrorize, then a procedure would generate a village near the dragons lair. Same with that evil wizard to the east, and the ogre tribes in the north, and so on. Or would you do the opposite and attach them to certain geographies and villages that already exist?

    this sounds much more interesting. either a few things like always dragon village dungeon wizard, with an occasional extra twist like a hidden creature that sometimes pops up in the forest. but it's a simple set of things, that vary, but it's like a superadvanced board game instead of a living breathing world. that would be fun I think. OR it should have a crapload of options, where it's really interesting to encounter certain things again, and the world is so varied from game to game that it's really a new experience.the manpower and time you have will most likely dictate which course you can take.

    And what about random twists that can happen on certain legs of a quest? You were send to a dungeon to find an amulet, when you get there to the final stage a random twist is generate and the amulet is moved to another part of the world, now a band of paladins have taken it. Then the quest could keep twisting with different plots to keep it going potentially until the end is generated.ow this is all very possible, but it's definitely advanced stuff. this is the first thread I've read from you, so I'm not sure of your skill level, but if you feel like you're struggling with basic construct, don't even start on this until you're super comfortable. but I think that would be the holy grail here.   if thinking through complex math or logic comes easy to you, you could do this, especially because...

    I want a generated system thats different each time but without being too random.

    And then theres implementation within construct. Arrays, variables, ini's, hashs, timelines, etc.

    This is just a general discussion about quests and their structure and implementation and what how YOU would do them?

    Discuss

    ok, well here's the lucky part. it just so happens that construct has a unique set of plugins by the one Arsonide, whose specialty is making badass plugins. a few are of interest here, also one by myself.

    this next part is pretty winded, but it'll probably be useful

    arsonide's suite of plugins revolves around the generation of procedural data. not procedural content, like making a dungeon for you, though there is at least one great dungeon generating plugin in there by loumu(I think others have made some as well).   but arsonides plugins revolve around useful random data, like perlin noise, useful for creating smooth randomness like rolling hills where regular random numbers used for height would just make a totally unrealistic jagged ugly landscape. all these plugins allow you to seed the randomness btw, so you could have a persistent world the player can revisit, or where you can make an infinite world, and only generate the part you're on now, but still be able to go back to the part you loaded out of memory earlier. gridtree allows you to 'tunnel' into your randomly generated data for additional levels and details of random data. say you want a random "dungeon", and in it you want a certain random "number of goblins", but then each goblin was supposed to have it's own set of random data, over and over. it's difficult to track data like this, and more difficult to be able to call on it exactly when you need it. the gridtree plugin solves these two problems. it's really a very unique and powerful plugin. also, i forgot the name, but he's working on one to generate random names based on syllables you provide. and yet another one made especially for generating random histories, forgot that one's name as well, but you can choose whether time goes on while the game isn't on. of course it's not really running in the background, but the plugin abstracts the idea of randomness throughout time, to make it easy instead of a major headache. just search the completed addons forum for anything by Arsonide, and most likely it will be very useful to you, if you're really into procedural stuff.

    the s plugin by me may come in handy as well, because it's usually good for anything really complex, or outside the scope of construct's current set of plugins and system commands.

    I warn you, it has the worst learning curve of any plugin, but it basically allows you alot of access to stuff normally only plugins have access to and allows you to design data structures similar to c++ structs, and allows you to save all that data in encrypted format.   in the data structures you can have objecttypes, and objects, so you can have a 'party' made up of a 'name', a number for 'experience', and any number of 'party members'

    and a 'party member' has a sprite object, which is the 'character', and also has a 'name', and 'hitpoint's and he's always holding a sprite object, which is his 'weapon', and then he has an 'inventory' of objecttypes, that you can spawn into objects whenever you need.

    also it gives you direct access to picking so you can pick everything that makes up your entire party, or everything one at a time, or remove a person's weapon from the current picking list, etc.

    alot of stuff, but this is getting long winded enough. you get the idea. don't use it unless you feel like you need those functions. or everythings getting crazy complex, and you can think straight anymore. but arsonides stuff you should definitely look into.

  • GPU KILLER

    That's gonna be the title of your game? Sounds like a bloodbath

  • They're just busy with c2, and haven't had a chance to hunt down all the code that was never on the svn. There's only one or two ways it could've worked. I can explain it if you'd like...how much do you know the sdk so far? And how much c++? so I can go into extra detail, or not go where needed

  • I'll ask here so i dont have to make a new thread for a simple question: How do i make a infinite parallax? Like, the bg moves up and down slowly AND wraps around <img src="smileys/smiley24.gif" border="0" align="middle" />

    you should just start a thread in help about it

  • <img src="http://dl.dropbox.com/u/1013446/newerscreen.png" border="0" />

    <font size="2">about to reach 8000 lines of c++ code on plugin portion of this baby and 425 events for the editor</font>

    almost done working on saving loading routines. the biggest obstacle left in the way of making a real tech demo vid.

  • still haven't had the chance to try this, and I really haven't look into network code yet, but I would definitely want to be able to add my own prediction. I'm assuming this RoundTripTime is needed to be able to attempt any real prediction, could you please add an expression for it?

    thanks again for this

  • Hey. I've tried asking for objects that aren't already on the svn, and usually they don't get uploaded at least not in a timely manner, but if it isn't on the svn, you can still ask questions about how it works. Any questions in particular? Or just wanted to examine it in general?

  • Can't mess with it now...but what's rms?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • are you sure there's not some mathematical way to loop through and add the data?   what type of data are you trying to store?

    if not.. i think rojohound might have made an array editor at one point....not sure though, so you might try searching the forums for that

  • Hey arsonide. Sorry for the brief answer, but I'm pretending to work as I type this.

    I think it would have to be triangular or conical. Imagine an upside down pyramid. The top doesn't tile with anything, the left and right sides have to wrap. Of course, depending on how the texture thing works, this would mean that when it unrolls, the vairation would decrease as you looked lower on the screen, which isn't too bad, considering you're probably not going to have the entire texure show up down that far. I know we've discussed realtime noise generation speed before, but forgot. If its possible on the plug side, I could figure out this end of making it interpolate between triangular and rectangular versions of the same noise, with the single bottom point expanding into the bottom edge of the rectangle

  • > I really do need to add serialization support to the plugin, but if the performance is pretty decent for folks I think I am just going to release it as an Alpha and take a well deserved break. :-)

    I won't allow you a break until a decent beta is out <img src="smileys/smiley17.gif" border="0" align="middle" />

    Totally on the opposite side for me. I never do anything that requires serialization, so it'd be useful without it for me. If there are certain values that need to be saved temporarily for some reason, as long as they're accssible through expressions....alls good...of course...it'll be a while before I get to the point where I need this anyway

  • just wanted to run a few ideas by you arsonide. first, as I said in the pm, it doesn't have to be perlin noise, it'll work with any set of numbers you can refer to by position, even an array as newt suggested.

    so if you were planning to use gridtree, and tunnel into greater detail there's no reason this can't be adapted to that. When I have a little time, if you need me to, I can try to put this into function object form, cuz it's kindof a pain fiddling around in that formula, and also what you said about how distorted the texture gets in the distortion

    but anyway. what you said about the mask might not work, because the texture would have to wrap in a circle. depending on how urgent this is, cuz I'm really busy lately, but I can help you get a workable method to reliably wrap a tileable texture around the planet in a smooth looking way. I've been working alot with distorting textures around curves and into different shapes lately.   which brings me to my other idea, if you wanted, it could even be made to look like the planet surface was becoming more spherical as it became more circular, so your texture would actually bulge forward and make it look like a 3d planet, and flatten to a more 2d look as it unrolled into the sidescroller view.

    anyway, gotta get to work. see ya, glad you liked it!!! It was an interesting challenge.

  • neat, haven't played with this at all, but it sounds awesome.

    thanks for making it, opens up alot of possibilities

    if you get bored of the project, please consider opensourcing it, this is so long overdue,