PreAlpha DevLog based on Tutorial Series


The game is based on FriendlyCosmonaut (Youtube-Channel: https://www.youtube.com/channel/UCKCKHxkH8zqV9ltWZw0JFig) which helped a lot to get into game maker development and coding. 

This post contains the whole journey and the early steps with all links to the dependend videotutorial and my made major steps.

TUTORIAL PART 1 - IDE Environment explanations for game maker


TUTORIAL PART 2 - Basic Movement

-own sprites for ship and astroids (many variations) created
-roomsize fixed
-easy keyboard movement in separate script and used for pod
-screenwrap in extra script and included for pod and astroid

TUTORIAL PART 3

-collision-masks created: pod = rectangle, astroids = ellipse
-collision in collision event obj_pod1
-bullet1 sprite created and in script move_pod1 the shoot-event defined which creates bullet instances
-collision Bullet1 with Astroid in obj_bullet1 
-script hit_astroid_splitting1 checks and splitts astroids 
-spr/obj/script for Debris, if astroid or pod is destroyed 

TUTORIAL PART 4

-obj_game1 draw game variables : Score/Lives/etc. in create definition of font
-obj_pod1 lives reduced at collision event
-obj_bullet1 score highered with collision / score for astroid depends on size (score_astroid1 with global variables in obj_game1)
-roomlogic: startroom u. obj_game1-logic with startscreen, winscreen, gameoverscreen and depending switches  

TUTORIAL PART 5

-astroid is not created manually but in obj_game1/roomstart: ramdomly creation outside the screen
-new spawn of astroids in obj_game1/roomstart with alarm[0]: new astroid every second out of screen (it will never end!!!!! ;-])
-soundeffects: obj_game1/RoomStart -> background music
-soundeffects: obj_game1/Step -> win u. gameover sounds
-soundeffects: obj_pod1 move_pod1 -> shooter-sound 
-soundeffects: obj_pod1/colide@astroid -> hurt-sound 
-soundeffects: obj_bullet1/Colide@Astroid -> explode-sound 
-ship-respawn with obj_game1/alarm[1] - Restart room and in obj_ship/Colide@Astroid - with(obj_game) - alarm[1] = room_speed;
-soundeffects: obj_game1/roomstart -> backgroundbeat start only if not allready running

TUTORIAL PART 6 Cameras 1/3

-viewport0 activated with same size as game and cam further away
-roomsize x4
-background in rm_game (spacerats "cartoony")
-object centering obj_pod1 100/700
-score as script 

TUTORIAL PART 7 Cameras 2/3

-old Viewports disabled
-camerapos/viewports in obj_camera1 / applicationsurface set / window center
-center to Cam in obj_pod1 / Wrapping updated
-scores as GUI top left
-div. space-backgrounds tested -> spr_background2

TUTORIAL PART 8 Cameras 3/3

-cameraX/Y u. cameraWidth/Height -> made global
-script spawn_off_camera1 in gamestart - astroids spawn again outside cam with additional padding 
-Script spawn_off_camera1 as alarm[0] aktualisiert - consecusive astroid spawn
-old spawn_astroid-script disabled
-instances rm_game rank changed to camera (spawn of astroids in screen, if screen not written)
-obj_game1 simplified and all draw-events separately in scripts/Draw
-bei obj_camera1 makes problems but however.. it functions so I must not know, why! ;-)

TUTORIAL PART 9 Parallax Backgrounds

-background-Spr new organised with parallax-dir 
-4 new layer in rm_game parallax_0-2 and gradient with stars tiled
-gradient alpha-Kanal adjusted
-in obj_camera1 scrollfactor with layer_x/y per layer defined
-TEST draw_score1 auch Pod-dir u. Pod-angle, but not working ;-)
-Bullet-Speed = Bulletspeed + Podspeed!
-new sprite for Pod (greenish)

TUTORIAL PART 10 Enemy Factions 1/3 Theorie

-sprites for Raider (Shoot, not chase, 1hp), Hunter (shoot fast, chases, 1hp) und Brute (no shoot, chases, 5hp) created
-EnemyBasics: created random Dir/Set Speed; detection radius behaviour; conclusions bullet collisions
-parent object for all enemy ships

TUTORIAL PART 11 Enemy Factions 2/3 Coding Factions / Bullet / Take Damage-UserEvent

