itch.io Spring Selects Series A
On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

[Devlog] Mari Quest: Calamity at Mage's Tower

A topic by hardheadjed created Jan 07, 2017 Views: 1,416 Replies: 21
Viewing posts 1 to 19
Submitted (6 edits) (+4)

Hi, I'm Jed! This is my first game jam ever and my first time making a game. I really love the Metroidvania genre, so my game, Mari Quest, is going to be heavily inspired by my favorites from the genre. I'm going to be making the game using Stencyl (which I've never actually used before, so I'm looking forward to learning it).

Last night I spent a lot of time working on my design doc and figuring out how to approach my game's development. Because it's my first time making a game (and my time is going to limited very soon after my school semester starts), I'm just gonna focus on learning how to make pixel art and creating a prototype of the game with some basic mechanics implemented.

My goals right now are:

  • Create and animate sprites for the player character, Mari
  • Allow the player to run, jump, crouch, and crawl (in lieu of Metroid's morph ball ability)
  • Allow the player to cast magic spells which are used to defeat enemies and (de)activate switches (maybe)
  • Create a system that manages the player and other actors' health points
  • Create a system that manages the player's energy points, which will be used to cast spells and perform certain activities (e.g. energy points will be used like "oxygen" underwater). I want to model this system after the stamina system in games like A Link Between Worlds and Dark Souls, where energy points regenerate when not in use.
  • Create a map that updates as the player navigates between scenes

Some stretch goals:

  • Create a tileset for the game's primary setting (a castle)
  • Create and program an enemy or two
  • Implement items and upgrades (e.g. one that lets the player jump higher, one that lets the player destroy cracked walls)
  • And a whole bunch of other stuff depending on how much progress I make!
Submitted(+2)

Day 1

I'm going to start off by saying that I'm really proud of my progress today! A lot of what I did wasn't actually too complicated, but I still had a lot of trouble with some of it, and figuring it out was a really great feeling. :')

I started out the day by trying my hand at some pixel art:

This is Mari. She's the first pixel art character I've ever made! I probably won't animate her for a good while because making just the one frame was already a work out. In making Mari, I tried limiting myself to just a few colors. I'm going to try and make Mari Quest using just colors from the NES's color palette, which has been a fun restriction.

Mari can do a few things. Like jump!

Mari's not the best jumper, but she can get around okay. However, sometimes when she jumps weird things happen. For example...


Ahaha. I would like to say that this was an intended feature, but I think I might have just programmed her jumping weird. This is something I'm going to try and fix tomorrow, hopefully.

Mari can do more than jump though! She also knows magic!


She can cast magic in three whole directions! Whoa! I think at some point she will even be able to cast magic when crouching. Also, if you haven't noticed the HUD yet, it displays Mari's health and energy, which she uses to cast spells. I had a lot of trouble trying to figure out how to properly implement these variables in Stencyl. At first, I tried making it an actor attribute, but then displaying it was super complicated. Then I tried making an invisible actor to display the information, except that you couldn't see the actor behind the black bar and when the actor tried to access Mari's attributes they both displayed as "NULL." Eventually, I figured out if I made Mari's health and energy game attributes, then they could be globally accessed by both scenes and actors without issues. So now when Mari casts her spells, her energy decreases. When it hits 0, she can't use her magic. It'll recharge on its own if she waits around though.

(Currently Mari's health doesn't change unless I hit the enter key. This is purely for debugging purposes.)

What does Mari use her magic for? Right now, just for hitting targets.


After 3 hits, the target "dies." Look at Mari do a little victory hop at the end. She really hates targets!

That's all I've implemented today. Tomorrow, I'm going to try and work on Mari's jumping. More than that I'm not sure! It depends on how long it takes to fix the jumping bug, I guess.

Thank you for reading!

Submitted(+1)

Mari is so cute! I like the arrow to indicate direction of movement.

Submitted

Ahh, thank you! I think so, too!

The arrow is just a placeholder right now, but it's been really helpful since I am working with just the one sprite at the moment.

Host(+1)

aa this pixel sprite is so cute! i'm super impressed by the amount of functionality you have so far--best of luck with the game!

Submitted(+1)

This is looking so good - the sprite is adorable, and can do an impressive range of stuff already!

