Show Posts

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.


Messages - Goombert

1861
Developing ENIGMA / Asynchronous Dialogs/Win32 Threads Implemented
« on: January 29, 2014, 08:13:54 PM »
I have implemented the Win32 thread functions to allow threading of scripts, this completely does away with the need for Asynchronous events allowing users to properly use cross-platform threading.

This is the pull request I have made.
https://github.com/enigma-dev/enigma-dev/pull/634

Interim documentation is available on this page.
http://enigma-dev.org/docs/Wiki/Game_State_Functions

A basic example is the following.
1) Create a new script called "scr_asynch_message" and add the following code.
Code: (EDL) [Select]
show_message("Hello, world!");2) Create a new object and in the create event add the following code.
Code: (EDL) [Select]
script_thread(scr_asynch_message);3) In the draw event add the following code.
Code: (EDL) [Select]
draw_set_color(c_red);
repeat (50) {
        draw_circle(random(room_width), random(room_height), 5, false);
}
4) Create a new room and place a single instance of this object
5) Run the game

As you can see an asynchronous message dialog will appear while the game continues to randomly draw circles in the background.

1862
Off-Topic / Re: New Member Intro + Other
« on: January 29, 2014, 06:08:10 PM »
I was saying in the context of DRM, the pirated version had completely removed that Skull and Bones DRM and that is why it only ever misfired on legit customers. Also, Delphi, VB, and Java do not require expert knowledge, hardly at all, it is Visual BASIC (Beginners all-purpose symbolic instruction code) for a reason. And reverse engineering is significantly easier than forward engineering.

Every program is subject to reverse engineering even compiled programs, MSVC or GCC.
https://www.google.com/#q=decompile+C%2B%2B

You just usually end up with a jumbled mess of jump instructions and what not, but if you have a DLL or LIB that was used to compile the program those can aid in reloading symbols.

You would basically end up with something more assembly looking.
https://en.wikipedia.org/wiki/Assembly_language

Code: (ASM) [Select]
; Uses S-C Assembler variant.
; .or is origin
; .as is ASCII String
; .hs is Hex String
        .or $300
main    ldy #$00
.1      lda str,y
        beq .2
        jsr $fded ; ROM routine, COUT, y is preserved
        iny
        bne .1
.2      rts
str     .as "HELLO WORLD"
        .hs 0D00

1863
Off-Topic / Re: New Member Intro + Other
« on: January 29, 2014, 04:59:11 PM »
Quote
Interesting, does this mean one could create Myst type
or games that blend CG with actual game footage ?
It means a number of things, it also means you could use HLSL and do special hardware accelerated effects, and also render the video to a 3D billboard or as the texture of an object.

Quote
That's more advanced stuff, but to begin I would like to be able to add cut scenes (full screen) with ability to skip (ESC), and also include windowed (embedded in game) where I can control target size of the video, and finally allow video to be played in a mask / alpha mask, etc.
used in main menus, etc.
Having it escape is easy, you just put video_play inside a script and then call the following code.
Code: (EDL) [Select]
var thread;
thread = script_thread(scr_videoplayback, myvideo);
if (keyboard_check(vk_escape)) {
  video_stop(myvideo);
}
But I don't think threads are implemented to Windows yet, I think only Linux has script_thread right now.

Quote
Doesn't Unity3D require coding skills ? It uses languages that I am not familiar with at all.
Oh yes you are Unity3D uses C# and JavaScript, GML uses a ton of JavaScript things such as the with() construct. This is actually why it is much better to just learn something like JavaScript, most game engines allow more than one programming language, GM is the only one that doesn't. ENIGMA offers GML compatibility or full blown C++ such as structs and classes.
http://enigma-dev.org/docs/Wiki/ENIGMA:Specification

