Recent Posts

Pages: 1 2 3 4 5 6 7 8 9 10
Works in Progress / DSU - new underwater game
« Last post by hpg678 on October 03, 2019, 06:38:26 AM »
Deep Sea Underwater is the newest full game. You command a submarine underwater.....your goal is to avoid as many obstacles in the form of stalagmites, stalactites and mines in the sea. Clicking the left mouse button briefly keeps your sub afloat, releasing it makes it sink. Along the way treasure chest will pop up. Collect them for a big score, but that feat is not as easy as you may think.

At the moment there is a Linux version. There will be a Windows and Mobile version later. I am also thinking about doing a Mac version but that is another matter altogether.

Tips, Tutorials, Examples / Re: Mithe.....a Flappy Bird clone or underwater game
« Last post by hpg678 on October 03, 2019, 05:08:43 AM »
Seems the process will be more troublesome than its worth, so I decided to do two seperate games after all.

we'd need more sprites for fish, bubbles and obstacles. Adjustments to the code to make everything work together was more troublesome and irritating where my goal for this, well any tutorial is to be as simple and painless as possible.

As far the Underwater game is concerned, it is soon completed. Sound effects have been added, everything else is working as it should. the only thing to do now is the Instructions screen and Credits screen.

So be on the lookout for that game in a new topic.

untill then, be cool and awesome using ENIGMA.  (Y) (Y) :cool:

Tips, Tutorials, Examples / Mithe.....a Flappy Bird clone or underwater game
« Last post by hpg678 on September 26, 2019, 05:10:31 PM »
I am doing a two part series on converting one game type to another. For this i am using a Flappy bird clone i created today and will convert it into an underwater game. you can check the Youtube video here for part one. if you are interested in doing  it yourself, download the source at the EDC or Games section. With a few additions like a Start Menu, some effects and additional graphics, one can make a full game of it.

Converting the game should be too difficult since the type of underwater game uses the same type of mechanics. Stay tuned for an update.

 (Y) (Y)

I updated the screenshots to reflect some new functionality that is soon to be added to ENIGMA, and has already been added to my GameMaker extension's equivalent code. Please do not be confused, these are upcoming features, and they are not available yet. But it won't take long because most of the code is already written and will need minimal tweaking. These changes only apply to the macOS Cocoa and Linux X11 Widgets Systems. In the case of Linux, only the KDialog Widgets are effected. I updated the Zenity screenshots too, but only because the older ones were taken on a version of Ubuntu that had problems updating to Bionic Beaver, so there were some visual flaws with it such as using Unity instead of GNOME still, for the desktop environment, which was a huge eye-sore for me.

Changes Include:

- [macOS] A dirty subclass hack which makes some macOS dialogs display as sheets; while normally sheet dialogs are async, the subclass forces them to be modal, (unless you run the async equivalents via the async extension ofc). This relies on a small Objective-C++ *.mm source file that was not originally written by me nor was it written for ENIGMA in specific, however it was licensed under BSD, so it is permissive and compatible with both our GPL and upcoming linking exception. The dialogs that will be displayed as sheets include show_message(), show_message_cancelable(), show_question(), show_question_cancelable(), show_attempt(), show_error(), get_string(), get_password(), get_integer(), and get_passcode(). More information on what exactly a sheet dialog even is and its distinction from a child window dialog may be read in the next bullet point found below.

- [macOS] As for the rest of the macOS dialog functions, they will not be sheets, however, they will be child windows once this update is released. Child windows by Apple's definition is a window that moves when it's parent is being dragged by the title bar to move, relative to where the parent is being dragged. However, the child window will move independent to the parent window's position if the child window is dragged by the title bar to move and the parent window will stay at the same position uneffected. So, these dialogs are child windows, they will inherit this behavior. Sheet dialogs are almost no different except they can't have a title bar so sheet dialogs will always be at a position relative to the window they are attached to, more specifically at the top-center of the window it is attached to, i.e. the parent. The child window dialogs include the file, folder, and color pickers.

