inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jun 24, 2014 22:15:34 GMT -8
This is what I got as the final copy It will be used for whenever you sell an animal. You will shelter it. And they will pay you. Comments?
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jun 25, 2014 1:13:59 GMT -8
Alright, I have it where you can specify an image for the place function. When you click on the place image, it will bring up the field Then it will become your cursor in the field When you click down it will save those coordinates. To Do: Create a key saving function that will then save a Field Block to the key. That will be read as the image ID/GI that is assigned to the image. The position its located and I guess the size of the image. Then when the plugin is loaded it will place the images in the field based on the cursor position you provided.
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jun 25, 2014 15:25:28 GMT -8
You can now place images Animals and Toys, aka rock
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jun 26, 2014 0:49:36 GMT -8
You can now add and remove images from the field. Serious Questions: If the user is allowed to place the animals... How is the happiness system supposed to work? Does sending the animal to the yard keep it happy longer? Does an animal not in the yard stay happy always? Does an animal have to be in the yard in order to increase happiness and keep it from dying? (if dying is enabled)
Please offer your input
|
|
inherit
168679
0
Nov 18, 2012 17:03:07 GMT -8
Virgil Sovereign
Latet anguis in herba.
686
July 2011
syonidv
|
Post by Virgil Sovereign on Jun 26, 2014 4:45:13 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓: I was curious about the plugin. I installed it (as well as Yootil, in the proper location) and configured it. The plugin isn't running. A review of the JS console reveals that the plugin is trying to invoke function profileanimalkeeper(), which isn't defined in the global scope. I should note that I do not have any monetary system plugins installed on my test board, but have specified that "everything should be free" in the plugin configuration. Is there any other configuration needed to get this to work? TYIA, Virgil ETA: Thank you for making the plugin editable. I'm not going to edit it, but I appreciate the principle.
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jun 26, 2014 10:58:00 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓: I was curious about the plugin. I installed it (as well as Yootil, in the proper location) and configured it. The plugin isn't running. A review of the JS console reveals that the plugin is trying to invoke function profileanimalkeeper(), which isn't defined in the global scope. I should note that I do not have any monetary system plugins installed on my test board, but have specified that "everything should be free" in the plugin configuration. Is there any other configuration needed to get this to work? TYIA, Virgil ETA: Thank you for making the plugin editable. I'm not going to edit it, but I appreciate the principle. It is just a beta. I have improved many things since then I'm sure. The ledger functions should mostly work properly but I think I have fixed a few bugs since then. As for the not running profileanimalkeeper() which is the main function that is partly odd. I can run the plugin free or not free without the monetary system (of course some functions would throw errors) -tested now- Yootil has to be above it and it should work. The only other reason it wouldn't work is because of a heavily modified theme. Which it requires a base setup on your main profile that looks like: <div class = 'content cap-bottom'><div class = 'pad-all-double clear'></div></div> At minimum. Try this version, (it has a lot more to play with and see if its fixed): Animal Keeper (2).pbp (20.19 KB) If not, if possible could you set up a test page to your forum and a link to that page for further diagnosis? It would be most helpful in theme compatibility I'm sure. Unless It was just a bum release haha.
|
|
inherit
168679
0
Nov 18, 2012 17:03:07 GMT -8
Virgil Sovereign
Latet anguis in herba.
686
July 2011
syonidv
|
Post by Virgil Sovereign on Jun 26, 2014 14:39:17 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓: This version works. A few bugs of note: - In the "play time" interface, the image for inserting an animal/toy is a broken link. The image URL is reported as ./height=%2760px%27 which suggests something is awry in the routine that writes out the markup. The image for removing an animal/toy is likewise broken. I didn't modify either image in the plugin settings.
- The image that appears as the cursor for placing animals/toys is broken. Additionally, the object being placed appears a considerable distance down and to the right of where the cursor is clicked. I didn't modify the cursor image in the plugin settings. (I'm not sure if this is even possible.)
- The Brush, Clean, Feed, Pet, Wash, Scold, and Images commands do nothing. I imagine this is because they're not yet implemented, but just in case they're supposed to be functional at this point.
- My test animals (wee dragons) and test toys (wee toys) look fuzzy and disproportionate stretched to square dimensions. See screenshots. If I may suggest: scale the images isotropically (i.e. maintaining the existing aspect ratio), and use the native dimensions for any images small enough to fit in an item slot without scaling.
I realize this can be tricky since most browsers won't report accurate image dimensions until images are loaded, which occurs asynchronously. Making it work is currently a pain in the neck, but it can be done.
- A small broken image appears next to the insert/remove item button in the "play time" interface. Clicking on it produces the Javascript alert "animal". I'm assuming this is left over test code.
- Similarly, clicking on a toy pops up a Javascript alert "N".
- The "remove animal" button is exhibiting some serious bugs. I've cleared all the key data on my test board so that you can try the following steps:
- adopt a subterran (black) dragon
- adopt a dymethan (blue-silver) dragon
- adopt a nascent (blue) dragon
- buy a chicken (toy)
- place a black dragon somewhere in the cave
- place a blue-silver dragon somewhere in the cave
- place a blue dragon somewhere in the cave
- remove and then add back the black dragon
- remove and then (attempt to) add back the blue dragon. Instead of removing the blue dragon, the plugin has removed the blue-silver dragon. Once you're done placing the blue dragon, you now have two blue dragons.
- attempt to remove the black dragon. The plugin will instead remove the first blue dragon.
- add back a blue-silver dragon
- add in a chicken
- attempt to remove a blue dragon. The plugin will instead remove the black dragon.
- add the black dragon back in
- again attempt to remove the blue dragon. The plugin will instead remove the chicken.
Suffice it to say that the "remove" feature needs some work.
Clicking on "Play" to open up the "play time" interface and then clicking on "ledger" twice in succession (e.g. 1 second apart) yields interesting results.
Your plugin exposes users to script injection attacks. For example, setting a animal's nickname to <script>alert('I am a malicious script.');</script> will execute the malicious script on any browser that views the animal. To protect against this, make sure that all HTML is marshaled or parsed out of fields that users can enter data into. And if you want to be thorough, make sure that the validation is done sometime after the data is read in from the keys, since key data can be set to anything. I'd recommend writing a simple htmlSafe() function that escapes '<', '>' and '"', and ensuring that any code writing out user data as HTML is first run through this function.
That's all for now. Hopefully this feedback is of some assistance.
When you have this all finished up and polished it will be quite the must-have plugin.
Screenshots:
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jun 27, 2014 9:19:09 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓: This version works. A few bugs of note: - In the "play time" interface, the image for inserting an animal/toy is a broken link. The image URL is reported as ./height=%2760px%27 which suggests something is awry in the routine that writes out the markup. The image for removing an animal/toy is likewise broken. I didn't modify either image in the plugin settings.
- The image that appears as the cursor for placing animals/toys is broken. Additionally, the object being placed appears a considerable distance down and to the right of where the cursor is clicked. I didn't modify the cursor image in the plugin settings. (I'm not sure if this is even possible.)
- The Brush, Clean, Feed, Pet, Wash, Scold, and Images commands do nothing. I imagine this is because they're not yet implemented, but just in case they're supposed to be functional at this point.
- My test animals (wee dragons) and test toys (wee toys) look fuzzy and disproportionate stretched to square dimensions. See screenshots. If I may suggest: scale the images isotropically (i.e. maintaining the existing aspect ratio), and use the native dimensions for any images small enough to fit in an item slot without scaling.
I realize this can be tricky since most browsers won't report accurate image dimensions until images are loaded, which occurs asynchronously. Making it work is currently a pain in the neck, but it can be done.
- A small broken image appears next to the insert/remove item button in the "play time" interface. Clicking on it produces the Javascript alert "animal". I'm assuming this is left over test code.
- Similarly, clicking on a toy pops up a Javascript alert "N".
- The "remove animal" button is exhibiting some serious bugs. I've cleared all the key data on my test board so that you can try the following steps:
- adopt a subterran (black) dragon
- adopt a dymethan (blue-silver) dragon
- adopt a nascent (blue) dragon
- buy a chicken (toy)
- place a black dragon somewhere in the cave
- place a blue-silver dragon somewhere in the cave
- place a blue dragon somewhere in the cave
- remove and then add back the black dragon
- remove and then (attempt to) add back the blue dragon. Instead of removing the blue dragon, the plugin has removed the blue-silver dragon. Once you're done placing the blue dragon, you now have two blue dragons.
- attempt to remove the black dragon. The plugin will instead remove the first blue dragon.
- add back a blue-silver dragon
- add in a chicken
- attempt to remove a blue dragon. The plugin will instead remove the black dragon.
- add the black dragon back in
- again attempt to remove the blue dragon. The plugin will instead remove the chicken.
Suffice it to say that the "remove" feature needs some work.
Clicking on "Play" to open up the "play time" interface and then clicking on "ledger" twice in succession (e.g. 1 second apart) yields interesting results.
Your plugin exposes users to script injection attacks. For example, setting a animal's nickname to <script>alert('I am a malicious script.');</script> will execute the malicious script on any browser that views the animal. To protect against this, make sure that all HTML is marshaled or parsed out of fields that users can enter data into. And if you want to be thorough, make sure that the validation is done sometime after the data is read in from the keys, since key data can be set to anything. I'd recommend writing a simple htmlSafe() function that escapes '<', '>' and '"', and ensuring that any code writing out user data as HTML is first run through this function.
That's all for now. Hopefully this feedback is of some assistance.
When you have this all finished up and polished it will be quite the must-have plugin.
Screenshots:
inserting an animal/toy is a broken link. - Still working on that portion I believe was the problem The image that appears as the cursor for placing animals/toys is broken - This is directly linked to number 1 It uses the image that is used for place. And I changed the margins so the cursor would be centered with the image, thus giving the effect that it was now the cursor. I also accounted for this when placing. (which was really hard to do) Not functioning images are of course not functional yet Test Animals Size - After they are placed you will have an option under the play section that will allow you to change the height and width manually at a user level (not implemented). The first placement is set by the manage plugin default, set by the admin. I do like the scale idea, I should add that under the manual width and height options. And any blank boxes use the default height/width which is auto. A small broken image appears next to the insert/remove item button in the "play time" interface. Clicking on it produces the Javascript alert "animal". I'm assuming this is left over test code. That is the save button which will save your height values. Still in development. (I dream big lol) Similarly, clicking on a toy pops up a Javascript alert "N". These will be my interactions when I design an overlay popup and style. N is short for None. A is short for Animal right now. In later cases it will insert a happiness meter there as well as a name. The "remove animal" button is exhibiting some serious bugs. I've cleared all the key data on my test board so that you can try the following steps: Yeah I only tested like two animals. Never gave it a full check. I went into the plugin and changed a couple numbers, apparently I was parsing the image url and not the global identifier which was related to when I modified the key structure by adding interaction to the data. All fixed Clicking on "Play" to open up the "play time" interface and then clicking on "ledger" twice in succession (e.g. 1 second apart) yields interest Yeah I spent a good time yesterday finding a solution for that and spam click is no longer a problem with animations. Your plugin exposes users to script injection attacks. For example, setting a animal's nickname to <script>alert('I am a malicious script.');</script> Updated my regex that was already in place to remove <, (, ', and " symbols completely. You don't need them in names anyways. Love the Screenshots I really thank you for the input so far. I know when this is polished it will be the biggest plugin out there except for the Monetary System. I'm still changing things here and there. But only because I'm paying attention to small detail on this one. I want it to work and to work nice when it's done. I appreciate your support and I promise that this plugin will end up being my Star Plugin. Only using Push and Shift will give my plugin the retention it needs to sustain user giving and constant data manipulation. I'm using all the cool features I can think of to make this not only look cool, but FEEL cool. I'm glad there is such a wide interest in the idea of this plugin. It keeps me going when I have to make big decisions on the direction. Especially after I started development a month ago and after 40+ hours I still don't have the main functions finished. A lot of time was just getting the right images too. Which are always subject to change.
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jun 27, 2014 9:23:17 GMT -8
You can now add and remove images from the field. Serious Questions: If the user is allowed to place the animals... How is the happiness system supposed to work? Does sending the animal to the yard keep it happy longer? Does an animal not in the yard stay happy always? Does an animal have to be in the yard in order to increase happiness and keep it from dying? (if dying is enabled) Please offer your input An animal with more space to roam and forage will of course be happier. I.e. a horse in a stable all day will be less happy than one in a field with herd mates as they are social animals who run, herd, play and graze, etc. A horse stuck in a stable will also likely develop behavioural problems that can be detrimental to health. Such as cribbing/wood chewing where they'll chew at the stable bars and door. en.wikipedia.org/wiki/Cribbing_(horse)Also, I note you have 'scold' with a whip icon. I would suggest against that as it gives the impression that violence against badly behaved (note: badly behaved in our eyes) animals is acceptable. I would suggest change it to 'train' with a treats bag as image? Scolding an animal will definitely drop happiness in any animal. I guess I should make it where they lose bars up to half a bar while in the stable. And I will change the scold Icon.
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jul 13, 2014 10:46:27 GMT -8
It's been a couple weeks and I have to say I haven't made any progress. Work has forced me into overtime hours. So I have less time to work on plugins. Right now my side-project is first priority. Animal Keeper will be continued in the next week I believe. Feel free to enjoy my sad Batman song I made while I'm gone. I haven't forgotten, I'm just worked to the bone.
|
|
inherit
175990
0
Apr 29, 2023 8:19:26 GMT -8
temperateporcine
186
January 2012
temperateporcine
|
Post by temperateporcine on Jul 14, 2014 3:21:17 GMT -8
I'm loving this plugin, can't wait to see it completed, I've been collecting zoo animals and have a few ready to go. It's stuff like this that makes Proboards fun, well done pastuleo, your work is very much appreciated.
|
|
inherit
168679
0
Nov 18, 2012 17:03:07 GMT -8
Virgil Sovereign
Latet anguis in herba.
686
July 2011
syonidv
|
Post by Virgil Sovereign on Jul 14, 2014 14:56:52 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓: I've been thinking about our discussion earlier. You implied that you would add a parametric background auto-generator as one of the features for the plugin. For the "Mountainous" category of backgrounds, might I suggest generation based on a self-affine fractal set parametrized by: flange, interstitial bloom, near-scale, far-scale, and (naturally) branching factor. You might be planning to generate/cache the backgrounds server-side somewhere, but there are some SAFS-based mountainscape generators that run on the HTML canvas element in reasonable time, hence you might be able to do all the rendering client-side. That would allow you to incorporate features like time-of-day and (possibly) weather animations to give your plugin that bit of extra kick. At any rate, since you've ostensibly promised us automatic background generation, I think I speak for everyone here in emphasizing the importance of the feature. You may even want to integrate it with a more sophisticated environment engine that applies tints, filters, etc. to animal sprites in conjunction with the backgrounds for improved visual integration, but that much I admit is beyond the scope of what you've committed to. Looking forward to seeing what you've produced by the end of the week. - Virgil
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jul 15, 2014 8:53:20 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓: I've been thinking about our discussion earlier. You implied that you would add a parametric background auto-generator as one of the features for the plugin. For the "Mountainous" category of backgrounds, might I suggest generation based on a self-affine fractal set parametrized by: flange, interstitial bloom, near-scale, far-scale, and (naturally) branching factor. You might be planning to generate/cache the backgrounds server-side somewhere, but there are some SAFS-based mountainscape generators that run on the HTML canvas element in reasonable time, hence you might be able to do all the rendering client-side. That would allow you to incorporate features like time-of-day and (possibly) weather animations to give your plugin that bit of extra kick. At any rate, since you've ostensibly promised us automatic background generation, I think I speak for everyone here in emphasizing the importance of the feature. You may even want to integrate it with a more sophisticated environment engine that applies tints, filters, etc. to animal sprites in conjunction with the backgrounds for improved visual integration, but that much I admit is beyond the scope of what you've committed to. Looking forward to seeing what you've produced by the end of the week. - Virgil That would totally be cool, however I know nothing about parametric background auto-generators. And have no idea on where to find one that is for daily use. I can see the appeal, but things like that is for frankly a flash game environment. And sadly I'm not a flash developer. Also I think that too much realism may in fact take away from the look and customization that users might want. Right now it's just 2d images specified by the user and admin that I'm working off of.
|
|
inherit
168679
0
Nov 18, 2012 17:03:07 GMT -8
Virgil Sovereign
Latet anguis in herba.
686
July 2011
syonidv
|
Post by Virgil Sovereign on Jul 15, 2014 19:38:35 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓: I've been thinking about our discussion earlier. You implied that you would add a parametric background auto-generator as one of the features for the plugin. For the "Mountainous" category of backgrounds, might I suggest generation based on a self-affine fractal set parametrized by: flange, interstitial bloom, near-scale, far-scale, and (naturally) branching factor. You might be planning to generate/cache the backgrounds server-side somewhere, but there are some SAFS-based mountainscape generators that run on the HTML canvas element in reasonable time, hence you might be able to do all the rendering client-side. That would allow you to incorporate features like time-of-day and (possibly) weather animations to give your plugin that bit of extra kick. At any rate, since you've ostensibly promised us automatic background generation, I think I speak for everyone here in emphasizing the importance of the feature. You may even want to integrate it with a more sophisticated environment engine that applies tints, filters, etc. to animal sprites in conjunction with the backgrounds for improved visual integration, but that much I admit is beyond the scope of what you've committed to. Looking forward to seeing what you've produced by the end of the week. - Virgil That would totally be cool, however I know nothing about parametric background auto-generators. And have no idea on where to find one that is for daily use. I can see the appeal, but things like that is for frankly a flash game environment. And sadly I'm not a flash developer. Also I think that too much realism may in fact take away from the look and customization that users might want. Right now it's just 2d images specified by the user and admin that I'm working off of. So we're agreed: parametric background auto-generators are cool, you can see the appeal, and you'll add one to your plugin. No need for Flash or other third-party dross. We're in the era of HTML 5. You'll just have to do it with good old fashioned canvas elements, SVG, creative use of semitransparent overlays, and of course plenty of CSS3 styling. Writing your own code to generate 3D fractals, mesh them, project them into the viewing frame, and render them as a series of 2D polygons will be your "challenge project" for this week. As for using third-party libraries: where's the fun in that? We're here to write plugins, not import libraries, amirite? Excessive realism is also not a problem. An elegant solution will be to add a sixth parameter, "photorealism", to the auto-generator you're programming. Users will be able to specify the degree of realism on a continuous scale from 0 (cartoon) to 1 (photorealistic), and the plugin will use it to modulate the complexity of the engine generating the environment. For users that prefer to use their own backgrounds, you'll simply provide an "upload your own background" option in the same way that Proboards does for avatars. I think that addresses all of the concerns you raised. I'm glad we got things sorted out and you're still on board with the idea. Props, Virgil P.S. I am just pulling your leg. ^___^
|
|
inherit
201984
0
Sept 11, 2023 1:23:07 GMT -8
P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓
Using My Talents Elsewhere
3,314
November 2013
pastuleo23
|
Post by P̌̓aͧś̀t̀u͒le͆o͂2̀3̃̓ on Jul 15, 2014 21:09:30 GMT -8
That would totally be cool, however I know nothing about parametric background auto-generators. And have no idea on where to find one that is for daily use. I can see the appeal, but things like that is for frankly a flash game environment. And sadly I'm not a flash developer. Also I think that too much realism may in fact take away from the look and customization that users might want. Right now it's just 2d images specified by the user and admin that I'm working off of. So we're agreed: parametric background auto-generators are cool, you can see the appeal, and you'll add one to your plugin. No need for Flash or other third-party dross. We're in the era of HTML 5. You'll just have to do it with good old fashioned canvas elements, SVG, creative use of semitransparent overlays, and of course plenty of CSS3 styling. Writing your own code to generate 3D fractals, mesh them, project them into the viewing frame, and render them as a series of 2D polygons will be your "challenge project" for this week. As for using third-party libraries: where's the fun in that? We're here to write plugins, not import libraries, amirite? Excessive realism is also not a problem. An elegant solution will be to add a sixth parameter, "photorealism", to the auto-generator you're programming. Users will be able to specify the degree of realism on a continuous scale from 0 (cartoon) to 1 (photorealistic), and the plugin will use it to modulate the complexity of the engine generating the environment. For users that prefer to use their own backgrounds, you'll simply provide an "upload your own background" option in the same way that Proboards does for avatars. I think that addresses all of the concerns you raised. I'm glad we got things sorted out and you're still on board with the idea. Props, Virgil P.S. I am just pulling your leg. ^___^Rofl. Yeah I hate libraries. My prize-wheel plugin is svg/canvas. You could totally make a simple generator with a nice hook for my plugin to generate backgrounds seeing that you have the vision for your generated background. And realism would be awesome however I believe it would end up looking like: and I don't think the random generation was that intuitive on the game personally. And probably not worth the time.
|
|