Brett
|
|
Posted on: February 18, 2012, 02:37:03 pm |
|
|
Location: Canada! Joined: Aug 2010
Posts: 25
|
This is a project that I have been working on for the past nine or so months. It currently only runs on windows, however Linux and Mac(?-does anybody actually develop on a Mac) support are coming in the future. I also plan on IPhone and Android support. To sum it up, it is like ENIGMA - An alternative to gamemaker - with an open source engine, and it is completely free. It uses Irrlicht for the graphics, and I created the IDE to closely mimic gamemakers. http://gamedevstudio.yolasite.com/Cheers ~~Brett14; UPDATE (March 17th, 2012): -Bug fixes (you should no longer get the linker error while compiling). -Support for sprites, animated images. -Few other things UPDATE (March 13th, 2012): -Now supports shaders (pixel and vertex) -Bug fixes (Some Major) -Find Supported resolutions -A Bunch of Other stuff
|
|
« Last Edit: March 18, 2012, 12:00:33 am by Brett »
|
Logged
|
GML Programmer Since 2005, C++ Programmer Since 2009
|
|
|
|
Brett
|
|
Reply #2 Posted on: February 18, 2012, 07:45:09 pm |
|
|
Location: Canada! Joined: Aug 2010
Posts: 25
|
Download page link doesn't work though. Interesting. I'll have to check that out, others downloaded it fine earlier. Do you have a suggestion for a file host? This project could of been finished about 2 years ago, but we are not in a hurry.. apparently. I didn't know how to use C++ very well until about a year ago, so your statement is void. ~~Brett14;
|
|
« Last Edit: February 18, 2012, 08:08:41 pm by Brett »
|
Logged
|
GML Programmer Since 2005, C++ Programmer Since 2009
|
|
|
Josh @ Dreamland
|
|
Reply #3 Posted on: February 18, 2012, 08:47:03 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
It's interesting how you have an image editor, but that seems to have come at the price of being cross-platform. If we're lucky, LGM will have one of those before the world ends.
I notice you kept many, but not all of the functions; if your syntax and everything is so similar, why not keep the whole library?
|
|
« Last Edit: February 18, 2012, 09:05:59 pm by Josh @ Dreamland »
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Brett
|
|
Reply #4 Posted on: February 18, 2012, 09:19:21 pm |
|
|
Location: Canada! Joined: Aug 2010
Posts: 25
|
It's interesting how you have an image editor, but that seems to have come at the price of being cross-platform. If we're lucky, LGM will have one of those before the world ends. Yes it would be nice for LGM to get one. The IDE will be cross platform, I could make it so in probably a week if I buckled down. I just developed it on windows because I was trying to replicate gamemaker and it was just easier being able to play around with it while making the IDE. It is designed fully in C++ with wxwidgets for the IDE. If I needed something faster (hardware accelerated) I used SFML. Every library I used works with windows, Linux and Mac. I notice you kept many, but not all of the functions; [....] why not keep the whole library? The engine is a WIP. I am in the middle of adding more GML functions, I just rushed this version to release. The engine is open source, so anybody can edit, add or optimize it. if your syntax and everything is so similar You code in pure C++, there is no parsing of anything. I just attempted to make C++ as GML like as possible to make a shallow learning curve, while still using code that is valid C++.
|
|
|
Logged
|
GML Programmer Since 2005, C++ Programmer Since 2009
|
|
|
Josh @ Dreamland
|
|
Reply #5 Posted on: February 19, 2012, 07:45:33 am |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
Does that mean it lacks a quick syntax check?
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Brett
|
|
Reply #6 Posted on: February 19, 2012, 11:29:44 am |
|
|
Location: Canada! Joined: Aug 2010
Posts: 25
|
Sort of. It will not show errors in your code until you click "compile". I used regular expressions to extract the function names from the header files, and I store them in a string. I used the open source scintilla text editor for all the scripting, so when you type in a function it will appear blue. If there is an error it will not be highlighted like everything else.
|
|
|
Logged
|
GML Programmer Since 2005, C++ Programmer Since 2009
|
|
|
Josh @ Dreamland
|
|
Reply #7 Posted on: February 19, 2012, 12:15:54 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
If you use regular expressions, you will miss math definitions like sin(), which are declared using a macro. I assume you report errors by regexing compiler output after a #line directive?
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
TheExDeus
|
|
Reply #9 Posted on: February 19, 2012, 03:36:15 pm |
|
|
Joined: Apr 2008
Posts: 1860
|
Interesting. I'll have to check that out, others downloaded it fine earlier. Do you have a suggestion for a file host? Yeah, sorry the top download page link works fine. I clicked the one which is under the feature list. It seems you have fixed that too now. I didn't know how to use C++ very well until about a year ago, so your statement is void. Well, I didn't mean you had to help then, just that you might help now. edit: I can't seem to compile: C:\Users\Daedalus\Desktop\GDS V0.0.1\GDS V0.0.1>C:\MinGW\bin\g++.exe Internal\Te mp\tmp\Bin\source.cpp -pipe -DNDEBUG -O -s -o Internal\Temp\tmp\App.exe -mwindow s -LCompiler\libs -lirrlicht.dll -lcAudio.dll -lgds_engine -lEvt_Handler Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x409 ): undefined reference to `__gxx_personality_sj0' Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x42b ): undefined reference to `_Unwind_SjLj_Register' Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x461 ): undefined reference to `_Unwind_SjLj_Unregister' Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x482 ): undefined reference to `_Unwind_SjLj_Resume' Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x491 ): undefined reference to `__gxx_personality_sj0' Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x4b3 ): undefined reference to `_Unwind_SjLj_Register' Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x537 ): undefined reference to `_Unwind_SjLj_Unregister' Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x558 ): undefined reference to `_Unwind_SjLj_Resume' collect2: ld returned 1 exit status
C:\Users\Daedalus\Desktop\GDS V0.0.1\GDS V0.0.1>cd Internal\Temp\tmp
C:\Users\Daedalus\Desktop\GDS V0.0.1\GDS V0.0.1\Internal\temp\tmp>App.exe 'App.exe' is not recognized as an internal or external command, operable program or batch file.
C:\Users\Daedalus\Desktop\GDS V0.0.1\GDS V0.0.1\Internal\temp\tmp>pause Press any key to continue . . . Like the GUI though.
|
|
« Last Edit: February 19, 2012, 05:22:52 pm by HaRRiKiRi »
|
Logged
|
|
|
|
Brett
|
|
Reply #10 Posted on: February 19, 2012, 07:22:16 pm |
|
|
Location: Canada! Joined: Aug 2010
Posts: 25
|
It looks pretty much 100% C++, with only the function names being GML That is exactly what it is, except many of the functions have different arguments. Since I use Irrlicht for graphics, I plan on implementing them soon. This release was rushed. C:\Users\Daedalus\Desktop\GDS V0.0.1\GDS V0.0.1>C:\MinGW\bin\g++.exe Internal\Te mp\tmp\Bin\source.cpp -pipe -DNDEBUG -O -s -o Internal\Temp\tmp\App.exe -mwindow s -LCompiler\libs -lirrlicht.dll -lcAudio.dll -lgds_engine -lEvt_Handler Compiler\libs/libEvt_Handler.a(red_evthandler.o):red_evthandler.cpp:(.text+0x409 ): undefined reference to `__gxx_personality_sj0' [MORE ERRORS...] Those look like linker errors. Try recompiling the engine. Navigate to "Compiler\Evt_Handler" and open the codeblocks project. Compile it. Then navigate to "Compiler\Gds\gds_engine" and open the codeblocks project. Compile it. Open the IDE and try compiling one of the examples. If you still have problems, contact me. you will miss math definitions like sin(), which are declared using a macro. Currently, yes they are missed. This will be fixed in the future. This was not a pressing issue. Like the GUI though. Thanks. Not the prettiest thing around, but it works (for the most part). If you wish to change any of the icons, navigate to "Internal\Images" and they are all in there. Make sure they stay the same dimensions that they already are. just that you might help now. I could consider it I assume you report errors by regexing compiler output after a #line directive? No. All I do is open a console, tell MinGW to compile the source code, and output it to a static location. This is done through a windows batch script (similar thing would be done on the Linux port). If there are any errors, MinGW will output them directly to the console. Once the console is closed, the IDE re-opens. This is the code I'm using to compile, report errors and run the application. The source code is generated before this is called (mashes all the code the user typed in objects etc. into a compilable c++ file) std::ofstream ofs("Internal\\compile.bat"); ofs << compilerpath.c_str() << " "; ofs << "Internal\\Temp\\tmp\\Bin\\source.cpp" << " -pipe -DNDEBUG";
switch(optimization_level){ case(OP_NONE): break;//Do nothing case(OP_LOWEST): ofs << " -O"; break; case(OP_BASIC): ofs << " -O1"; break; case(OP_NORMAL): ofs << " -O2"; break; case(OP_ADVANCED): ofs << " -O3"; break; case(OP_SIZE): ofs << " -Os"; break; } if(op_stripbinary){ ofs << " -s"; }
ofs << " -o Internal\\Temp\\tmp\\App.exe"; ofs << " -mwindows -LCompiler\\libs -lirrlicht.dll -lcAudio.dll -lgds_engine -lEvt_Handler"; ofs << "\n\n\n";//End compile output to .bat file ofs << "cd Internal\\Temp\\tmp\n"; ofs << "App.exe\n"; ofs << "pause"; ofs.close(); Show(false);//Hide IDE while compiling system("Internal\\compile.bat");//compile+run app
|
|
« Last Edit: February 19, 2012, 07:37:44 pm by Brett »
|
Logged
|
GML Programmer Since 2005, C++ Programmer Since 2009
|
|
|
Post made February 20, 2012, 04:14:44 am was deleted at the author's request.
|
ugriffin
|
|
Reply #12 Posted on: February 23, 2012, 03:18:28 am |
|
|
Location: London, United Kingdom Joined: Dec 2010
Posts: 23
|
Mac(?-does anybody actually develop on a Mac) I develop on a Mac. In fact, I've been working on an IDE written in Cocoa myself, a bit like a sister project to LGM (Java on OS X *sucks*). Once you get the UNIX ports working (Mac and Linux), I'm going to take your engine for a stroll. This is exactly what I've been looking for in game development terms (Game Maker inspired development, but with proper OO code instead of GML). EDIT: Tested on my Windows box. Not sure if it's my 64-bit Windows 7 or what, but it's buggy to the point of unusability. It can't find the G++ options thing, and it can't open the examples, complaining that there's missing files.
|
|
« Last Edit: February 24, 2012, 05:47:41 am by ugriffin »
|
Logged
|
|
|
|
Brett
|
|
Reply #13 Posted on: March 18, 2012, 12:02:17 am |
|
|
Location: Canada! Joined: Aug 2010
Posts: 25
|
Update. This should fix the linker errors that its been complaining about when you compile an example. Added a few other things.
|
|
|
Logged
|
GML Programmer Since 2005, C++ Programmer Since 2009
|
|
|
polygone
|
|
Reply #14 Posted on: March 23, 2012, 02:33:07 pm |
|
|
Location: England Joined: Mar 2009
Posts: 794
|
This forum seems to attract people posting alternative programs
|
|
|
Logged
|
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
|
|
|
|