Quote
Also don't think the free version supports video playback,
Yeah you're right it doesn't :(
http://docs.unity3d.com/Documentation/Manual/VideoFiles.html
Construct 2 does have a plugin in JavaScript though.
http://www.scirra.com/forum/can-construct-2-play-videos_topic53140.html

Qt Framework also has multimedia support.
http://qt-project.org/doc/qt-5.0/qtmultimedia/multimediawidgets-player.html

Quote
Well I have an android tablet (SamsungGalaxy) and a smart phone.  If there could be a way to plug in my phone or tablet, use windows to develop and run/test the product directly on my Android devices ?
No not at the moment, when we do however, you won't even have to do that, you'll just install the NDK and SDK and open your game in ENIGMA and switch the platform to Android and hit the green run button and it will open in the emulator or start on the device depending on configuration.

Quote
I really wonder those who spend the $800, are they really making good money from their work ? 
I've yet to see any game using the new features that warranted the massive price increase that weren't already in GM8.1. Take for instance vertex buffers, the only example I've seen is there official one, and there is one on the GMC 3D editable subforum showing how to draw basic shapes with it. In fact there hasn't been any significant example posted on that specific subforum for quite some time.

Quote
Personally not looking for a get rich quick scheme,
Well that is a good prerogative, I actually have some rather strong feelings regarding this. Too much people focusing on just making poor games so they can make money as fast as possible, and not focusing on quality and making a fun game. PC gaming is still PC gaming and the greatest gaming platform there is, but the state of it I feel is declining. Remember the days when there were good Command and Conquer games? So many RTS titles you couldn't possibly play them all? Those days are quickly vanishing. EA botched SimCity and cancelled their new C&C Generals 2 game.

Quote
Are you talking about the pirated GM that is circulating or the GameMaker Studio itself ?
The legitimately authenticated version, the pirated version is actually known to work better and have less bugs believe it or not :(

Quote
I am a legit owner of GameMaker Studio, personally it has not corrupted or caused me any issues so far, only thing it is missing specific functions I am after, also want something with better performance since my larger project will use more computing power and resources.  I don't think I will be purchasing any further version of their software if I can do everything I want to inside ENIGMA
Well I can provide examples, one was TKG's game, another was egofree's game, it wrote his shaders into his sprites folder and placed undefined objects all through his rooms everywhere he placed a tile, was pretty annoying to clean up. There is also the case of GMK 820, where they didn't version the format and instead of trying to fix it just completely dropped support causing me to follow suit.
http://enigma-dev.org/forums/index.php?topic=1444

Quote
I guess I would not have to worry about that with ENIGMA right ?
No, our primary concern with the development of this project is the protection of user rights, like many Open Source projects. Our project being open source has nothing to do with being free as in price, but free as in libre and user rights.
http://en.wikipedia.org/wiki/Open-source_software

Quote
Good to know :)  So I guess this would mean $799.99 for the master collection would be out of the question too I guess ? yikes !
Well that's up to you, I tend to be overly critical, and I am not here to tell you how to spend your money, I am only here to educate and inform. However, at least you have a place to go if you do end up with a corrupted project, which is here, where LateralGM and its contributors have a history of fixing broken games and aiding people in fixing them.

Quote
Unfortunately I was banned from the GMC for insulting a moderator repeatedly over something completely unrelated to android porting.
This is another thing I'd like to point out as well, although you were not aware Darkstar2, you are not allowed to discuss competing projects on the GMC. YYG's tries very hard to stiffle competition, including the removal of myself for criticizing them in an announcement once and many others from their forums. It is a violation of the global forum rules, however we here at ENIGMA, do allow your freedom of speech and you are allowed to discuss competing projects however you like (I do it all the time) we just ask that you be polite and stay on topic and not for instance hijack people's topics as our other new user Johnny D did a few days ago and spam all over the place.

1864
Issues Help Desk / Re: There was an issue loading the project
« on: January 29, 2014, 03:34:08 PM »
Quote
Ok, another problem when converting  :D : Constants are not converted. In my gmx project file, i've 24 constants defined, but none are defined in the converted project.
I never added them to the GMX reader, I can add them next, this might be an issue though since GMX stores several copies, I'll work this out next.

At any rate, if you want the fixes from last night, update from the repository with the following commands.
Code: (Bash) [Select]
cd enigma-dev
git fetch
git pull

Then replace both the LateralGM and plugin jars.
http://enigma-dev.org/docs/Wiki/Install:Extra_Packages

You can also download the newest version of the Windows Portable ZIP.
http://enigma-dev.org/docs/Wiki/Install:Windows

1865
Off-Topic / Re: New Member Intro + Other
« on: January 29, 2014, 03:20:31 PM »
Howdy darkstar2! Although I am one of the leading contributors here I can give you some unbiased advice.

Quote
I would like to do interactive apps/games that use cut scenes/cinematics/videos.  I would like the ability to embedd videos inside my game window and choose the size of the frame within the game, and also have full screen playback. 
I understand the importance of this, and have been planning something similar for ENIGMA, specifically, rendering videos to Direct3D surfaces or OpenGL framebuffers. Unity3D also has this capability. We do however offer basic fullscreen video playback support for Windows currently provided by the DirectShow extension, it supports all formats Windows Media Player does.
http://enigma-dev.org/docs/Wiki/Audio_and_Video_Functions
It has been a pet project of mine.

Quote
2) I would like to publish some of those to Android (compile to APK ?)    Right now for what I need be done, $199 is not something I can afford.  I just want to get into this a little and further get better with GML and such.
We are working on getting our OpenGL3 graphics system to not use any of the Fixed-function pipeline, so that we can convert it to GLES or OpenGL for embedded systems. Then we can begin fixing up our Android port again, will also help once Josh has his compiler finished. However, Unity3D's free version does allow publishing so long as you don't make over $100,000 I believe, but I am not sure if they have Android.