- [macOS] The functions widget_get_icon() and widget_set_icon() will be added, which will allow for setting an icon for the dialogs should you want an icon to be displayed that is different from the default, which is the icon you have set for your game in the Info.plist of your macOS App Bundle. This will require you to bundle your game manually as normal. Only *.PNG is supported. You can technically use other formats as well, such as *.ICNS but formats such these won't be compatible with the Linux X11 Widgets; not cross-platform.

- [Linux X11 (KDialog)] Once this update is released you'll notice that KDialog will have a more appealing icon in the title bar of each dialog that will either match the icon used in the client area of the dialog or the game's custom icon if there is no icon in the window's client area. This custom icon can be set once another important update of mine is merged. If you want the dialogs to have a different icon in the title bar than the one used for the game window, this update, as stated in the previous bullet point, will also introduce the new functions widget_get_icon() and widget_set_icon() to get/set the current icon to use for the dialogs. Again, PNG-only. There might be other formats supported but like with Mac they probably aren't going to be supported in a cross-platform manner.
Announcements / Native Linux Icon Support
« Last post by time-killer-games on September 03, 2019, 09:08:31 AM »
Well, for the first time in the roughly 10 years the ENIGMA game engine has been around, you can now natively set a PNG icon for your game that will show in the title bar, task manager, system monitor, and Alt+Tab process swapper. No thanks to those fat lards Josh, Robert, and fundies. No offense, I love you guys, but I couldn't take it any longer so I decided to step in and add Linux icon support.

Includes the following functions:

    - window_get_icon_index() returns the sprite index of the current icon

    - window_get_icon_subimg() returns the sprite subimg of the current icon

    - void window_set_icon(ind, subimg) sets the icon to use for the game from the given sprite resource

As a small side note - this pull request also allows capturing SDL's window handle on linux for widget use. Although I still haven't fixed the SDL bug where the game doesn't respond and then segfaults, if you click the close button in the main game window's title bar over and over while a dialog is open. Not many people will do that so it's not a huge bug.

The pull request this text was copied from can be viewed here, along with the actual code changes and additions:

For early access to this update, follow these set of instructions listed below:

1) download and extract this ZIP archive to the folder of your choosing:
(This dropbox link won't be available anymore after being merged into master officially)

2) Install these dependencies if you haven't already, (copied from the wiki):

Ubuntu/Debian-based distro's:
Code: [Select]
sudo add-apt-repository ppa:maarten-fonville/protobuf
sudo apt-get update
sudo apt-get install g++ libprotobuf-dev protobuf-compiler zlib1g-dev libglew-dev libglm-dev libpng-dev libglu1-mesa-dev libalure-dev libvorbisfile3 libvorbis-dev libbox2d-dev libdumb1-dev libepoxy-dev git default-jre default-jdk make pkg-config wget
Since you aren't installing this the normal way, some of those dependencies and tools are redundant in this case, but that's aside the point of this topic.  :smileycat:

Manjaro/Arch-based Linux (some dependencies are missing on the wiki I got this from - find out the rest on your own; I don't use Arch Linux):
Code: [Select]
sudo pacman -Sy git make gcc zlib glew glm glu mesa alure box2d dumb zenity openal patch wget fakeroot cmake pkgconfig
pacman -S jdk8-openjdk

3) Terminal this:
Code: [Select]
cd /path/to/extracted/enigma-dev
4) Terminal that:
Code: [Select]

5) Run LateralGM:
Code: [Select]
java -jar lateralgm.jar
...or install emake as instruncted from the wiki and use that as you would normally.

Please note the aforementioned linux extension has not been written yet. All it will be really is an optional Makefile adding the compiler/linker flags for statically linking the extra dependencies.

Happy coding!
Tips, Tutorials, Examples / ENIGMA on USB drive using UUI
« Last post by hpg678 on September 01, 2019, 08:59:45 AM »
For those who may want to try ENIGMA or LINUX, but don't want to use a VM(Virtual Machine), you can do so by installing it on a USB drive using this great software I came across named Universal USB Installer. I recommend using a 8GB or more one as i've recently tested one such drive. A 128Gb one is ideal for updates, creating your projects and copying resources over for use.