Submitted(+1)

Thank you to everyone who has commented so far!! I really appreciate it! :')

Day 2

I was feeling really low energy today, so not a whole lot got done. I didn't get around to reprogramming the jumping mechanic like I was planning to, but I'm sure I'll get to it in good time. Instead, I spent a lot of the day thinking about the game and working on my design document. In thinking about how I want to approach the level design and story, I think I've settled on a subtitle and a basic premise for the game. The game is now subtitled Calamity at Mage's Tower, and as the name suggests, some Bad stuff (dark magic, monsters, etc) has happened at Mage's Tower that Mari will have to investigate and resolve.

All that said, not a lot of that will actually read into the prototype I want to make! I will probably try and make a tileset for the Tower's interior so I can use them in the prototype, but otherwise a lot of what is in my design document right now is just there to help me make decisions about the kind of level design and functionality I want to integrate into the prototype for this jam.

In addition to working on the game design doc, I've also made a bit more progress with Mari's sprite:


Look at Mari go! She can walk! :-0 I'm still not 100% happy with the animation, so I'll continue to tweak it over the course of this week. I ended up tweaking Mari's design just a little; maybe the most noticeable change is the fact that her eyes are now black instead of blue, which was a hard decision to make, but I think this makes her sprite a little more readable and will make figuring out Mari's color palette easier if she ever picks up a new cloak. I'm hoping to up Mari's walking animation from two frames to four for a smoother look, too. I think I will work on art for the game on those days where I don't have energy for the rest of it, like today. I've found pixel arting to be kind of meditative, actually, especially with the right music (I made Mari's walking animation while listening to Shovel Knight's soundtrack).

Also, here's a quick concept for what I want the game's HUD to look like:

