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.
1
Issues Help Desk / Re: Extension .egm does not match EGM?
« on: February 20, 2015, 08:19:02 pm »Actually XML parsing with things like RapidXML takes almost the same amount of cycles as strlen. I believe current YAML implementations take more.I read that too. Parsing XML is easy. Meanwhile, YAML has so many rules that need to be checked. I like TOML best, but it's more for config files than project files.
2
Announcements / Re: Google Summer of Code
« on: February 18, 2015, 07:37:25 pm »
As the final date for GSoC organizations to apply is approaching, I should say that we decided not to participate in GSoC this year. It was difficult to set up the current ideas list, which is the sign to us that it is not time. Josh hopes that we can participate next year, when ENIGMA advances more and hopefully, we have a new IDE. I hope that Josh finishes his current 5 projects that are unrelated to ENIGMA by next year and finally fixes everything. :3
DaSpirit there is no harm in putting it on GitHub. I wasn't even aware that anyone was still working on IDE projects any more.Yeah, will do soon. I recently got swapped with school work, so might do at the end of next week. I hope you guys want to participate. I have so many warnings from everything that I didn't implement yet because I didn't deem it to be too important at the moment that are wrecking my OCD. :p
3
Off-Topic / Re: what if Atari bought GM instead?
« on: February 18, 2015, 10:20:58 am »
GM will now have more funding. Its development could possibly be accelerated and ENIGMA will fall even more behind that will finally push ENIGMA to branch off away from GM into its own direction. GM will possibly begin to head towards a different direction originally planned, into the direction that PlayTech wants which is the casual gaming industry.
4
General ENIGMA / Re: First Impressions Of ENIGMA
« on: February 15, 2015, 05:58:58 pm »so much has been fixed, unfortunately some things broke in the process, I guess that is to be expected with an open source project run by contributors, sometimes certain things get broken and the person who worked on something that broke something else has no more time to fix it etc.....When ENIGMA gets a build bot, this will not be an issue anymore. A good build bot will do unit and integration tests for each commit and be able to build the .zip files automatically. In fact, most open source projects already use Travis CI.
5
Announcements / Re: We SSL now
« on: February 11, 2015, 10:05:18 pm »I will also be, at some point in the next century, setting up a build bot here. If at any point this becomes "too much load" for our VPS, we will be moving to a dedicated server.Haha finally. ENIGMA's future is looking bright.
6
Announcements / Re: Google Summer of Code
« on: February 10, 2015, 10:28:36 am »
That IDE would probably be mine. Josh has been talking about Natural GM for quite a while. When I originally started making it, I've been constantly asking him for his opinion on my design.
So where am I now? Well, I restarted it on January, mostly because I was changing it entirely - the biggest change being the introduction of automatic memory management for plugins. Plugins will automatically clear their memory when they are unloaded and the IDE itself will have no problem when their memory is destroyed because the IDE stores memory as weak references (except for the systems where the plugin manager is closely tied to, where I can delete the memory easily). I have most of it figured out, and was hoping to work on it during Google Summer of Code. Plugin loading is currently functional (with the exception of the dependency system) and plugins will be able to create menu/toolbar items soon. Afterwords, I will be working on the project tree and editor API (which I will simply be cutting out from my old NGM version).
I am very pleased to hear that people want an IDE. My main repository is currently private on BitBucket, but I can put it on Github if people are willing on contributing to it. Robert has contributed it a few times already actually and I have a list of small tasks that he's been implementing. So yeah, are people willing to contribute by implementing small tasks while I work on the API?
So where am I now? Well, I restarted it on January, mostly because I was changing it entirely - the biggest change being the introduction of automatic memory management for plugins. Plugins will automatically clear their memory when they are unloaded and the IDE itself will have no problem when their memory is destroyed because the IDE stores memory as weak references (except for the systems where the plugin manager is closely tied to, where I can delete the memory easily). I have most of it figured out, and was hoping to work on it during Google Summer of Code. Plugin loading is currently functional (with the exception of the dependency system) and plugins will be able to create menu/toolbar items soon. Afterwords, I will be working on the project tree and editor API (which I will simply be cutting out from my old NGM version).
I am very pleased to hear that people want an IDE. My main repository is currently private on BitBucket, but I can put it on Github if people are willing on contributing to it. Robert has contributed it a few times already actually and I have a list of small tasks that he's been implementing. So yeah, are people willing to contribute by implementing small tasks while I work on the API?
7
General ENIGMA / Re: Will execute_string() be implemented?
« on: February 09, 2015, 09:09:37 am »
Maybe we can get it as a task on Google Summer of Code 2015 if ENIGMA gets accepted this year.
8
Announcements / Re: Google Summer of Code
« on: February 07, 2015, 03:46:41 pm »
Tasks such as "fix this" or "add these few functions" are not good tasks. We need to think of large tasks that would take three months to finish for someone who is completely new to intermediate to the topic.
9
Programming Help / Re: Embedding Enigma into GUI
« on: November 26, 2014, 08:56:11 am »
I can say that combining ENIGMA and Qt would not be easy. However, I recommend you don't do this right now, because the OpenGL classes in Qt are on their way to being deprecated. A viable alternative is going to appear in Qt 5.4, which is currently in beta.
Now, the reason it would not be easy is because of the way Qt makes you call OpenGL functions. In Qt, you cannot call any OpenGL function globally. The OpenGL functions are provided in a class instance (they chose this design because they automate switching the context themselves). You'd have to work around that. However, I'm not sure if there are any other easier ways. I'm not familiar with the new classes they're introducing.
Now, the reason it would not be easy is because of the way Qt makes you call OpenGL functions. In Qt, you cannot call any OpenGL function globally. The OpenGL functions are provided in a class instance (they chose this design because they automate switching the context themselves). You'd have to work around that. However, I'm not sure if there are any other easier ways. I'm not familiar with the new classes they're introducing.
10
Developing ENIGMA / Re: Switch to C++11?
« on: October 27, 2014, 02:47:52 pm »
What about C++14? :p
Anyway, I fully agree. What's the point of maintaining C++0x compatibility? I don't think there is any, or at least right now.
Anyway, I fully agree. What's the point of maintaining C++0x compatibility? I don't think there is any, or at least right now.
11
Off-Topic / Re: Tips for making an IDE?
« on: October 24, 2014, 01:34:21 pm »
I don't know about LGM, but I'll share my notes here. My API resolves around plugins being able to inherit from five classes. I mention "SerialData" often, which is an abstract data type. Think of XML, when you think of this, but in memory. It consists of a node that may or may not store children child and may or may not contain its own data. The idea is that you convert data formats into this one unified format (so you convert XML, JSON, YAML, or even GMK into SerialData) and then you can convert any SerialData back (so you can switch file formats - the file format won't even matter internally).
Here are my current notes (I think it may be complete, but I haven't put anything into practice yet):
Feel free to use any of my ideas. If you do use it, you don't have to give credit. A lot of these ideas were suggested by Josh (the ENIGMA project leader).
The biggest part of writing an API is deciding everything you need, and how much you want to give users access to (and also what you don't want to give users access to).
Here are my current notes (I think it may be complete, but I haven't put anything into practice yet):
Code: [Select]
Natural Game Maker (NGM)
=========================
API Design
----------
NGM is built up on plugins. Plugins may add Editors, Compilers, Projects
(Serializers) and Actions.
Plugins
- External manifest (useful to know which plugin failed, if one fails).
- Has a load order (for dependencies).
- Dependencies can be optional.
- You can't unload a plugin that has dependencies active.
- Plugins don't know about plugins they don't depend on.
- Plugins may store callbacks.
- May connect to application callbacks (e.g. random new project opened).
Projects load resources.
- It turns these resources into SerialData.
- SerialData is used to pass other parameters around.
- There can be multiple projects of the same project category.
- These serializers are stored in whatever resource they create (for safe
modification).
- A project can contain a group of resources or a standalone resource (e,g,
text file).
- Importing and export of projects is also done by serializers.
- You can import/export file types with a regular save for standalone project
resources.
- Projects may also optional set compiler configurations.
- Other plugins may connect to project callbacks.
- Plugins can only acccess mutable project SerialData if they have the project's plugin as a dependency.
Compilers compile resources.
- Compiler configurations are added to resources.
- Configuration settings are done via SerialData.
- Compilers are mapped to project categories (even sub-categories).
- Sub-category groupings allow the compiler to work for a range of projects.
- When running in debug mode, the compiler should have the project structure.
- It can open editors for resources.
- It should be able to add callbacks to the editor (e.g. show crash
location).
- It should also be able to add editor callbacks into itself (e.g. step
over).
Editors edit resources.
- Editors create GUI elements from the resource SerialData.
- Editors may store callbacks.
- Requirement for compilers.
- Has to connect to the actions on its current context (e.g. window tool bar).
- Can have cloned editors (multiple editors for single resource).
Actions for misc. functionality.
- Executes a function.
- Can access everything from whatever the plugin uses.
- Can be stored in a standard location (e.g. file, in the menu bar).
Copyright (c) 2014 Daniel HrabovcakFeel free to use any of my ideas. If you do use it, you don't have to give credit. A lot of these ideas were suggested by Josh (the ENIGMA project leader).
The biggest part of writing an API is deciding everything you need, and how much you want to give users access to (and also what you don't want to give users access to).
12
Off-Topic / Re: Tips for making an IDE?
« on: October 24, 2014, 09:31:49 am »I like to run things by learning from the mistakes/failures/shortcomings of others. Game Maker doesn't work on Linux? I'll make mine work on Linux. G-Java evaporated from massive feature creep? I'll avoid features and focus on core functionality. This methodology reflects in all of my projects.This is one thing I agree with. Having failed to make an IDE (and thinking about getting back on the horse every once in a while), I know that you really have to plan everything out.
I've been planning a lot myself recently (but not features, only the core). You have to think about how you want everything to connect to each other. What I mean, is that if your IDE can't do something else that another IDE can do, then it has a flaw. If you make your core API correctly, then you can add anything new with it.
Josh has injected the idea of plugins into me. If you make a plugin API and do it correctly, then you're technically done with the IDE, because everything else can be a plugin, separate from the actual IDE. Your IDE just tells everything how to interact with each other. If you were to figure out parts of your API later, you may have to rewrite large portions of your code to get the results you want, wasting a lot of your time.
13
General ENIGMA / Re: What happened to "wxEnigma"?
« on: October 19, 2014, 11:01:04 am »Can you implement that feature into the next version of Enigma? If it's a lot of work, don't bother, lol.ENIGMA is the compiler/engine. It is independent of an IDE.
That said, many IDEs may be able to work with ENIGMA. A user named Jobo on the GMC announced that he is working on a new IDE for GM. Besides this one, I don't believe there are any other ones being actively developed. As Jobo promises a plugin system, anybody can make an ENIGMA plugin.
14
Off-Topic / Re: DX12 Is it all hype or is this the holy grail of DX!
« on: October 13, 2014, 07:25:40 pm »DX12 is just doing the same thing AMD's Mantle API is doing.OpenGL "Next Generation" is in the works as well. They're planning on deprecating all old OpenGL versions and starting anew in favor of an API more like Mantle.
http://www.amd.com/en-us/innovations/software-technologies/technologies-gaming/mantle
I think it's overhyped.
15
Off-Topic / Re: Windows 10
« on: October 01, 2014, 03:58:37 pm »Haha, that's funny DaSpirit, I honestly think they should have gone with "Windows One"Yes, unfortunately it is starting to look Gnome-esque. Hopefully this kind of title-bar is limited to Metro apps only.
Does anybody else think the titlebar icons are starting to look a lot like Gnome?
I personally like flat themes, but Windows is starting to look too flat. I think the new start menu looks horrendous.