Pages: 1 2 »
  Print  
Author Topic: GameDev Studio V0.0.3  (Read 19630 times)
Offline (Male) Brett
Posted on: February 18, 2012, 02:37:03 pm

Member
Location: Canada!
Joined: Aug 2010
Posts: 25

View Profile Email
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
Offline (Unknown gender) TheExDeus
Reply #1 Posted on: February 18, 2012, 07:24:39 pm

Developer
Joined: Apr 2008
Posts: 1860

View Profile
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.
Logged
Offline (Male) Brett
Reply #2 Posted on: February 18, 2012, 07:45:09 pm

Member
Location: Canada!
Joined: Aug 2010
Posts: 25

View Profile Email
Quote
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?

Quote
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
Offline (Male) Josh @ Dreamland
Reply #3 Posted on: February 18, 2012, 08:47:03 pm

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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
Offline (Male) Brett
Reply #4 Posted on: February 18, 2012, 09:19:21 pm

Member
Location: Canada!
Joined: Aug 2010
Posts: 25

View Profile Email
Quote
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.


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

Quote
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
Offline (Male) Josh @ Dreamland
Reply #5 Posted on: February 19, 2012, 07:45:33 am

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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
Offline (Male) Brett
Reply #6 Posted on: February 19, 2012, 11:29:44 am

Member
Location: Canada!
Joined: Aug 2010
Posts: 25

View Profile Email
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
Offline (Male) Josh @ Dreamland
Reply #7 Posted on: February 19, 2012, 12:15:54 pm

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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
Offline (Unknown gender) luiscubal
Reply #8 Posted on: February 19, 2012, 12:58:22 pm
Member
Joined: Jun 2009
Posts: 452

View Profile Email
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)
Logged
Offline (Unknown gender) TheExDeus
Reply #9 Posted on: February 19, 2012, 03:36:15 pm

Developer
Joined: Apr 2008
Posts: 1860

View Profile
Quote
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.

Quote
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:
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.
« Last Edit: February 19, 2012, 05:22:52 pm by HaRRiKiRi » Logged
Offline (Male) Brett
Reply #10 Posted on: February 19, 2012, 07:22:16 pm

Member
Location: Canada!
Joined: Aug 2010
Posts: 25

View Profile Email
Quote
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.

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'
[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.

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

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

Quote
just that you might help now.
I could consider it


Quote
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)
Code: [Select]
            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.
Offline (Male) ugriffin
Reply #12 Posted on: February 23, 2012, 03:18:28 am

Member
Location: London, United Kingdom
Joined: Dec 2010
Posts: 23

View Profile WWW Email
Quote
Mac(?-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.
« Last Edit: February 24, 2012, 05:47:41 am by ugriffin » Logged
Offline (Male) Brett
Reply #13 Posted on: March 18, 2012, 12:02:17 am

Member
Location: Canada!
Joined: Aug 2010
Posts: 25

View Profile Email
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
Offline (Male) polygone
Reply #14 Posted on: March 23, 2012, 02:33:07 pm

Contributor
Location: England
Joined: Mar 2009
Posts: 794

View Profile
This forum seems to attract people posting alternative programs  :-X
Logged
I honestly don't know wtf I'm talking about but hopefully I can muddle my way through.
Pages: 1 2 »
  Print