Pages: 1 2
Author Topic: GameDev Studio V0.0.3  (99,220 Views)
Offline (Unknown gender) Brett

Member
Joined: Aug 2010
Posts: 25
View profile
Posted on: February 18, 2012, 07:37:03 PM
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
Offline (Unknown gender) TheExDeus

Developer
Joined: Apr 2008
Posts: 1,860
View profile
Reply #1 Posted on: February 19, 2012, 12:24:39 AM
If you achieved that in 9 months then you should totally help Josh. This project could of been finished about 2 years ago, but we are not in a hurry.. apparently.

Download page link doesn't work though.
Offline (Unknown gender) Brett

Member
Joined: Aug 2010
Posts: 25
View profile
Reply #2 Posted on: February 19, 2012, 12:45:09 AM
QuoteDownload 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?

QuoteThis 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;
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #3 Posted on: February 19, 2012, 01:47:03 AM
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?
Offline (Unknown gender) Brett

Member
Joined: Aug 2010
Posts: 25
View profile
Reply #4 Posted on: February 19, 2012, 02:19:21 AM
QuoteIt'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.


QuoteI 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.

Quoteif 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++.
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #5 Posted on: February 19, 2012, 12:45:33 PM
Does that mean it lacks a quick syntax check?
Offline (Unknown gender) Brett

Member
Joined: Aug 2010
Posts: 25
View profile
Reply #6 Posted on: February 19, 2012, 04:29:44 PM
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.
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #7 Posted on: February 19, 2012, 05:15:54 PM
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?
Offline (Unknown gender) luiscubal

Member
Joined: Jun 2009
Posts: 452
View profile
Reply #8 Posted on: February 19, 2012, 05:58:22 PM
It looks pretty much 100% C++, with only the function names being GML. That by itself would avoid lots of the problems ENIGMA has(albeit at the cost of GM compatibility, which I no longer care about these days)
Offline (Unknown gender) TheExDeus

Developer
Joined: Apr 2008
Posts: 1,860
View profile
Reply #9 Posted on: February 19, 2012, 08:36:15 PM
QuoteInteresting. 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.

QuoteI 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:
Quote
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.
Offline (Unknown gender) Brett

Member
Joined: Aug 2010
Posts: 25
View profile
Reply #10 Posted on: February 20, 2012, 12:22:16 AM
QuoteIt 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.

QuoteC:\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.

Quoteyou 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.

QuoteLike 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.

Quotejust that you might help now.
I could consider it


QuoteI 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
Post made February 20, 2012, 09:14:44 AM was deleted at the author's request.
Offline (Unknown gender) ugriffin

Member
Joined: Dec 2010
Posts: 23
View profile WWW
Reply #12 Posted on: February 23, 2012, 08:18:28 AM
QuoteMac(?-does anybody actually develop on a Mac)
I develop on a Mac. :P 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.
Offline (Unknown gender) Brett

Member
Joined: Aug 2010
Posts: 25
View profile
Reply #13 Posted on: March 18, 2012, 05:02:17 AM
Update. This should fix the linker errors that its been complaining about when you compile an example. Added a few other things.
Offline (Unknown gender) polygone

Contributor
Joined: Mar 2009
Posts: 794
View profile
Reply #14 Posted on: March 23, 2012, 07:33:07 PM
This forum seems to attract people posting alternative programs  :-X
Pages: 1 2