GameDev Studio V0.0.3

Posted by brett14 on March 13, 2012, 11:55 p.m.

Gamemaker is a really cool application, but runs on a closed source engine, and is not the fastest thing around. That got me thinking, why not make my own gamemaker? That's exactly what I went ahead and did, and almost a year later I have GameDev Studio.

Website link: http://gamedevstudio.yolasite.com/ - Please report whether or not you can get any of the examples to compile and run. If you encounter problems compiling, firstly make sure you have MinGW installed (correctly), and the path to g++ is correct. If more errors are encountered, REPORT THEM!

GameDev Studio has an IDE very similar to gamemakers, built fully with C++. It runs off an open source engine, also made with C++. It is completely free to use, please go and check it out! (Currently Windows only. Linux/Mac is coming soon). It probably contain bugs, please report any that you encounter. For future reference I abreviate it as GDS.

IDE Features:

-An Image Viewer/Basic Editor (WIP)

-Font Loader (similar to gamemakers)

-Script Editor (syntax highlighting)

-Shader Editor (through HLSL on windows, GLSL on other OS's)

-Object Editor (Event based, very similar to gamemakers)

-Room Editor

-Global Variables

-Sprite Editor (Animated Images)

-Bunch of other stuff

Engine Features:

-Collisions

-Fast Hardware Accelerated Graphics, powered through the open source engine: Irrlicht.

-Particle Systems

-Surfaces

-Pixel and Vertex Shaders

-Completely open source

-A whole bunch of other things

I've been working on this project for just under a year, and it has been an adventure :P . I've learned lots, and plan to keep on working on it. Comments/Suggestions/Bug Reports? Please note, that I was rushed to get it released because I wanted to get it online, so it is missing features/functions that you may expect it to contain, and many parts of it are not implemented yet but are there (ie: 3D rooms).

Comments

colseed 13 years, 10 months ago

Looks interesting, I shall have to try it

(probably won't get to it till later in the week though)

Alert Games 13 years, 10 months ago

Honestly I was skeptical when you posted this, but when I checked it out I was plesantly surprised.

The program itself is missing a ton of features that GM has created over the years.

However, this has features that GM has been MISSING since it started! I like where this is going, and if yoyogames wants to keep up they should take a lesson from this.

I really like the pre and post game logic and global variables addition, and the way the object interface is set up. This is what GM should be turning into for GM9. Advanced mode should get rid of drag and drop entirely.

Keep up the good work!

brett14 13 years, 10 months ago

@sir Xemic

There is some very good feedback in there. I appreciate it a lot. This is still an early WIP and was a rushed release (less than 1 year development by a single developer). I like people telling me what they are upset with, so I know what to change or fix. Anyways…

Quote:
the way you'd code everything is the same, except this time you need to be explicit about variable types (thank god :)
Everything is C++ code. Whether it looks like it or not… Everything was rushed. There will be huge upgrades coming.

Quote:
why are object types pointers? It doesn't make sense.
Instead of using id's I used pointers for a lot of the functions. I was going to implement things as ID's (hence the OID) but decided to use pointers because they would work better and faster. Have not fully removed oid's as you see them used in some functions.

You have a good point with vector/structure support. I was trying to copy gamemaker's layout, but I guess I could make functions that allow you to pass structures as arguments as well. The engine is open source, so you can make it look like whatever you want it to.

Quote:
What happened to C++'s new and delete operators? I can see you did this because you wanted to mimick GM, but it would have been so much better if you stepped away from GM's conventions and enforce 'real' C++ stuff onto the user.
That is not actually why I did not use the new and delete operators. You can use them if you want, nothing is stopping you. I used instance create, because there are several data structures that store pointers to all the objects (for example: the main logic loop). I have to iterate over the structure every frame and perform all the objects events, if they were created with new and delete, they would not be present in the data structure. Also, if objects are not deleted that were created with instance_create, they will be cleaned up at the end of the game. If you create it with "new" and forget "delete" you just created a memory leak. There are other reasons as well (switching rooms, etc.).

Quote:
YOU SHOULD WANT VERSION CONTROL :)
It is on the way. It was just easier for me (at the moment) to store everything in one file. The engine will eventually be hosted on something like github as well.

Quote:
I probably shouldn't be commenting on the GUI since this is only v0.0.2, but that needs works as well, but I am sure you know that yourself as well. The icons are crappy and using buttons where drop-down boxes make more sense is just weird.
I am not an artist. I encourage somebody to make me better graphics. I just put a few crappy images that I made into the IDE. It was easier for me to implement buttons with pop-ups than drop down boxes.

As for collision checking, yes that is temporary. The name is open to change, however I can't think of anything creative.

@CyrusRoberto

Quote:
Any precompiled samples you can upload? :/
Done. Made in 15 minutes (example 9): http://www.host-a.net/u/brett14/Gds%20Example%20TDS.zip

I am rather confused as to why it will not compile for you. It does not even output any errors, it just won't compile. Can you compile other projects? If so, try to recompile the entire engine, that has to be done if you are using a different version of MinGW than what I used.

@firestormx

Quote:
I could give you a subdomain on 64D for free if you wanted
The site I have for now is fine. If my program becomes more popular I'll upgrade to something better. Thanks for the offer, it is really appreciated.

firestormx 13 years, 10 months ago

Quote:
The site I have for now is fine. If my program becomes more popular I'll upgrade to something better. Thanks for the offer, it is really appreciated.
Fair 'nough. The offer will remain standing, until I become rich and succesful, and forget about the little open source people. That hasn't happened in the past 7 years, so you've still got lots of time. =P

brett14 13 years, 10 months ago

Updated to V0.0.3

This should (Im hoping) fix the linker errors you guys have been having. Also added support for sprites (animated images).

colseed 13 years, 10 months ago

Took a while to get this to run correctly (figuring out MinGW stuff, then had to run as admin), but dang this looks nice.

may comment again once I do something besides run examples

EDIT: Hello World example doesn't have an end_game() in it >_<

EDIT 2: also help file does not seem to work…

brett14 13 years, 10 months ago

Happy you got it up and working, that is good news.

@Edit 1: It is in windowed mode, just click the exit button. Not too big of a deal (game_end automatically gets called when the exit button is clicked)

@Edit 2: Help file does not open, or is just missing? If it won't open, does anything happen at all? If the later, it is because the engine is open source and you can view all the header files to view the functions. This is an early release and I am more interested in getting everything implemented and running as compared to documenting it.

PS: V0.0.4 is coming soon.

Current improvements:

1) Bug fixes.