To create your USB, I refer you to this article here, where it instructs you on how to create such a device. Linux is not the only OS you can use, however. You can choose, Fedora, Arch, CentOS, Windows, Android, Cloning/REcovery Tools, Antivirus Rescue Tools, Security/Penetrating Tools and many others.

The one I created was Xubuntu, as I was using a 8Gb Sandisk USB drive. The one feature that sets it apart from others I've used before, like Etcher, Rufus etc, is the 'Persistence' setting, where you set how much of the drive space to use for storage. On mine, I created a 3Gb one, which after installing ENIGMA has 690MB free.

The instructions are simple. Choose what distro you want to install. Don't have the ISO? No problem. It directs you to the download link. Select the USB drive. You can format it as NTFS or Fat32. I recommend using Fat32 as it is more generic. I've had experiences where some computers Bios have trouble reading NTFS formatted USB drives.

Depending on your USB size it will take some time, but it is definitely worth the effort. After your USB is configured and gone through the process, it just a matter of plugging it into the computer USB port and starting up the computer.
When the boot menu appears, choose the option to try the OS.
When the desktop is up, make sure the network is working, open up the browser and go to ENIGMA's website.
Depending on the type of OS, you've chosen follow those instructions. If you choose a LINUX type distribution and is new to LINUX, dont panic. Its very easy to install ENIGMA.

LINUX users
  • Open the app named Terminal. It is very similar to Windows command prompt and will normally be in the Accessories submenu.
  • Next open up your browser and go to the website. (Some installations would have an icon on your desktop. if there is none, go to the Internet sub-menu. Note: the link carries you directly to the Linux installation page)
  • Select and copy all the text in the code.
  • Next we are going to paste the text into a script. Open the File Manager by clicking on the Computer icon on the desktop. If there isn't one, then you should find it in the Accessories sub-menu. With the Home Folder selected, go the right side of the panel, right-click and choose Create New....Empty File. Give it the name ''. Double click on that file and paste the contents you copied.
  • Next we have to make the file executable. Right-click on the file, choose Properties. Go to the Permissions tab and select 'make this file executable'.
  • With the Terminal window, you should be able to drag the file over into the Terminal window. If not then copy the file and paste it into the Terminal. You should see the path and name of the file at the prompt.
  • All that's left now is hit Enter in the Terminal Window. If all goes well, you should see a new folder in the File Manager named enigma-dev.
  • In that folder, double-click on the file named "'
  • in the Terminal window, type "./"
Hope you've found this useful! Any other questions, check me out on the Discord channel or ask away here in the forums.

 (Y) (Y)

Issues Help Desk / Re: Error Unknown function or script `audio_play_sound'
« Last post by ojars on August 29, 2019, 10:55:16 AM »
Thank you, this works.
Issues Help Desk / Re: Error Unknown function or script `audio_play_sound'
« Last post by time-killer-games on August 29, 2019, 08:27:19 AM »
You need to use OpenAL instead of DirectSound for this.

Install instructions can be found there, which will fix the error.
Issues Help Desk / Error Unknown function or script `audio_play_sound'
« Last post by ojars on August 27, 2019, 03:31:21 PM »
Hi all, I got an error Unknown function or script `audio_play_sound' in my game. After that I created new game with only create event and that function and another .wav file and got the same error.
Event[0, 0] Check `o_game::create...Syntax error in object `o_game', Create event:0:
Line 1, position 18 (absolute 17): Unknown function or script `audio_play_sound'

In the Game settings Platform is Windows, Graphics was set to Direct3D 11.0 and Audio to DirectSound. After the error I switched Gaphics to OpenGL 3.3 and Audio to OpenAl, and got another error
D:/Programmas/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/7.4.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lmodplug
collect2.exe: error: ld returned 1 exit status
make[1]: *** [Makefile:139: compile_game] Error 1
make[1]: Leaving directory '/d/Programmas/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
make: *** [Makefile:20: Game] Error 2
Where is my mistake?
Issues Help Desk / Re: Compile enigma on ClockworkPI GameShell
« Last post by hpg678 on August 25, 2019, 05:11:49 PM »
Congratulations! That's really wonderful to hear.
Pages: 1 2 3 4 5 6 7 8 9 10