These new HUD elements haven't been integrated into the game yet, but they're going to be my primary interest after I nail down Mari's movement. Just left of Mari's health and energy are all the different spells she'll pick up and use over the course of the game. She'll be able to cycle through these with a button press (I'm modelling this after how the select button is used in games like Super Metroid). Left of her spell loadout is where the game's map will be. I don't quite know how I'll integrate it or if there's even enough space in the current HUD, but I'll figure it out when I get there. (:

That's all for today. Thank you for reading!

Submitted(+2)

Day 3

I still haven't gotten around to fixing Mari's jumping. >_> I gave it some thought, at the very least. I think there are two ways I can approach it (either I try and fix Mari's jumping as is or see if I can find a new way to program her jumping), I just haven't settled on one yet. I probably won't say anymore about Mari's jumping for now until I fix it.

Today though, I would like to show off a few new tricks that Mari has learned. First up: Mari's gotten better at spellcasting!


Does Mari have a crouch animation now? Yes, yes she does. When the player holds the down key, Mari crouches to the floor. From this position, she can cast magic at low targets as well as crawl to get through tight spaces.


However, like her jumping, something is a bit off with Mari's crawling...


When I discovered this bug, I couldn't help but laugh. When the player releases the down key, Mari stands up, even when she shouldn't be able to. I guess she's just really good at magic! Unlike her jumping, this isn't a bug I know how to begin to approach. I'll think of something though, I'm sure.

Other than that, the only other new thing I worked on today was scene changes.


They're not quite perfect, but they work. I actually have a pretty good idea of how I want to approach making these transitions look smoother (currently I'm using two actors instead of just repositioning the first), but after I implemented this feature, I was just too game jammed out to continue working on the game today. I may do a bit more pixel arting before bed, but in terms of in-engine work I am pretty happy with where I'm stopping and have a pretty good idea of what I want to work on tomorrow.*

As always, thank you for reading!

(*Sort of. I start classes tomorrow, so I'm not actually sure how much time I will have to work on the game, but I'd like to continue working on Mari's movement and clean up the game's screen transition.)

Submitted(+2)

Day 4

Today was my first day of classes this semester (I have Mondays off). Because of this, I didn't get a whole lot done, but I feel like what I did get done was really important to the feel of the game.

For example, the game now has a title screen!


This is actually just an image I made in photoshop and now have set as a background to a title scene in-game, but when the player presses enter the screen fades and the first of my debug rooms appears! I'm hoping to mess around with this title screen a bit more later on, adding some fancy animations and some more visual interest to its background.

In addition to the title screen, transitions between scenes now look like they would in Metroid or the original Zelda (and other classic games, I'm sure). I think this does a lot to make the game feel more like a Metroidvania. :>


This took me awhile to nail down because when I initially programmed it I had a couple of my values mixed up and couldn't figure out what was wrong. But now it works! Yay! Unlike the transition yesterday, now a new instance of Mari's actor is created when she enters a scene. I'm currently working on a scene behavior that will allow me to easily copy these kind of scene changes to new rooms. I'm hoping I can finish that tomorrow.

I've also been slowly working on Mari's walking animation (at about the rate of one frame a day haha). I'm not completely happy with it, and I think this might be because of the angle that Mari faces the camera. If the player saw her at a side-view I think it might be easier to communicate walking. That said, I do like her current three-quarters angle, so... If any pixel artists have any advice about how to make this work, I'm all ears! Otherwise I think I might just keep the current sprite as an idle animation and make adjustments for the rest.

As always, thank you for reading!

Submitted(+2)

Day 5

I didn't get much done today because of school and work, but still, I guess any progress is good progress.

I've updated the title screen a bit. It should be a bit more visually interesting and easier to read (I'm not sure what I was thinking about with the subtitle colors last time).


And I also made a behavior for scene transitions that should be easy to set up in any new scenes. I had a surprising amount of trouble setting it up, but I think the trouble's cause has more to do with Stencyl or me misunderstanding how its coordinate system works than something I was doing wrong. Nonetheless, this means I can start building more debug rooms.

I read Kynan Pearson's articles on how to design a Metroidvania last night. I was really pleased to find out that my approach to this prototype is exactly what he suggests a designer approach designing a Metroidvania (he says to start with the mechanics, then build level design out from there). So for this prototype I think I am just going to design each room around a different mechanic or upgrade in the game. I think that's doable. I also want to create some kind of dialogue system, so I might try and integrate signs that the player can read in the prototype to get dev commentary. I'll probably throw some targets into each room so the player has a bit more to do, too.

As always, thank you for reading!!

Submitted(+1)

As a huge fan of Metroidvanias i can't wait to plat this game (actually i can't wait to play all of the games made during this jam but i gotta admit you got me with that metroid styled title screen)

Submitted

Thank you!! I'm having a lot of fun making it. Hopefully, I will have a lot of the groundwork laid down by the end of the jam.

Submitted (1 edit) (+4)

Day 6

Another busy day, but guess what? I fixed jumping! There are still a few quirks, but the big one (wherein the player launches straight into the air and clings to the ceiling as long as the jump key is held and they are colliding with a tile) is gone so it is mostly functional. Ideally, I'll have time towards the end of the jam to implement a smoother means of jumping (that considers how long the jump key is pressed, among other things) and work out other quirks.

Now that the (majority) of the player's movement has been implemented though, I can start working on implementing power-ups and some level design. So yesterday I made sprites for three of the four power-ups I plan on building the game around.

First, we have Red Magic, which will behave like the missile upgrade in Metroid games (in that it is used as a projectile attack and as a means of getting past certain barriers). Next is the Magic Shield, which will act as a, well, shield, and also allow players to navigate underwater more easily. Then we have the Magic Lantern, which illuminates dark areas and dispels illusions. You can think about it as a combination of Super Metroid's x-ray beam and Zelda's Lens of Truth. And finally, the upgrade for which I have not yet made a sprite--the Magic Cloak, which will improve Mari's defense and grant her the hi-jump ability.

I plan on beginning to implement these this weekend in addition to also figuring out how to use Stencyl's unofficial dialog extension. Normally, this would be something I would want to figure out how to implement myself, but the extension seems really robust and customizable and I don't want to waste too much time figuring out dialog since it's kind of a secondary feature for the prototype right now. In the proper game, I want to scatter notes and world building things all over for the player to pick up and read. And I maybe want to have NPCs? I'm not quite sure yet. I've also been thinking a lot about how to make a map system and I have some ideas I may or may not get to. We'll see.

As always, thank you for reading! :')

Host(+2)

that transition looks SO GOOD i am really excited!! great job!! also congratulations on getting your main mechanic implemented! these extra thoughts sound pretty cool and maybe you could make a list of possible features in a game design document and kind of prune down what you think you would like to tackle first or consider more important. also your devlog is such a pleasure to read--it's really nice to see a clearly documented process. looking forward to seeing more!

Submitted

Thank you so much! And yeah, I think I will create a new section in my design doc for possible features. It should help me stay organized. Thanks for the idea!

Submitted (2 edits)

Day 7

I didn't get a whole lot done on Day 7. I try to use my Fridays to recharge and take care of my mental health, so I generally do as little work as possible after I get home from class or work.

I did do a bit of level design work though. Mari's currently navigating in a few new rooms designed to test her new abilities. In making these rooms though, I discovered that my current system to initiate scene transitions (I have a region slightly off-screen that, when collided with, triggers the transition) doesn't exactly work (read: doesn't work at all) if Mari is crouching. So instead of the screen moving to the next room, Mari falls off-screen and there currently isn't a way to get her back on-screen without resetting the game. I'm a little daunted by yet another bug, but I'm sure I'll figure it out. I'll set aside some time after I implement the power-ups to work on this and other quirks.

Day 8

Red Magic is implemented! Sort of! It's technically just a sprite-swap of Mari's Blue Magic for now, but tomorrow I'm going to adjust some values so that it hits a little harder and requires more energy to use. I also need to work on creating the red barriers that Mari's red magic will destroy.



At the beginning of the gif, Mari can only cast her default spell. After picking up the red spellbook, she can use the space bar to switch to and use powerful, red sneaker magic. If you've been keeping up with Jyzavi's devlog for her game Donut Witch (which looks really cool) then you know she worked really hard on making a dirty sneaker sprite and generously offered it for use in other games. I decided to take her up on this offer, so now Mari's red magic will manifest itself as sneaker powers haha. :')

I thought about adding a graphic indicator to the HUD so that the player will know which magic Mari has selected, but I am tired and my brain is all ~~ tonight, so I'm just using some text indicators for now.


Soooo I think that's it for tonight.

Also, a big shoutout to Liam, who generously volunteered to help compose some music for my game! Thank you! (I can't find his devlog right now, but when I do I will make sure to add a link in this post.)

And as always, I would like to thank you for reading~ <3

Submitted (1 edit) (+2)

Day 9

I think today may have been the most frustrating day I've had developing Mari Quest. This morning, I implemented the Magic Cloak power-up (currently it just gives you the hi-jump ability, as there isn't really anything in the prototype right now that would necessitate a boost in defense). It works great! Mari can now jump up to platforms that were, until she acquired the cloak, out of reach. I still haven't made a sprite for the Magic Cloak, so I've just been using a placeholder in the meantime. I have a palette picked out for Mari's costume change, but I haven't implemented it yet because it seems a bit superfluous at this point in development.

It was in testing Mari's Magic Cloak and Red Magic at the same time that I ran into trouble. That statement is a bit misleading, actually. What happened was, I realized that the system I'm using to determine the player's magic selection stopped working when Mari changed rooms. Now, I've had bugs, some of them have been big enough to force a reset when encountered, but this is the first bug I've run into that has really demanded immediate attention, since it was tied to so many essential systems. So I stopped where I was for the day re: magic and decided I would fix that bug then and there. Fast forward a few hours and I still hadn't figured it out. I was starting to get flustered. So I walked away from the game and worked on classwork until I had enough energy to figure it out. I was feeling pretty demoralized.

Luckily, I managed to narrow down the issue the next time I opened Mari Quest's project file. I noticed that the bug affected more than the selection system; it also affected Mari's energy in a pretty strange way. She seemed to use a greater and greater amount of energy every time a scene change occurred. So, I did some debugging and concluded that something had to be wrong with how Mari was spawned in each scene. There was no way one instance of Mari could use that much energy... so maybe there was more than one instance of the player character? I created an attribute to track the number of player characters on and off screen and confirmed my suspicion.


You can see here how the number of actors increases everytime Mari enters the room on the right. (Please excuse the busy HUD. I've been using it for a lot of debugging today.) I knew what was causing the problem now! Except... I didn't know how to solve it. This was never an apparent issue before, so it couldn't be something with how I was handling scene transitions, right? I really wasn't sure. So I went to Discord for help. Big shoutouts to Mitsu from MFGJ's server and BMJ and CrimzicZ who helped me narrow down the issue and resolve it. In the end, I ended up making some adjustments to the scene transitioning's behavior, and the problem was solved. Huzzah!

At this point most of the day had already passed, so I quickly added in a few things and set up my work for tomorrow. There's still no difference in energy expenditure between Blue and Red Magic (this should be as simple as changing a value or two when I get to it), but Red Magic can now dispel red barriers.


This is a buffet as far as GIFs go. First, you can see Mari's improved jumping ability, then you see her use Red Magic to get through to the next room, and then you get a peek at the next room where I have started to work on figuring out some lighting effects.

Tomorrow, I'd like to continue implementing the Magic Lantern, try and implement a new system for screen transitions (that trigger a scene change regardless of whether Mari is standing or crawling), and maybe start watching some tutorials on how to use Stency's dialog extension if I have time.

Game dev, I'm learning, can be really frustrating sometimes, but getting past those walls and figuring out solutions to bugs and other issues is a great feeling. ヽ(' ∇' )ノ

As always, thank you for reading!

(+1)

i absolutely adore your game so far, really hits that metroid nostalgia-err spot. Especially with those smooth transitions- can't wait to see how your game develops and plays~

Submitted (2 edits) (+3)

Day 10

Didn't get a whole lot done today. Still figuring out how to implement the lighting system in a way that is to my liking. I'm currently trying to do it by drawing on the screen, but I think looking into how Stencyl creates image instances might be a better route. While I was looking into that, I also cleaned up the HUD and made it a bit more visually interesting:


Mari's health and energy are now indicated by dynamic bars that update just as you'd expect.

Based off my progress this weekend, I may have to cut the Magic Shield if I want to have my prototype where I want it to be at the end of this jam. So it's a stretch goal for now. Moving forward, I want to prioritize implementing the Magic Lantern (at least as a source of light), setting up the dialog extension, adding an in-game menu, making a few more sprites, and working out bugs.

I'm hoping I have time tomorrow to work on the game, but knowing my schedule there might not be much. @_@

As always, thank you for reading~~~

Submitted (1 edit) (+1)

Day 11

Not a ton to show from yesterday. I decided to scale back even more and stop working on the lighting effects. Again, they're still a stretch goal, but I have been a little nerve wracked thinking about the end of this jam and I want to make sure I have something at least a little fun to present. So, I'm bunkering down and working on improving the feel of the mechanics that are already in place. The system for switching magics is already there, so I'm not super worried about implementing the Magic Lantern or the Magic Shield in the future; I just don't think it's what I need to be focusing on right now. I want to distill the game to its purest elements and make sure I have a solid base.

So right now I am working on making Mari's jumping feel better and implementing a score system to track how many targets are left to destroy in the prototype. I'm also working on some presentation elements like basic level design, menus, etc. I have a good idea how I want to approach each of the bugs I've encountered, so I'll slowly be fixing those, too.

Fingers crossed everything works out #_#

Thank you for reading!

Edit: Liam, who has made some music for the game, has posted his devlog. It looks neat, so you should check it out!

Submitted(+1)

Day 12

Got a couple of things done today! Implemented the new system for switching scenes and designed all of the rooms for the prototype. Also did some fancy stuff with the title screen. Not a whole lot I think is worth showing yet, but. Tomorrow I need to figure out how to stop targets from reloading when players reenter a scene. It shouldn't be too hard? Then I want to start watching some tutorials I found pertaining to the dialog extension. After I get those two features in... the prototype is basically done. I'll just have to work on fixes for bug and polishing it from there.

Submitted(+1)

I hit a wall in the last two days, which kind of halted progress. Fortunately, I figured out stuff and was able to continue with the rooms I designed for this project (I was, at one point, unsure if I would finish the game and made a single room where players could test out Mari's ability). There are still a number of quirks to the game, and I didn't find any time to implement dialog, but you can play through and do a couple of things. I also ended up removing Mari's ability to crawl because I didn't have time to debug it. Ah well. When the number of targets left hits zero, the game ends (although you can press the "r" to return to the title screen and walk around the game freely).

You can play the game here: https://itch.io/jam/my-first-game-jam-winter-2017/rate/113184