Show Posts

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.

Messages - Goombert

General ENIGMA / Mike Dailly Blog Stuffs
« on: January 11, 2014, 04:27:24 pm »
I recently found Dailly is updating his blog again.

The most recent post is rather intriguing because it contains a lot of details about how he did Studio's graphics. And well basically, it is pretty much the same as I did, an underlying system for drawing primitives and batching them into a triangle list and then firing a flush on state changes. The only difference here is that ours still out performs his without even using full hardware acceleration, we don't even handle T&L on the GPU yet.

There are some other things that are interestingly different.
you'll be left with a single vertex buffer (or multiple depending on lines and points),
My mesh class does not do that, it converts the lines and point primitives into the exact same vertex buffer, so there is only ever 1 vertex buffer MAXIMUM for a model in ENIGMA.

It'll also handle more extreme cases, where you set blends several times, then set a different one, and then set more blends several times. The engine will also recognise this, and will only submit 3 batches - or however many blend state batches are actually needed. This is incredibly powerful, and a major playing in rendering performance.
I don't believe that, because in theory that sounds like a great idea, but in practice it would screw up depth ordering.

There is also some good information there about how Game Maker is a Virtual Machine now, much like ohhhh somebody else we know the JVM a.k.a. the Java Virtual Machine.

Off-Topic / Re: YoYoLabs ripping off Rockstar Games?
« on: January 11, 2014, 10:45:32 am »
Just to come back to this again, Idk if anybody else actually tested it, but it takes the things like 5 hours to load the map, the compiled version is supplied by them. Actually to be fair it took 3 minutes, but that is still pretty ridiculous considering the original GTA loads virtually instantaneously if you run it now and it loads way more shit too like audio, pedestrians, and traffic among other things. I would like to see this built in ENIGMA with Josh's new compiler because I've already confirmed my mesh handling to be much more optimal then theirs is, and there is probably some really bad code used in loading and constructing the map which is why I think Josh's compiler would help to. But I can't really say much without looking at the code which I've yet to do, but still it runs as bad as if it was made in GM5.

Edit: Upon further investigation it also has choppy framerates, in fact, I've seen better GTA clones made in GM5 too, and they ran better as well!

Issues Help Desk / Re: Warbird A13:02 in ENIGMA
« on: January 11, 2014, 03:26:49 am »
Hai banshee, allow me to address some of the issues.
Alpha behaviour is not quite that of GM when in OpenGL, Direct3D9 behaves as intended
That should not be the case, it should in fact be the opposite...
Direct3D9 will not show anything in fullscreen
That is a known bug caused by display reset implementation, D3D is kind of a pain in the ass.
Direct3D11 will not show anything at all, but appears to be running normally otherwise
That is because D3D11 is extremely new and does not even have a shader in order to render, it is just the outline of the system so far.
DirectSound crashes the game, OpenAL works fine
DirectSound works only with the WAV format right now and can only do sound_* functions, it also works fine with Project Mario however.

The rest of your issues could be related to inheritance and things. They will most likely be fixed with the new compiler.

Issues Help Desk / Re: Box2D Simulation Example Not Working
« on: January 11, 2014, 12:19:24 am »
Yup Harri answered it perfectly, I can't update it, I am the programmer of the whole Box2D extension.

Issues Help Desk / Re: GMX Reader
« on: January 11, 2014, 12:17:27 am »
Visit and copy and paste the file enigma-dev/output_log.txt and then send me the link. By the way, hope I you are loading the GMX and not the GMZ, LGM does not have any GMZ support you have to do the extraction yourself.

Off-Topic / Re: What is a good programming language to start off with?
« on: January 10, 2014, 09:33:32 am »
My argument is that the person here wanted to learn a programming language. Not a tool. That means he wants to start with something which actually requires programming. Like PyGame or some Javascript based thing. Or GM/ENIGMA. And yes, knowing assembly is also very useful as it gives you understanding on how your code works (that is why every CS class I know teaches it). You end up knowing what creates branches, cache misses and so on. And then you can code stuff more optimally. No one has to code anything in assembly though. Just like I wouldn't actually make a game in PyGame, but for learning it would work fine.
Right, if they wanted to learn a real programming language they should definitely learn a real programming language, like BASIC or C# like I did when I was 12. I am by far not a genius I consider myself of average intelligence. GM did not help me learn programming in the slightest, as I have mentioned before I tried to start with GM but moved right on to Visual Studio because I found GM's drag and drop confusing. Later on I came back to GM because it was really the only RAD tool back then for Game Design that actually featured a built in map editor and stuff, BlitzBasic and the other competitors didn't have such features like that back then, but all of that has changed now, there is tonssssss of that stuff that is community led now for those programming languages. As we've already pointed out there are a ton of newer, cheaper, and better RAD tools for game design that take modern approaches as well. And the argument that GM is out of date and out of touch with modern video game design still holds an ocean of water.

I guess that depends on perspective. I do think, and I doubt I will see anything that changes my made, that GM design is the best, user friendly and one of the productive (even when you have to code everything yourself) game design tool I have ever seen. That is why I still use and develop ENIGMA. It's very easy to learn, very easy to use and when you know enough, it takes minutes (yes, minutes) to create what you want. I have lots of programming tasks at university and if I used anything other than ENIGMA it would take probably a week per task. Now it takes about a day max. So the concept is awesome. It's hard to make it work very fast on hardware as it is more immediate mode than retained mode, but I guess that is one reason it is so easy to learn. And for 2D games the performance is in spades.
That whole paragraph goes against everything we just discussed with you still not directly debating any specifics. The only real evidence that GM is better for learning is that it is more popular than these new tools for game design that have popped up, which is not very good proof at all. Just because something is popular doesn't mean it's the better alternative, especially a product name like Game Maker having such good search relevance.