-enum factions defined
-objects: ENEMY-dir with 3 created enemy-obj.
-obj_parent_enemy u. 3 enemy_obj as child / obj_faction_enemy and obj_parent_enemy as child (Enemy-Obj. are subchilds or faction-Obj. is grandfather)
-objects: ALLY-dir with pod u. obj_faction_ally with pod as child
-objects: NEUTRAL-dir with Astroids u. obj_faction_neutral with astroid as child
-object obj_faction as GrandGrandfather: ENEMY/ALLY/NEUTRAL-Faction-Objects as childs here 
-object obj_faction faction = factions.neutral; and then in all Child-Faction-Obj. umdefinieren auf Enemy/Ally
-event_inherited(); IF parent-create-inheritance, allow own create events! 
-bullet-collision mit Astroid rewired to obj_faction
-USER EVENT @ obj_astroid take damage - code from bullet-collision with Astroid here
-bullet-collision astroid with obj_faction: bullet destroy; check if faction-collision; start USER EVENT take damage
-bullet destroy outside room optimized (check if in room, else destroy)
-bullet-collision ship with obj_faction: check if faction-collision; start USER EVENT take damage; neues Destroy-Event with last collision code
-bullet-creation-Script with 3 arguments (dir, spd, faction) from move_pod in separte Script to use for every ship
-faction-argument in bullet creation do not let ships shoot their own faction 
-Bullet-color per faction but commented out because allready enough colors ^^

TUTORIAL PART 12 Enemy Factions 3/3

-obj_parent_enemy basics for every Enemy / destroy-Event sound, debris, points per ship
-obj_parent_enemy outside room: wrap; take damage HP-reduce u. destroy
-obj_game: spawn_off_camera: spawns for actual 3 enemy-types
-Raider behaviour: follow pod, shoot
-Hunter behaviour: follow pod, shoot, speedup in range
-Brute behaviour: follow pod, speedup, sprite per health, following


TUTORIAL PART 13 PowerUps 1/3

-icons for 6 Powerups created and as sprite with 6 frames 
-ship_pod-canon etc. as sprite with 6 frames in same order as powerup icons
-enum for powerups created
-obj_ship: gun / invincible variable / 2 alarms for Reset guns and reset invincible
-obj_ship: collision only for playership with Switch, which Powerup collected
-obj_ship: draw gun / draw invincable according status u. fadeout alpha of invincable

TUTORIAL PART 14 PowerUps 2/3

-create_bullet1 with additional argument
-initiate_bullet1 some standard functions for all bullet creations here integrated
-two-Bullets @create_bullet1: 2 shoots (adjustion with lengthdir)
-three-Bullets @create_bullet1: 3 shoots (adjustion with lengthdir) as first switch, which additionally uses two-bullets 
-four-Bullets @create_bullet1: 4 shoots - star bullet (adjustion with lengthdir) 

TUTORIAL PART 15 PowerUps 3/3

-laser-bullets - own object laser with draw-line; collision check, faction check , make damage / draw laser / creator check etc.
-laser-bullets - obj_laser speed test and deactivate for laser (laser do not move like bullet)
-laser-bullets - obj_bullet1 - create laser for laser switch element
-detroy.Astroids: randomly let spawn powerup / destroy.obj_parent_enemy: randomly let spawn powerup 
-test-powerup cleared, shipspawn reactivated (score für enemyships global)
-brute immun to laser: in obj_faction integrated, all obj_faction_X event_inherited defined; Brute immune=true
-obj_laser = check if immune and do not destroy in case

TUTORIAL PART 16 PowerUps 1/2

-cam-shake funktion in script cam_followShakeSet1
-shakervalue in obj_parent_enemy for all ships
-shakervalue in score_astroid1 depends on size of astroid 
-obj_astroid1 organized new between take damage and destroy 

TUTORIAL PART 17 PowerUps 2/2

-create new debris-sprites for astroids/ships + ship-exhaust 
-particle-System container created
-obj_particles: exhaust created and in move_pod1 used with alarm
-obj_particles: enemy exhaust as Script for enemys (exceptions depending on enemy for position of exhaust)
-obj_particles: cleanup particlesystems
-obj_particles: debris for ship and astroid created and defined
-obj_particles: cleanup debris 
-particle debris ship integrated in destroy obj_pod1 / ob_parent_enemy
-debris for astroids in script Astroid_Score integated

->  my final Alpha v1-0 Version after 17-part-tutorial (i use a pre v3 in my names, which indicates, that this is the 3. try ;-])

Files

Spacerocks_v3_Alpha_v1-5-5-4_RT231536b_PC.zip 7 MB
Nov 27, 2020

Get Tiny Spaces "Space Rocks"

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.