Tuesdady
So, I think this is a pretty hard theme. I have an idea of a real-time construction game in the vain of Magnum Opus where you build space ships for an alien invasion by combining different ship parts, or elements if you will.
I've decided to try making this game in GMS2. It'll be the first time I use the engine and five minutes in I'm already lost! How do you add objects to rooms in this thing? It's going to be an interesting journey for sure!
---------------------------------------------------------------------------------
Thursday
I've not had any time to work until Thursday night so the idea of using the extra time to learn the engine kind of didn't work. Instead I've about as much time as I normally do, except I can't even navigate this thing: I'm having big issues adapting, much more so than I'd anticipated. I won't go back, at least not for this jam, and I don't want to turn this log into one long rant so I won't go into details (tho things
were better back in the days). I
hope I'll get use to it in time, but for now it's clear to me that this is going to be
rough, and it will likely show in the final product.
---------------------------------------------------------------------------------
Saturday
Saturday evening and I still don't have much to show for my efforts. I'm considering starting over on something new and smaller in scope, because at this rate I don't feel like I will achieve what I set out to do and it's demoralizing. I'm slowly growing used to gms2 but that won't be enough to save this project. I'm going to go out on a walk and if I can come up with something interesting before I'm back I will try to do that instead.
Here's a gif of what I've got so far. Unfortunately the way I programmed objects to behave on conveyor belts don't scale well when you start welding them together so I would have to rewrite that code. I'm also missing cranes that can lift stuff off belts and rotators to spin stuff around. The game would require a lot of rules and handing of special cases, and I'm not sure what the best approach is yet. It's surprisingly tricky to make the conveyors behave.
---------------------------------------------------------------------------------
Sunday
Yup, I'm doing it!
For the first time in jam history I'm scrapping my game and starting over half-way through. I've come to the conclusion that I can't create this game given the time frame so instead of making something that won't even be playable I'm doing something different entirely. New genre, new theme.
The new game will be a board/card game where your deck is themed around one of the four basic elements. Each element will have its own preferred play style (Wind moves a lot, Earth builds tall stacks, Water floods the battlefield and Fire just burns everything). At the end of the day the elements are mostly superficial, unfortunately, but I still think the game could be fun.
Your goal will be to control the board by placing and moving pieces. The trick is that you can stack pieces that then unstack as you move, allowing you to move further and if two pieces share a space the taller stack wins. You score points after each turn and there are four turns in total. Each turn you get six cards. You can either pay mana to play cards, or discard cards to gain mana. You start with 0 mana so you will have to burn some of your cards to play the rest.
---------------------------------------------------------------------------------
I'm making good progress, but I'm (unsurprisingly) starving for time. At this point I've added most basic mechanics but only three different cards actually do something. I have ~24 more effects to code and then I need to create an AI for the opponent and add some UI elements (like picking your deck at the start of the game). I doubt I've got time to finish it all, but maybe if I can sacrifice some sleep
---------------------------------------------------------------------------------
It's late Sunday night and I've a playable game. There is only one deck that both you and the AI uses: the Fire deck, with explosions, wildfires and meteors. The AI is actually pretty decent, although I'd like to tweak it a little to reward moving off the map more (it scores you bonus points if you can achieve it). The AI works by ranking each card in its hand, given the current board state, and then tries to play its most valuable card. If it can't afford it, it will burn its least useful card until it can, or runs out of cards. It can create some pretty cool turns where it discards a ton of cards to play its aces! It's fun to watch
I'm going to go get some sleep, and hopefully I can implement one or two more decks tomorrow. Unfortunately, my schedule is really packed, but what can you do. At least I've got something working!
---------------------------------------------------------------------------------
Monday
I've managed to create a second deck of water cards. It is, in my opinion, not as exciting as the fire deck and I don't have time to buff it. I've won against the AI with it, so it's not complete garbage, but its power cards require a bit too much setup (or
are too much setup) to be worth the payoff. I've standardized the card costs so I can't easily tweak that part. I've had GMS2 crash on me once now, just to make sure I don't get too fond of it. Luckily I'd already saved so joke's on it. I think I'll write up a short review of it here if I can squeeze in the time before the jam ends. It's not
all bad
I'm afraid I'll have to cut it off at two decks, even though I've some code for the other two. I just don't see myself finishing them tonight. I will add a small deck selection screen before the game and show scoring a little clearer and maybe add some background music. It's past midnight (again) so I'll have to be quick about it.
---------------------------------------------------------------------------------
So, after having made a game and a half in GMS2, here are my thoughts.
The good: the new code editor is great and it's going to be hard to go back to the old one from GMS1. Being able to create multiple functions in a script is a huge boon, although it highlights the lack of overview features, and quick code navigation. Also, I'd have liked if the code-completion was a little smarter. It should be able to understand which variables are relevant in each context and not suggest (or push down) options that don't apply to the current object. It could also prioritize names I use a lot over less common words that just so happens to be alphanumerically ahead. For now, I need to come up with an alternative name for my controller object because here I have to write "contr" before I can quickly complete the word, and that's too much!
The bad: I don't know how best to put it, but I detest the new sprite editor. I think the new additions are
awesome, but so many features removed or kneecapped it's hard for me to use it without getting frustrated and no amount of layers or animation tools can change that. The lack of basically any tools for adjusting the images (hue shifts, outlines, glow or gradients) make what used to be simple effects unreasonable. Worse is the lack of alpha support. Sure, you can set layers to have alpha, but whenever you want to draw something with transparency you need to perform
so man steps each time you want to change color or alpha values. I didn't find a toggle for drawing with override so making corrections became near-impossible. Honestly, if I were to make the leap to 2 I might still use the old engine just for the sprite editor, and copy them over from there.
The slow: my final point of criticism concerns workspaces. Now, I realize that if you take the time to learn all keyboard shortcuts it can become a lot more usable, but for me it just seemed to add a lot more steps of mouse movement, clicking around and waiting for animations to end. I don't mind workspaces and I think they're a neat idea, but for GMS3 I think they need to be revised and heavily streamlined so that they feel snappy and to reduce the number of moves you have to make for each action. Your arms only last for so many mouse clicks and keybord strokes that you want to make sure not to waste them
In the end I think I might go back to GMS1 for the next jam, but I do feel like I'm willing to give GMS2 another shot at some point. I'll also be using it to finish up the remaining decks in Stack, so it's not like I'm entirely deterred