2) More bug fixes [minor] in the text editor (some highlighting issues)

3) Script editor is functional. The scripts (functions) are compiled and can be called in other functions or in objects.

4) Enjoying my spring break :P, which is why there has not been any updates/news

colseed 13 years, 10 months ago

The Hello World example starts in fullscreen for me though…

(so just added an end_game() after the first time that happened - not a big deal really :U)

The help file opens, but every page displays "Navigation to the page was canceled". Not exactly sure how to fix that.

I was hoping to do a programming test run of sorts with it, but having no documentation makes that slightly difficult :P

EDIT: also yay next version

and spring break (I don't get off till the week after next though :c )

brett14 13 years, 10 months ago

I'll look into that helloworld, I may have accidentally enabled fullscreen… I don't think that it is supposed to be though. Can you run any of them in windowed mode? (The rooms example?)

Quote:
The help file opens, but every page displays "Navigation to the page was canceled". Not exactly sure how to fix that.
I will look into it. Do other .chm files open for you?

Quote:
I was hoping to do a programming test run of sorts with it, but having no documentation makes that slightly difficult :P
Guess and test! It is very similar to gamemaker, and it contains many other examples (did I remember to include them?)

colseed 13 years, 10 months ago

Some of the later examples run in windowed mode and exit fine using the button, yeah (can't remember exactly which ones, but I think there were definitely ones after Example 09 that started in windowed mode - last time i looked at the stuff was last week so memory is kinda fuzzy)

As far as I can tell, .chm files open fine on my computer.

Guess and test is good and all, but I am really not good at guessing function names and numbers/orders of parameters… (even a list of functions with rough suggestions of what the parameters are would be good lol)

And yeah all the examples are there…I read through most of the code but will likely have to go through it again - coursework/tests limit time to spend on this quite a bit