There is also construct which is very cheap and exports to a TON of devices, it is also more advanced than GameMaker in many areas as far as game design is concerned, much easier to learn as well.
https://www.scirra.com/construct2

Quote
Video playback, the only way to use video playback is through the splash video functions......When I use this function, the video plays, but it has to play to the end... There is no way to abort playback.  In many games you can skip cut scenes by hitting ESC or whatever keys they have configured.  I don't see any commands where I can set video playback to stop once a key is pressed (stop as in exit the video playback).  Also I see no commands for customizing video playback (target size, window size, etc.)
Yes I wrote that extension to work like GameMaker, but as I said above, I plan on extending it when I have some free time. Specifically so that it can thread video playback and stream.

Quote
I've seen reference to such commands in your wiki but they are not recognized by the parser when I compile them, even when I have the API enabled.
The ones that are red I haven't added yet, they are just planned because I haven't decided how to best design the interface for the functions, they are currently only there to provide the Video Drag and Drop action.

Quote
Also, the only compile option I see is windows, I am using windows, but would also like to export my project to android eventually, now these are serious projects once they get done, which I can publish in the google play store,
setting up an account there is not a problem, how would I be able to generate a store compatible file format ? I heard there are signatures and special requirements for the app to be sent ? Any help there would be appreciated.
This is because currently you have to have the platform you want to compile for, eg. you have to be on Linux to compile for Linux, though someone was working on a cross-compiler patch. Now as far as Android, we are rebuilding it from the ground up and still working on graphics, however, when we do get it working you will be able to build and run the game inside the NDK emulator.
https://www.google.com/#q=ndk+emulator

As far as publishing goes, we are going to work all of that out. But basically, you don't need to worry about that, as we will help in w/e way we have the resources to do so when we get to that point. We may also look into a good free publishing solution to help indie developers get their games onto different stores and what not. Not commission based or anything, just simply community resources and the likes.

Quote
Is there a way to modify them to allow streaming the video from an external file ?  the video splash allows this but is not flexible, and does not allow stopping / ESCaping the video.
Yes I would like to add all of that but I do not have enough time on my hands.  :D

Quote
P.S.  Oh yeah one more thing, I got some rather odd suggestions from some GMC community members to use a cracked edition of studio, (for the android export) !  so I let them know clearly that it is out of the question and not an option at all and will never be even considered. 
I am going to have to go ahead and suggest you don't bother with that software it is pretty buggy and has even corrupted peoples projects.
http://en.wikipedia.org/wiki/GameMaker:_Studio#Digital_rights_management

Quote
I would have gladly offered all my efforts and free time to contribute to this open source project myself but lack the
programming knowledge.  I think your project is exactly what many people are looking for.  Right now I am aiming to get better, experiment and make free apps.  Nothing would justify me paying $199 for the android export.
You're right, it is isn't worth 199$, it is pretty buggy and as I said above, you should try to avoid it, there are plenty of programs out there that do the same thing and more even for free. Another thing you may be interested in is Nokia's Qt framework, it can export to a host of mobile devices and can do hardware accelerated rendering, it is just frankly amazing, and now it's open source and libre too!
https://www.google.com/#q=qt+framework

1866
Issues Help Desk / Re: There was an issue loading the project
« on: January 29, 2014, 04:54:03 AM »
Quote
I think at first i made some tests with shaders, then i deleted them in the projects, but they remain in the folder.
Ok, but in the Sprite images folder? lol how did it get in that exact folder?

Quote
This is strange as i use the latest version of Studio (Well, it was 6 months ago). Anyway it's not a big deal, as i can fix easily the problem by creating again these actions.
Oh wow, this shouldn't even be an issue, the reason it is, it is hardcoded into the GMX. I decided to file a bug report specifically for this issue.
https://github.com/IsmAvatar/LateralGM/issues/106
I have added support for both versions of action_another_room in ENIGMA's engine in the following commit.
https://github.com/RobertBColton/enigma-dev/commit/88bdcf48441bb18359f6f9437312af25bf49c744

LGM's default action_another_room, does let you set the transition.


