In response to Azurift
|
|
They mentioned in the thread (previous page perhaps?) that it's for colour matrix blending, they don't want to worry about drawing different colour sprites for the mob, and have opted to greyscale it instead so that the code can colour it.
|
In response to CrimsonVision
|
|
CrimsonVision wrote:
They mentioned in the thread (previous page perhaps?) that it's for colour matrix blending, they don't want to worry about drawing different colour sprites for the mob, and have opted to greyscale it instead so that the code can colour it. Bingo! I do it mainly for enemies that will show up in several areas, so they can be colored to match the area. I also often forgo using the color matrix at all, and instead use the colors menu in the dmi editor to create file versions of each color permutation. This works well once I've finalized the sprites, but until then I just fiddle with color matrices. |
Yut Put wrote:
mage is really restricted RN but certain additions like magic blast have allowed it some leeway Quick question when you uhh "enhance" a sword with element damage does that element damage scale with int :3? Because Also if staffs are too good then every single player will have a staff in their off hand and just spam them for their range Having a non ranged but magic based attack could be what mages need :P. Think of like the combat mages in es:V |
In response to Akto
|
|
Because it's already crap :P.
|
In response to Bravo1
|
|
I like the eye thing.
|
I like it, but I think the moving animation on the legs should be slowed down a bit.
|
Well, I finally seem to have finally implemented division, which means that all basic arithmetic for unsigned 32-bit integers is now possible in DM! I might release an (undocumented) beta version after I get some stuff cleaned up, or I might just wait until I get signed integers implemented too. At the very least, I want to get a PrintDecimal() method in now that it's possible for me to compute the remainder of division.
But, my god was division difficult to implement. The _AlgorithmD() "private" method—which handles the guts of division and is used in three other methods—is 640 lines long by itself. To compare, the next-longest method, Multiply(), is only 201 lines. The private method and the three public methods, Quotient(), Remainder(), and Divide() together come to a total of 817 lines. This was basically a consequence of me unrolling the relevant loops, though, and there's a lot of repeated code. So, was it worth it? I used the following code to run some diagnostics, #define DEBUG and on my machine I'm getting the following results. /* Computing quotients is quite quick, which I'm happy with—that's what most people will be doing anyways. Computing the remainder is more expensive because it ends up involving another call back to _AlgorithmD() to unnormalize the data (as Knuth calls it), and the Division() method outputs a list containing the quotient and remainder, hence the reason it takes about as long as finding the quotient. I'm gonna see if I can bring down the time it takes to compute the remainder (looking through, there might be a more efficient way than waht I'm doing), but for now I'm fairly satisfied. Unfortunately, the code for triple and quadruple precision arithmetic will be the same, but much longer. For anyone curious, here is the mentioned code. It's far too long to paste here without feeling painfully spammy. |
It was a bit hard for the eyes to actually see the leg movement. The brain kind of fills in the frames it can't actually see. I think this new version is great. Death animation is cool!!
|
And now there is finally decimal conversion, which will probably make this seem more "real" to a lot of people. Using the following code,
mob I have generated the following random sample output for unsigned double precision integers, which can be independently verified as correct (if you're so compelled): 1159416082 * 1 + 1026600590 == 2186016672 1344239066 * 3 + 78806696 == 4111523894 2674236156 * 1 + 236776761 == 2911012917 5082 * 215276 + 3893 == 1094036525 2037627837 * 1 + 1955331588 == 3992959425 214570014 * 3 + 203748894 == 847458936 64906 * 53994 + 23164 == 3504557728 545414878 * 4 + 180877911 == 2362537423 1451471753 * 1 + 717189320 == 2168661073 1760418314 * 1 + 1685192579 == 3445610893 29482 * 126323 + 14150 == 3724268836 44165 * 19880 + 39963 == 878040163 762034070 * 3 + 45214203 == 2331316413 18772 * 31040 + 15602 == 582698482 55163 * 17616 + 50007 == 971801415 178955272 * 2 + 139942978 == 497853522 40486 * 82910 + 23222 == 3356717482 374482226 * 1 + 210639106 == 585121332 13350 * 207383 + 8776 == 2768571826 30567 * 104992 + 19267 == 3209309731 2005533978 * 1 + 1774438395 == 3779972373 18994 * 42543 + 3180 == 808064922 8465 * 291714 + 5213 == 2469364223 30555 * 140244 + 29316 == 4285184736 68528916 * 1 + 23285600 == 91814516 751863007 * 1 + 207514336 == 959377343 44159003 * 1 + 29706082 == 73865085 57749 * 2726 + 39496 == 157463270 458448085 * 1 + 309699278 == 768147363 63968 * 4794 + 38570 == 306701162 38074 * 65352 + 22961 == 2488235009 3101 * 509272 + 2891 == 1579255363 1346178226 * 3 + 7968957 == 4046503635 1106524156 * 1 + 471232997 == 1577757153 12085 * 278777 + 7912 == 3369027957 2187975552 * 1 + 1647548105 == 3835523657 407315447 * 3 + 365616531 == 1587562872 6006 * 43652 + 3696 == 262177608 332261300 * 2 + 48279963 == 712802563 2010112432 * 1 + 328071758 == 2338184190 2077652416 * 1 + 1407078336 == 3484730752 119262138 * 5 + 9979668 == 606290358 2202195956 * 1 + 560327507 == 2762523463 38209 * 79246 + 1863 == 3027912277 62550 * 11848 + 5394 == 741097794 42065 * 67354 + 27373 == 2833273383 15094 * 246653 + 8262 == 3722988644 47047 * 68935 + 4183 == 3243189128 28943 * 78359 + 27578 == 2267972115 38522 * 90800 + 3553 == 3497801153 65228 * 60784 + 63096 == 3964881848 22500 * 178981 + 12162 == 4027084662 47616 * 17878 + 44527 == 851323375 15633 * 263023 + 8656 == 4111847215 49168 * 52509 + 35815 == 2581798327 1726911480 * 1 + 1137499216 == 2864410696 4916 * 35422 + 1883 == 174136435 47097 * 83671 + 34840 == 3940687927 1616505866 * 1 + 776409776 == 2392915642 34866 * 102470 + 32917 == 3572751937 440902382 * 1 + 111099245 == 552001627 1400509096 * 1 + 690324038 == 2090833134 493744341 * 1 + 141138606 == 634882947 1069373246 * 1 + 418180065 == 1487553311 37485 * 83667 + 31165 == 3136288660 655487832 * 5 + 235987320 == 3513426480 113224486 * 2 + 40074978 == 266523950 35071 * 15679 + 28799 == 549907008 1770991985 * 1 + 971300797 == 2742292782 37788 * 19983 + 35363 == 755152967 10609 * 311513 + 6103 == 3304847520 752809332 * 3 + 182403642 == 2440831638 60580 * 26481 + 34820 == 1604253800 1785619917 * 2 + 605942000 == 4177181834 713329502 * 1 + 63566808 == 776896310 828649824 * 1 + 745677009 == 1574326833 77525700 * 18 + 43692572 == 1439155172 50396 * 60433 + 37362 == 3045618830 2614353491 * 1 + 510287148 == 3124640639 57437 * 19488 + 37316 == 1119369572 25401 * 143166 + 17844 == 3636577410 61688 * 42083 + 42566 == 2596058670 3418062130 * 1 + 363443590 == 3781505720 31871 * 88431 + 27777 == 2818412178 329336977 * 2 + 119876257 == 778550211 27484 * 35781 + 13564 == 983418568 38052 * 20105 + 36328 == 765071788 637406594 * 3 + 342482377 == 2254702159 1370178865 * 2 + 678896001 == 3419253731 1541466812 * 1 + 587008683 == 2128475495 3117396171 * 1 + 94528085 == 3211924256 1087969167 * 1 + 788298425 == 1876267592 2383866638 * 1 + 57099188 == 2440965826 1003485621 * 2 + 340890040 == 2347861282 1708728223 * 1 + 1402273326 == 3111001549 2085872787 * 1 + 1210235043 == 3296107830 195179149 * 6 + 150590014 == 1321664908 1016277943 * 1 + 1005883598 == 2022161541 90513961 * 4 + 25836752 == 387892596 18657 * 48816 + 18359 == 910778471 For example, you can take any of the above lines and plug it into Wolfram|Alpha and it should spit out True or False depending on the truth of the statement (i.e., hopefully True). The good thing about this particular output is that it simultaneously tests the correct functioning of addition, multiplication, and division with remainder. At the same time, you can test it to see that DM loses its precision with most of this output, demonstrating the utility of the library. |
In response to Bravo1
|
|
Bravo1 wrote:
Looks great. With some mechanical movement sounds, I think the legs will be fine. Love the final look the mech gives. Nice touch. |
Although I haven't touched this in a little while, I may as well share some cool things I was doing with SotS II to bring it up to speed with 509's new features. (I'll probably make use of KEEP_TOGETHER in it at some point too; one of the reasons I prioritized implementing that was that I didn't like that maptext and its background couldn't fade out together.)
- Opacity has been removed; a little of the atmosphere was sacrificed for better gameplay. - Replacing most icon operations with color matrices has resulted in a huge speedup when the round starts. - Each page now has a theme color; all of the walls are variations on that color. - Team colors used to be limited to red, orange, gold, green, blue, sky blue, purple, and brown. Now they also include silver, pink, lime, black, teal, maroon, and periwinkle. - When walls are created (via a crayon attached to a trap or by drawing them in your team's base), an animation fills them in. - Walls show how much damage they have taken, as cracks. - When a wall is destroyed, it breaks into blocks that fly apart and disappear. - When a continuous section of wall is broken up, one of the sections will fade to a new color. - The eraser grenade has had its explosion icon replaced with an animation of eraser "cloud" particles, which looks much cooler. - The chalkporter vortex icon has been improved. - The Stickster's roar causes the screen to shake, when in close proximity. - The Stickster no longer spawns in the open. He either comes in from the side of the page, or spawns in a wall which he breaks out of. - Work in progress: The end of the round has been changed to show a summary screen saying who won, who got MVP, etc. The plan is for winners and MVPs to do a victory walk. Eventually medals will be shown here too. - Work in progress: The round start now shows the instructions on the map, and has a countdown delay. - TODO: The weapon HUD needs to be updated to avoid the use of icon operations, which will also benefit from KEEP_TOGETHER. - TODO: The tracker will be moved on-screen, replaced with an arrow and allowing the user to switch targets. This will replace the Ping command completely, and by only allowing the user to track items or the Stickster at any given time (not both), it will ramp up difficulty. - TODO: Medals earned in-game should have a display on-screen. - TODO: Death announcements and chat should go on-screen as well, eliminating the need for an output control. |
In response to Bravo1
|
|
Bravo1 wrote:
Looks pretty good. I have a bit of art critique though: The speed at which he moves doesn't feel correct with his walking animation. He's very very rapidly scurrying about, which gives a frantic and light-footed feeling to his character that works against his big blockyness and strong heavy punches. I think you should make him take longer, heavier steps to drive home how meaty he is and how much punishment he may be able to take (especially with that shield). To maintain his speed and his feeling of weight, perhaps with each stride he takes off the ground a little and have his whole body react (with the weight) when he lands right before taking off on the next stride. The explosion animation doesn't feel too satisfying. I agree with Lummox, where there should be some debris particles to juice it up. The white shockwave ring that expands looks kind of crummy because you're scaling up. Instead, you should draw a white ring like that at high resolution and animate it so that initially it's scaled down, and have it animate towards it's normal resolution as it expands. |
Yut Put wrote:
@lummox: How do you plan on adding on screen chat if there is no way to know where a message line ends or how much screen space maptext takes up? It is currently impossible to make functional on screen chat because of these two problems (you cant read the number of lines the maptext takes up) Javascript, have a browser return the width of a span of some text. |
In response to D4RK3 54B3R
|
|
He's actually not all that big :P. I mean he's a little taller than the rover robot thingy which compared to some of the bosses arent all that tall :P.
|
Do you have a name for them :P?