Take for instance the GUI functions I've wanted to add since I got here, something like the following...
Code: (cpp) [Select]
int gui_label_create();
void gui_label_destroy(int id);
void gui_label_set_text(int id, string text);
void gui_label_set_position(int id, gs_scalar x, gs_scalar y);
void gui_label_set_font(int id, int font);

int gui_button_create();
void gui_button_destroy(int id);
void gui_button_set_text(int id, string text);
void gui_button_set_position(int id, gs_scalar x, gs_scalar y);
void gui_button_set_font(int id, int font);
int gui_button_get_state(int id);
These functions when I do get to add them will effectively resolve some of the issues about dynamic drawing. Every game engine has an interface similar to this for GUI controls. I am not talking about widgets like you see in a GUI framework, just hardware accelerated GUI controls, there is a distinct difference between the two, that distinction is mainly software vs hardware.

I really really feel you are being biased here Harri.

Off-Topic / Re: Aliens are living amongst us
« on: January 10, 2014, 09:15:26 am »

Works in Progress / Re: Project Mario
« on: January 10, 2014, 04:32:13 am »
I have now fixed the random crash in the ENIGMA version, the issue was my code causing an out of bounds on a data structure list. The ENIGMA version now works exactly the same as the GM version without crashing, better performance and much less memory usage. You can redownload from the link in the original post.

I recently got the chance to play your game when investigating the icon size issue with LGM. Here are a few of my suggestions and things to mention.

* The controls are a tad unorthodox and confusing at first.
* The game performed quite well.
* I was kind of confused when I was at a menu and when I was not, kind of related to the controls issue, it took me a bit to figure out how to start. Though this isn't necessarily bad because at the start menu you wanted the player to walk to the right into story mode, which works similar to Super Mario Sunshine's main menu.
* The story is rather confusing to me, some background on the plot at the start area would be good!

Over all the presentation is good, and I generally don't like platformers and most 2D games, but never the less good game!

Issues Help Desk / Re: GMX Reader
« on: January 09, 2014, 11:21:07 pm »
I have resolved the issue, it appears to be your game icon, when I replaced it under Configs/Default/windows/runner_icon.ico with the following icon from a default project, the GMX reader loads the project just fine.

I don't believe 512x512 is a standard icon file size, because I loaded it into paint.NET and reexported with all size layers (maximum is 256x256 PNG layer) and LGM loaded it fine. Here is the file if you want to do it yourself to get it to load.

Windows Vista only added 256x256.
Because of general lack of support for these icon sizes, I have filed a feature request for you on LGM's tracker.

I also went to find ico files that are 512x512 and failed to do so. I looked for instance at iconarchive and found a 512x512 PNG icon, but when I downloaded the ico format version, the max size was 256x256.

So I am curious, how did you manage to create a 512x512 icon file?

No problem, but also usually people use it as a prefix not a postfix, but of course do however you like :P

General ENIGMA / Re: LateralGM endorsed to Robert B Colton
« on: January 07, 2014, 11:39:38 pm »
Ism, it would make me feel greatly relieved actually to resolve some of the bug reports. Would you be able to help to me work out what changes to make in order to code the shader editor code complete window? It is fine if you can not respond as frequently as I am kind of chilling out waiting for Josh to finish his compiler, but just so long as you can answer a few questions I would be able to resolve that issue, and it would help be a lot less stressed out.

Issues Help Desk / Re: GMX Reader
« on: January 07, 2014, 11:29:41 pm »
No that is what I am supposed to do, that is exactly what the GMK reader/writer does. However as I said it simply is impossible with Studio's GMX format, there is no way for me to do it. I know you didn't mean that, but I was simply stating for the record that if it was possible I would make it compatible with all GMX versions, but I can only make it compatible with the newest GMX version due to it not being versioned. I haven't thought of it as a very big issue anyway, since YYG's don't even seem to give a shit, and they will likely run into the same issues, so like I said I will just continue to do what they do and make it always compatible with the latest version of Studio.

At any rate, I built the latest version of LateralGM from my local fork in Eclipse and it loaded your project fine.

The directory structures appeared correct and everything, it loaded in 11,270 milliseconds, and there was a warning as you can see in the debug output that one of your images has null data or rather 0 width and height, basically you have an empty sprite in that project.

What exactly was the issue you were having?

Lol you already figured out the issue, but yes we started moving all our code into namespaces in C++, this avoids variable name conflicts. Basically the engine has a variable named "Solid" somewhere that is conflicting with you naming a resource "Solid" since when you name a resource it actually just ends up as a global variable which can not conflict with other variable names in our engine. This is why we keep all the GML functions in enigma_user and our engine stuff in namespace enigma, at any rate it simply needs found and added to the appropriate namespace wherever that "Solid" variable is.

Edit: Upon further investigation, it appears that you either had two resources by the name "Solid" or a resource named that and then a variable named that. Which would also result in a conflict, but I am able to use "Solid" as a name for a resource and as a variable, just not both at the same time. This is actually kind of nothing we can do about it, but this was the only way I could reproduce it. It is also a good idea to prefix sprites spr_ and objects obj_ to avoid resource and variable name conflicts.

Issues Help Desk / Re: GMX Reader
« on: January 07, 2014, 09:50:19 pm »
Yes as I said that is not my fault at all that they don't put the version number in the actual project file. So when you go to load a GMX, you have no idea what version you are loading, which is necessary because future GMX projects are likely to break older ones. So I can not make different versions of the GMX readers and writers I just have to constantly keep them up to date like they do, and I guess your pretty screwed if your project won't open, except of course you have me who can help you fix any anomalies in a GMX (if I can find them).