What is this?
Jason Lee Elliott

TMDM 2022

Day 1 Slides

https://docs.google.com/presentation/d/1VJGRWatWkZ2PD7Nx4O7ZWcbuTCqyvS6barwWtBiH99Q/edit?usp=sharing

Day 2 Slides

https://docs.google.com/presentation/d/1PvTOcmdwoiAejSfPA8IiPAvrrs6lrRiBOX1YTkUqk0c/edit?usp=sharing

SHMUP Walkthrough (In case you want more step-by step instructions)

https://docs.google.com/document/d/1CcqRDRYA0F6E7kXT1eaa-786gDVsgwfx71o2b5wXuHc/edit?usp=sharing

Day 3 Slides

https://docs.google.com/presentation/d/19PzaQu6gdonTYBJkKQMty1U4n6l2Gx1od4xxSq-65hc/edit?usp=sharing

Adventure Game Walkthrough

https://docs.google.com/document/d/1uFiSkS3H6vAh1d7yFuysns9cVfW-Np6prnsu1Y3WY3g/edit?usp=sharing

Day 4 Slides

https://docs.google.com/presentation/d/1Lq9zQJbTzqyk1QguDYd-2DY6-kpLPBoXkiWP_kCStKc/edit?usp=sharing

Platformer Walkthrough

https://docs.google.com/document/d/1AmAp7T0fzHRH31WmT3GOpBUtu7toLf-NzTDFg_ynR0U/edit?usp=sharing

Assets

https://jasonleeelliott.com/Arcade/TMDM/ExampleFiles.zip

GML code

For the platformer, if you want to check for slopes. Use this function when Applying Movement horizontally BEFORE you forecast to the side. You will need a maxSlope variable in the create event. **Note, code will need to be adjusted for your object names

function SlopeCheck(argument0) {
//Scan for Slopes
var mySign = argument0;
var slope = 0;
for (var i = maxSlope; i >= -maxSlope; i–)
{
if (place_meeting(x + mySign, y + i, obj_Solid_Parent) && !place_meeting(x + mySign, y + (i – 1), obj_Solid_Parent))
{
slope = i-1;
}
}
y += slope;

}

Count Up Clock

This code will create a clock that counts up in seconds and minutes. It has a Time() function that you need to put into an Alarm that runs at room_speed. The TimeToString function should be in a Draw event. Don’t forget to set the variables seconds/minutes/hours in the create event.

function Time() {
seconds ++;
if seconds >= 60
{
seconds -= 60;
minutes += 1;
}
if minutes >= 60
{
minutes -=60;
hours += 1;
}
}
function TimeToString(_x, _y) {
var _sec, _min = string(minutes);
if (seconds < 10) {
    _sec = string_insert("0", string_format(seconds,1,0),0);
} else {
    _sec = string_format(seconds,2,0)
}

if (minutes < 1) {
    _min = "00";
} else if (minutes >= 1 && minutes < 10) {
    _min = string_insert("0", string(minutes), 0);
} else {
    _min = string(minutes);
}

draw_text( _x, _y, _min + ":" + _sec );
}