As my mind continues to bounce between ideas I decided to play around with making a randomized tile map with a player object that can move from tile to tile with WASD. FFT was stuck in my head today and it kept throwing the logic at me to do this, so I had to sit down and type it out. It's a nice start to having a tile-based game prototype to pull from later if I need to.
Didn't get much coding done yesterday, due to sickness. However, a combination of hot tea and medication put me back on track, so I finalized the combat in the game (implemented the last feature and got rid of any identifiable bugs). All I have left to do is the tutorial, and then I'll submit it to #1GAM. The tutorial is going to be a pain, because I don't really have time for anything more than a wall of text, and that's REALLY not how you should make a tutorial in a game. I'll think about a different way to implement it, but I don't want to spend a lot of time making a tutorial for a game nobody will play (a bad way of looking at it, I know, but at some point I just need to move on to my next game).
I've been having difficulty getting past a problem which caused me to not commit any code the past few days as I simply read and learned instead.
But I've conquered it! Wahey!
Essentially, I was trying to figure out how to tie my Main -> State -> Editor -> World -> TileList -> Tile structure together such that the children had no knowledge of the parent and the parents blindly passed signal context (events) to the child. This allowed Tile to listen for a click and update itself within TileList.
This is due to Elm being a functional language which doesn't have state on objects, simply functions and data. It makes everything a lot easier, once you've got your head around a couple of concepts. It is a language in early and rapid development so I'm sure this will improve.
Anyhoo, here's a gif of the initial editing a world (along with a mouse position bug due to image overlays).
I made a little tune that will play at a screen that is reached when the player loses. I cannot attach the file, so I uploaded it to Soundcloud. You can listen to it here.
So the advantage of being Australian seems to be that I get the first streak entry each day :)
Implemented gems into the game. I'm able to set the gem to the correct graphic and push them down the board (warping at the moment, animation will come in a bit later). This implantation is local only, and pushing them onto the board is very hackey. This was more a test that the gems could be set to the proper graphic.
Next will be a robust algorithm for generating gems on the board, both offline and in the network. The requirement is that the gems are random, and that four gems aren't generated in a group (as this is the gem clear condition).
After that has been implemented it will be time to get the avatar at the bottom of the screen actually interacting with the board. I'm hoping to have that done by the end of next weekend.
No coding tomorrow, but I won't be breaking the streak. I'll be sitting down with the artist that I'm collaborating with and start to put together some of the UI elements. I'll also write a blog post about my progress (probably using my Streak posts as a basis) and hopefully be creating a Trello board for this project so we can track elements of it better.