Author Topic: I wanna be a minimalistic engine  (Read 3459 times)

kikones34

  • Trial Wannabe
  • Posts: 5
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 41.0.2272.101 Chrome 41.0.2272.101
    • View Profile
  • Playstyle: Keyboard
I wanna be a minimalistic engine
« on: April 04, 2015, 03:04:44 PM »
I made this engine roughly a year ago out of boredom, and planned to publish it, but I didn't really know where. Time passed and I ended up forgetting it even existed, since I stopped using Game Maker. But a month ago I found it sitting there, in a folder, lonely, and decided to give it some love. Great timing, because I recently remembered this place exists (yeah, my memory really does suck sometimes).

So, without further ado, let's talk about the engine.

Purpose:
The purpose was to create a clean, simple, flexible and extensible engine for people experienced with programming who didn't want to use bloated engines such as Yuuutu.
I borrowed objects, sprites and sounds form Yuuutu and the original engine by tijit to build mine, though.

Features:
-Player system (movement speeds are the same as in Yuuutu)
-Camera system (same as always)
-Music system (ready for external audio and non-stop music if you wish so)
-Trigger system (improved, very flexible, although it needs more coding)
-Save/Load system (partially borrowed from Yuuutu, doesn't reset the game)
-Basic IWBTG blocks/enemies and collision system (same as the original engine with a few improvements)
-Simple menu (with only one slot, because I felt adding support for multi-slot was going to add noise to the code)
-Full documentation (in PDF format, read it if you're clueless about how a certain system works)
 
Note: I'll add some features such as multi-slot and control changing if you guys think it should be part of this engine. I can't really decide for myself.
Note: In the documentation, every time a section name appears you can click it to go straight to that section.
Note: This engine was created and meant to be used with Game Maker 8.0

Downloads:
You can choose between two versions: The pure, minimalistic engine, without any samples (no music, no tiles, no objects that are not part of the systems) or one with samples (recommended to understand how the objects of the engine work).

I wanna be a minimalistic engine (309KiB)
I wanna be a minimalistic engine (with samples) (573KiB)


That's all for now. I hope this can be useful to somebody, because I ended up not using it at all...

P.S.: I know there's some fangame creation contest going on right now that started a month ago or so... bad timing on my part u.u
I hope you can still check this out, I ended up putting quite a lot of effort into it >-<
« Last Edit: April 04, 2015, 03:10:16 PM by kikones34 »

KingEclipsed

  • Trial Wannabe
  • Posts: 3
  • OS:
  • Windows 8/Server 2012 Windows 8/Server 2012
  • Browser:
  • Chrome 41.0.2272.118 Chrome 41.0.2272.118
    • View Profile
  • Playstyle: Keyboard
Re: I wanna be a minimalistic engine
« Reply #1 on: April 07, 2015, 04:07:59 PM »
I got an In Object TriggerParent, in Event CollisionEvent_34 action number 1 at line 7 : unknown function or script execute_string

Compile Failed - Please check the Compile window for any additional information

Here is the strip of code.

if (!triggered) {
    with (object_index) {
        triggered = true;
    }
    if (variable_local_exists("code")) {
        execute_string(code);
    }
}

I can't find the variable/TriggerParent inside the script or anywhere else, so that's probably missing. Hopefully you know how to fix it.

 :atkCry:

kikones34

  • Trial Wannabe
  • Posts: 5
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 41.0.2272.118 Chrome 41.0.2272.118
    • View Profile
  • Playstyle: Keyboard
Re: I wanna be a minimalistic engine
« Reply #2 on: April 08, 2015, 02:36:22 PM »
I got an In Object TriggerParent, in Event CollisionEvent_34 action number 1 at line 7 : unknown function or script execute_string

Compile Failed - Please check the Compile window for any additional information

Here is the strip of code.

if (!triggered) {
    with (object_index) {
        triggered = true;
    }
    if (variable_local_exists("code")) {
        execute_string(code);
    }
}

I can't find the variable/TriggerParent inside the script or anywhere else, so that's probably missing. Hopefully you know how to fix it.

 :atkCry:

I'm afraid that cannot be fixed unless you switch to Game Maker 8.1 or older. I assume you're using Game Maker Studio.
Since the very first version, all dynamic functions have been deprecated, and "execute_string" is one of them.

A workaround for that specific problem can be made, but generally, using Game Maker Studio with this engine is not a good idea, sorry >-<

Workaround:

Simply remove this functionality by deleting the block:

Code: [Select]
    if (variable_local_exists("code")) {
        execute_string(code);
    }

You won't be able to specify instance-specific code for triggers (that's what it was for), but you can always create a new special trigger object with the desired code inside by doing something similar to the following:

Code: [Select]
triggerWithCode01:
   Create:
      event_inherited();
      executed = false;
   Step:
      if (triggered && !executed) {
         executeSomeCode();
         executed = true;
      }

Changing this will probably break some of the samples, but at least it should compile.

If you find any other error I'll be glad to help, maybe I'll even do a Game Maker Studio-friendly version.
(Although given the low amount of responses my motivation isn't the highest right now >-<)

DragonX611

  • Trial Wannabe
  • Posts: 7
  • OS:
  • Windows 8/Server 2012 Windows 8/Server 2012
  • Browser:
  • Chrome 41.0.2272.118 Chrome 41.0.2272.118
    • View Profile
  • Playstyle: Keyboard
Re: I wanna be a minimalistic engine
« Reply #3 on: April 09, 2015, 07:43:30 PM »
i have tested it in both gm studio and gm 8 as for it works fine in 8 therefor you must either be using some outdated version of gm, or you are using gm studio