A downloadable asset pack

Download NowName your own price

NOW UPDATED FOR GAMEMAKER STUDIO 2. THE PROJECT HAS BEEN RE-WRITTEN AND IMPROVED UPON, SEE CHANGE NOTES BELOW!

Made using GameMaker Studio, this is the prototype source code for a ZX Spectrum style flip-screen adventure. Example graphics are included, feel free to use or change them however you'd like.

This template contains the base code and art I used to create my game Higgy: A Speccy-ish Adventure


You will need:

  • GameMaker: Studio v1.4 or v2
  • A working knowledge of GameMaker Language (GML). This is NOT a drag and drop project.


The project file includes the following features:

  • Accurate ZX Spectrum resolution
  • Accurate ZX Spectrum colour palette
  • Flip screen (no scrolling)
  • Working location name
  • Working health bar
  • Working coin meter
  • Other characters to talk to/give items to
  • Puzzles (such as the unlockable chest)
  • Things that hurt the player character
  • Lives
  • Game over state
  • Sound
  • NO attribute clash (you'd have to figure it out via a shader I think)

You'll have to make a title screen and an end game sequence for yourself.

It's been a long while since I updated this project, but now I'm used to how GameMaker Studio 2 works I thought it was time I made use of it's features, so it's bye bye to all the auto-generated scripts that get created when importing the GMS1.4 code into GMS2. All code has been re-written to take advantage of the latest version of GMS. Here's a full list:


Changes from the GMS1.4 version to GMS2:

  • Properly set up layers for the rooms, since GMS2 uses them rather setting depth for each object.
  • Speaking of layers, the function "instance_create()" was replaced in GMS2 by instance_create_layer() and instance_create_depth(). I've gone through and made sure the function instance_create_layer() has been used throughout the code. This change makes handling objects a little easier, thanks YoYo Games!
  • Globalvars were removed from GMS2, so any variables defined using globalvar are now just global variables (global.variablename)
  • For some reason that I've forgotten, I used Draw End events to draw the messages on the screen. I've changed all objects to use Draw GUI events which is SO much easier as now the game doesn't need to work out where on the map you are before it draws the message. What was I thinking?
  • To that end, I totally re-wrote the draw_message(), draw_char_message() and draw_char_solved() scripts. 
    • The text boxes no longer need to be told how wide and high they should
      be - the script does that for you from the string it's given.
    • The draw_char_solved() script is gone, draw_char_message() now does the job for both.
    • You want a conversation with a character that's longer than two text boxes? Yep, the re-written code now supports this.
    • Naturally the puzzle text boxes, along with the "You got a coin" and
      "You lost a life"/"Game Over" messages benefit from these changes. Go wild with your writing
    Plus a few minor changes to make the code more readable. Nothing spectacular but I hope it helps!

See full change notes in the provided readme.txt file


All code is by me. I've created sound effects have been created using bfxr. The font used is from Kenney. Go check out Kenney's asset packs - they're fantastic!

You are free to use the source code for this project for whatever you wish, all I ask is if you create anything - show me. I'd love to see it.

Also, if you need to ask me any questions about my crazy code, you can find me on Twitter - @MrTom

Download

Download NowName your own price

Click download now to get access to the following files:

SpeccyAdventure.yyz (FOR GMS2) 813 kB
SpeccyAdventure.gmz (FOR GMS1.4) 478 kB
readme.txt 3 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.