Quote
There is a problem : all characters indexes are shifted by one (A->B, B->C, etc.) :
I fixed it in the following commit. This time, I removed the fix, this also fixes the same issue in cheeseboys game. So that means this bug was magically fixed along the way and our hack fix was breaking it this time, possibly I fixed it with something I did LGM side?
https://github.com/RobertBColton/enigma-dev/commit/6f5292a4964d3e4be9a4152b99837819224d0ffb

1867
Developing ENIGMA / Re: Make Directory
« on: January 28, 2014, 09:37:30 PM »
Huh, that actually shouldn't have been the case, I don't think that directory is automatically deleted unless you deleted it, but ok I killed two birds with one stone :)

1868
Issues Help Desk / Re: There was an issue loading the project
« on: January 28, 2014, 06:55:03 PM »
Ok, well at least you got it running, give me tonight and I'll come back with most if not all of those bugs fixed.

I did a fresh extraction of your GMX and also discovered that you for some reason have an fout and vout shader stored under your sprites/images folder. Those two shader files are not supposed to be in that folder and they arent in the original resource tree either, so why did Studio put those files there?


Quote
Now the room is set correctly, but it's still not possible to set the transition.
The reason you can't set the room transition is because those were deprecated in Studio.

I'll see what I can do about it.

Quote
There is a problem : all characters indexes are shifted by one (A->B, B->C, etc.) :
I'll do a regression test and see what caused this bug to popup again.

Quote
Then i save the project, and i load it again, and all fonts are erased ! I tried this operation several times, same result.
I was able to reproduce this bug and fix it in the following commit.
https://github.com/IsmAvatar/LateralGM/commit/b4c289246e754af525446169a62b482bb1896eac

1869
Issues Help Desk / Re: LGM -> Enigma link broken
« on: January 28, 2014, 06:53:44 PM »
Ugh, it is working for everyone else on Windows. http://www.pastie.org give me the contents of output_log.txt

Edit: We fixed the issue in the following pull request.
https://github.com/enigma-dev/enigma-dev/pull/633

1870
Works in Progress / Re: Dungeon Blabber
« on: January 28, 2014, 06:39:08 PM »
Yes now I have to agree with everyone else, too much contrast. However, I can't help but feel all of us are saying this based on our gut feeling, and not appreciating what the graphics may be trying to convey.

1871
Issues Help Desk / Re: LGM -> Enigma link broken
« on: January 28, 2014, 06:35:33 PM »
What operating system daz? Are you on Windows XP?

1872
Developing ENIGMA / Re: Make Directory
« on: January 28, 2014, 06:34:57 PM »
Where at? The only way that is possible is if they were already there, so I couldn't have introduced them. But where at? They should be changed.

Edit: The following pull request may resolve the issue for you.
https://github.com/enigma-dev/enigma-dev/pull/633

1873
Issues Help Desk / Re: There was an issue loading the project
« on: January 28, 2014, 06:08:20 AM »
Ugh, that is the result of not updating the action library, I'll fix it in the morning.

1874
Issues Help Desk / Re: There was an issue loading the project
« on: January 28, 2014, 04:38:40 AM »
Looks like it failed to output the reason which was according to output_log.txt the following.

Quote
Creating room creation code scope and parsing
scr_init_title ( ) Second pass...
done. collecting variables...
Collecting some variables...
  Calls script `scr_init_title'
 done>scr_init_game ( ) ; scr_init_sound_system Syntax error in room creation code for room 1 (`main'):
2

When I looked at the code, only the first script was highlighted.
Code: (EDL) [Select]
scr_init_game();
scr_init_sound_system();
And sure enough, the script called scr_init_sound_system doesn't exist under the Scripts folder.

1875
Issues Help Desk / Re: There was an issue loading the project
« on: January 28, 2014, 03:27:37 AM »
Alright I just got done implementing some other plugin fixes, I'll investigate and fix this and it will be included in a major plugin/LGM update.

You were correct it was not adding a postponed reference for the room.
Code: (XML) [Select]
        <functionname>action_another_room</functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>11</kind>
            <room>title</room>
          </argument>
        </arguments>

The reason was because Room's were missing from the Action Library reading for GMX. I have addressed the issue fully in the following commit.
https://github.com/IsmAvatar/LateralGM/commit/22d6fd2bfc5fd5aff7a6fcaedf06916eb912c03a

I have tested this very well and it appears to have resolved the issue now and both of the actions in both objects load and save with the correct room. Please update both LateralGM and the plugin this time as this will include other bug fixes, you can obtain them from the following page.
http://enigma-dev.org/docs/Wiki/Install:Extra_Packages
When you have patched both jar files you need to run git fetch then git pull to have my new compiler callback implemented.

You can also simply update via re-downloading the Windows Portable ZIP.
http://enigma-dev.org/docs/Wiki/Install:Windows