This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »
721
General ENIGMA / Re: How do I optimize my backgrounds and graphic matters?
« on: May 05, 2014, 06:13:30 am »Quote
However, repeating the background drawing "screen-width" times should have a negative effect in the processor side; more operations per second.You don't need to "repeat" it. If it's a 1px gradient, then you can scale it. Like:
Code: [Select]
draw_sprite_ext(spr_gradient,0,0,0,1,room_height,0,c_white);
This will basically stretch your 1px wide gradient to fill the screen in horizontal direction. CPU wise it's not very intensive and the whole rendering is done on GPU, which it's good at. So that is the fastest way to draw a sprite gradient. You could also use draw_rectangle_color() to draw a gradient and it will be even faster (as it doesn't use a texture).Quote
These are my conclusions. Can you tell me if I'm right about all of this? Is it really a good idea to keep my backgrounds as reducted as possible?Yes, but only to a point. GPU memory won't really slow you down unless you exceed it. Today you can think minimum 1GB with average of about 1.5GB. With these resources it's not really smart to trying to fit everything in 32x32 pixels. And you are right on how the tiling function now works. GPU's can tile power-of-two textures easily and without any slowdowns or overhead, but sadly backgrounds and sprites can be in any size. So the tiling functions (e.g. draw_backgound_tiled) calculates how many tiles are needed and then "draws" them. This means CPU has a lot more work, but then we can tile images of any size. Rendering is still very fast as that function uses batching - all the tiles are drawn at once. CPU impact is also actually very small compared to any other thing you could do at the same time, so I wouldn't worry about that.
So I think you should easily use up to 1024x1024 textures as often as you want. No need to use very small images. Especially when we still don't have texture atlas. Texture atlas is a texture with all your sprites on it. So if you have 10 32x32 sprites, then they would be packed into one 256x64 texture (or something similar in power-of-two size). This means when you render the engine doesn't have to switch textures and break batching (which is slow). We sadly still don't have that as that would require many changes no one is willing to do now.
722
Off-Topic / Re: The choice was obvious, and it wasn't Enigma
« on: May 04, 2014, 02:17:38 am »Quote
He took the personal attack route, and I will defend myself to that.And when did he do that? His only quote that is actually in any way related to you is this:
Quote
My goal in this conversation is not so much to defend YYG per se, but to call you out your pointless BS that's derailing the community.And that is his opinion and he is entitled to it. In the posts after that you actually kind of proved his point. So in essence you seem like a troll, not him. So no, he is not a troll and there was no "personal attack". He just stated an opinion you partly proved. You took it WAAAYYY to personal or even seriously.
Quote
This forum was way negative and inflammatory long before I joined. PROOF is there. devs can't seem to get along and have big differences in what needs to be done and how and when, THAT, is the biggest problem derailing enigma, not my negative remarks on GMS lol.I personally don't really know what you mean. Forums were and still are unmoderated, so there were many for fun posts like in the "nonsense" section. But no one ever took anything of that seriously. Like putting a word "fuck" as an error in ENIGMA isn't meant to be "negative", it's just how hobby programmers usually do it.
723
Off-Topic / Re: The choice was obvious, and it wasn't Enigma
« on: May 03, 2014, 05:17:57 pm »Quote
Is this the trial of Robert & Darkstar2 ? Why the bloody hell do any of us have to justify ourselves,I guess the fact you think you are on "trial" is kind of what Rusky means. You are just so "hot blooded" for no reason at all that it may seem for others you are negative. Like seriously read last 5 of your posts in this topic. Do you really think that the responses are proportional? It's like if someone said he didn't like color blue, which for sake of example you do like, and you start yelling on him how you are on trial and how he is trolling.
this is getting ridiculous, why am I even bothering !
724
Programming Help / Re: B2D physics question
« on: May 03, 2014, 05:11:13 pm »Quote
That seems to me like the most arbitrary limitation one could possibly create, what is wrong with a "Check Convexity" button?Well they wanted it real-time, just like syntax checking. Because otherwise a user wouldn't check it and then post a topic on how physics are broke. So this automatic checking is probably a fool proof method. And I do like it actually. Like if there is a limitation, then don't even allow users to reach it. I think checking convexity up to a certain number of points would be possible in real-time as well, but that limit is probably in hundreds (or at least late tens) so shouldn't be a real "limit". As physics meshes are usually quite simple. That suggestion was just my idea on why they have that 6 point limit. Of course the reason could be anything. But I could imagine how a simpler algorithm could work with only 6 points. They maybe also wanted to limit users, so they wouldn't use unnecessary number of points. Like I can image someone using one point per pixel to make a "pixel perfect" collision, which probably would be unbelievably slow and useless. So in essence they made a "good practice" limit. But I can image cases were 6 can be too few.
Quote
It does not do that, I tested adding the same sprite to two objects, the points are stored per object in the GMX file as well.Yeah, sorry, I didn't know how the whole thing worked. I just looked it up and it is actually per object, not per sprite. Which is not a bad thing either. In that case it also reuses the mesh anyway. So it's still not a bad design.
Quote
Also, there is no real need to duplicate it, users could literally just create a path resource, and use the following script.Newbies sadly don't want to code.
725
General ENIGMA / Re: Variable performance
« on: May 03, 2014, 07:46:10 am »Quote
Can arrays be declared as specific types? if so, how?The answer for now I think is that you cannot. It's a parser bug as it tries to use GM arrays instead (which are actually functions). Like:
Can we make data structures like in C++?
Code: [Select]
some_array[10] = 0;;
some_array[0] = 5;
Actually turns into:Code: [Select]
some_array(10) = 0;
some_array(0) = 5;
While real C++ arrays need to be:Code: [Select]
local int some_array[11];
some_array[10] = 0;
some_array[0] = 5;
So compiler errors out. For now there is nothing you can do to go around this bug (as far as I know). The second problem with structs is the same. You cannot use them until the parser is done. Josh keeps "working on it", but hasn't given any real indication on when he plans to finish or what problems does he have now.Quote
I think there should be highlighting for the variable types, or bold it like when you type varThis is an LGM issue. I think some of the keywords are now hard coded which they shouldn't be. I think keyword lists (both functions and otherwise) be external, so it would allow easy additions of these kinds of things.
726
Tips, Tutorials, Examples / Re: Travelling salesman problem
« on: May 03, 2014, 07:24:49 am »
Your "brute force" is as "brute" as I have ever seen. Did you generate those 5k lines? I guess so. I doubt you would be as insane to write all of them by hand. Image adding another city. With 7 cities you have there are only 720 permutations, so it's not that bad. It can calculate the path instantly.
I made this for Uni: https://www.dropbox.com/s/rfobu3pxea30c5j/TSP.gmk . It is a TSP using genetic algorithm (also has brute force for comparison). It is quite automated, so when you open the room and add more city objects, then they will automatically be used. So you check how the genetic version compares with brute force even if there are 20 cities or more (hint: brute force takes literally forever).
I made this for Uni: https://www.dropbox.com/s/rfobu3pxea30c5j/TSP.gmk . It is a TSP using genetic algorithm (also has brute force for comparison). It is quite automated, so when you open the room and add more city objects, then they will automatically be used. So you check how the genetic version compares with brute force even if there are 20 cities or more (hint: brute force takes literally forever).
727
Programming Help / Re: B2D physics question
« on: May 03, 2014, 07:04:54 am »Quote
So who's going to volunteer in asking them why this limit of 6 and see what amazing reason they come up with ?If they check convexity when editing the shape then it's possible that they didn't bother to create an algorithm that could check it for more than 6 points. It's possible that they use some easier algorithm limited to that. Just my two cents, as checking convexity isn't that trivial and can be slow with many points.
Quote
For a reason, because their whole system is designed horribly, mine has reusable shapes as well without duplicating RAM.I think their is reusable as well. It's one per sprite, so every instance using that sprite uses that shape. I don't think it's a bad design, as the whole point is making a collision shape for the sprite. I don't use GMS so I didn't know they added that. I think you should add something similar to LGM. You can add a separate resource if you want, but then compatibility will be harder (but should still be possible). As Darkstar and others have pointed out, one massive problem with ENIGMA (and still with GM) is that it's too "low level", as in, you have to do everything in code. I don't have any problems with that, but others want something like Unity, which has editor for everything. So adding collision shape editors among others would be a nice addition. It would probably take time though, so I don't know if you should try that now. GMS seems to reuse the path editor for that, so might be easier. It already has the possibility to add points, have an image in the background and other things that are useful.
728
Off-Topic / Re: The choice was obvious, and it wasn't Enigma
« on: May 03, 2014, 06:51:29 am »Quote
So what's your view of a community, who the fuck made you forum police ?I think his point is that you write 16 paragraphs per post with literally ranting. Look how we post. Often just one line. I can assure you Rusky hasn't anything to do with YYG and he just pointed out how this community really is "negative". I see it too, I just don't really care. I guess Rusky doesn't care either. So read what you posted in this topic and say to yourself - "Isn't Rusky at least partly right?". You put yourself as "victim" even though your were mentioned offhand as an example. You shouldn't take any of that personally, but you really did illustrate the point he was trying to make.
729
Off-Topic / Re: The choice was obvious, and it wasn't Enigma
« on: May 02, 2014, 05:28:14 pm »Quote
Not quite always true. When I joined here and went through some messages I could clearly see there were heated discussions on YYG long before I joined. Fact Robert mentions on many occasion what was done wrong in GM, and he is right about all of it, and GayMakerStupido reference in the wiki and source code are basically his words and were not put on the main site by me either. Yes I made my discontent public, but there was discontent long before. Someone who calls a product GayMakerStupido or uses the term "being sold a lemon" is not exactly a happy customer, and those are not my words. I only started using those terms because I saw someone else use them and I thought they were appropriate.I'm not saying Robert didn't do that before. He was the number one guy doing it until you came along. In the past few years people once in a while ranted about how YYG sucks. I might have contributed a post or two about that as well. But "devs" usually didn't do that. Like what do you consider a "dev" here? The only devs you probably know that are still here are me, Robert, Josh and Rusky. And me, Josh and Rusky usually don't bash YYG. At least lately (as in past 2 years).
Perhaps before some people come here and try to pin everything should go through old forum posts, some dating from way back, 2013 and before, some this year, you will see that long before I joined people were having harsh words against YYG and GM and criticism, and everything I mentioned here was at least mentioned before by people here, most by enigma devs themselves.... so when enigma devs try to now pin this on me saying "oh we have nothing to do with this we only say this because darkstar2" that is utter bullshit. I didn't start that ! I didn't refer to GMS as a piece of turd, a lemon, a *SCAM*, yes you heard me, these words were used by none other than ENIGMA devs themselves, search the forum !!!
Quote
Give examples of some negative remarks against GMS that was uncalled for or irrational.Most of the criticism I have read here is quite one sided or not really thought trough. Like the topic about deprecated functions or the registry functions or whatever. Again, I don't really care though. Just point out.
Quote
So it's obvious this project was created not only to offer a free GM alternative, but something doing things better than GMI don't think that it originally was. I can't remember clearly now (been years), but I think the original plan really was just that - "Make a free GM clone". It wasn't really about improving something. That is why we strived for compatibility above everything else. Only in about past 2 years have we diverged from that. Maybe Josh remembers better as ENIGMA was his idea.
Quote
But somehow there are lots visible on the main site that give the impression to people that it is a finished product with all those features.That is probably because even the website was a learning experience. We had a cool guy a2h who just wanted to make as cool as site as possible and to learn something while doing that. I am pretty sure he is a web programmer now (though I don't know for sure). There was even a plan for even cooler site (http://enigma-dev.org/forums/index.php?topic=610.0 and http://enigma-dev.org/v5test/ (now trows PHP errors, just like EDC)) but that was never finished (as always here.. ). It did make ENIGMA look even more like a product though. That is why we probably didn't make it live.
edit: Even if you read the about page from that test: http://enigma-dev.org/v5test/about you will find that we didn't stress ENGIMA having many new features or anything. It mostly was about "Speed" and "Platforms" (both of which GM then lacked as it was Windows only, while we always were Linux, Mac and Windows). When both of those "Advantages" disappeared we just kind of went into a slightly different direction. But the original was just about "Free, compiled and C++ based GM clone".
730
Programming Help / Re: Not able to set or get userdefined variables with unique values for instances.
« on: May 02, 2014, 10:36:49 am »
The bug is that you need to define the same variables in unit's create event as well. Like add these to obj_unit create:
I guess this is another parser bug as we technically support "Init undefined variables to 0". I think the parser cannot figure out if the variables are defined. In GM you probably would get the "Undefined variable" error. It trows the same error in ENIGMA as well. You should define variables before using them.
Code: [Select]
team = -1;
max_moves = -1;
ap = -1;
hp = -1;
They can have any value as you will override them in obj_controller. I like to set them to undefined value like -1 so in debug I could find bugs easier.I guess this is another parser bug as we technically support "Init undefined variables to 0". I think the parser cannot figure out if the variables are defined. In GM you probably would get the "Undefined variable" error. It trows the same error in ENIGMA as well. You should define variables before using them.
731
Issues Help Desk / Re: Problems with global variables
« on: May 02, 2014, 10:05:38 am »
This is a well known parser bug. Variables in scripts are constantly pain in the ass, but who knows when or if Josh will fix it with a new parser. There is actually a topic about parer bugs in the staff board. I guess I should of posted it in public so people wouldn't have to post one bug a million times.
So to fix your current bug, just declare the variable in the object.
This is from that topic:
2) We cannot use global variables defined by "global var" in scripts. I mentioned this bug before, but Josh dismissed it, so he might not be aware of it:
Create event:
scr_init():
This is slightly different bug from what you are describing, but the cause is probably the same.
So to fix your current bug, just declare the variable in the object.
This is from that topic:
2) We cannot use global variables defined by "global var" in scripts. I mentioned this bug before, but Josh dismissed it, so he might not be aware of it:
Create event:
Code: [Select]
global var a, b;
a = 5;
b = 0;
scr_init();
scr_init():
Code: [Select]
b = 5;
This will error 'struct enigma::OBJ_obj_0' has no member named 'b'. This is because in the script it actually tries to access local b even though there is no such thing as local b. If I type "global." in front of all of them, then the problem disappears.This is slightly different bug from what you are describing, but the cause is probably the same.
732
Off-Topic / Re: The choice was obvious, and it wasn't Enigma
« on: May 02, 2014, 10:00:04 am »Quote
irrational anger towards another company whose software they want to model themselves after.That is true, but the one who mostly rants about YYG is Darkstar2 and he isn't a developer here. Robert also often rants about YYG, but that happens less so and usually only because Darkstart started it. The rest usually couldn't care less.
Quote
Why would I want to be associated with all this hatred.That usually happens when we don't actually censor or try to administer topics here. You can write what you want and how you want it. That is why neither your account or your topic will get deleted because of it. While in YYG they usually stifle criticism. On the other hand then people don't see that negativity and they can't be affected by it. So the question is - Should we delete these negative posts/topics and make it look more positive? Or allow people to express their mostly irrational feelings against YYG or ENIGMA?
Quote
How many years has it been?I guess it started in about 2007, so about 7.
But most of your post had the same misconception as many people have here: This isn't a commercial product and it never will be. This isn't even a guided freeware software either. It started with one idea - We can make GM and we can do it for free. And in essence we did it, as we didn't compare it with GMS, but with GM6/7/8 and we did at one point or another have something as functional as GM6. But most importantly - We make ENIGMA as a hobby and as a learning experience. Josh now works at Google probably just because he thought he could write a parser when he was 16. I learned C++ from ENIGMA and now use it for computer vision, robotics, security and so on. Everything I know about graphics (2D, 3D, GL from 1 to 3, shaders, GPU and CPU optimizations) I learned from ENIGMA. That is why many of the original developers couldn't care less if anyone actually used ENIGMA. That was never the point. And I will continue working on ENIGMA even if I am the only one using it.
733
General ENIGMA / Re: Variable performance
« on: May 02, 2014, 09:44:37 am »Quote
The OP obviously does not include ENIGMA.The original post has 3 images. The first one is YYC (but not my PC) and the last two is ENIGMA (on my PC).
734
General ENIGMA / Re: Variable performance
« on: May 01, 2014, 11:02:51 am »
Please, read the OP. The graphs ARE showing YYC and ENIGMA.
735
Programming Help / Re: How do I use DLL inside ENIGMA?
« on: May 01, 2014, 10:54:42 am »
DLL's in theory should work just like in GM. So just google a tutorial on dll's in GM.
But there is a chance the dll functions ain't working in ENIGMA. Had this before.
But there is a chance the dll functions ain't working in ENIGMA. Had this before.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »