Robin's Devlog
-
Made more incremental progress on the scene editor in the little free time I’ve had lately.
Now I’m able to draw scenes of any size, at any location. There’s still a few features missing with scenes like being able to drag/drop them anywhere after being placed…or deleting scenes.
Once I’m completely done with scene creation/placement, I’ll move onto drawing the walkable areas in a scene.
I don’t plan to add too many UI elements to this unless required. For now I’m using shortcuts to switch between various modes like scene creation or selection. I don’t want to lose sight of my main goal of creating a very simple editor to draw the layout of the world along with its metadata. I will probably have to add some level of UI elements eventually though.
I know the current color scheme isn’t very easy on the eyes. I was focused more on function over aesthetics for now.
-
Made lots of progress on the editor since last time. I also gave it a name…Troidly!
It currently supports the following features:
- Drawing scenes (These are shown as purple areas)
- Drag and drop of selected scene anywhere on the grid
- Drawing walkable tiles within a scene (These are currently all blue tiles). As described before, this allows for easily showing the high level layout of the scene’s tilemap so that you can see the walkable areas. It’s basically what every Metroidvania out there shows in their maps. Overall, this step is still optional and doesn’t add any functional value to the overall map, since it is the scene that is directly linked to the TMX map.
- Saving and Loading the overall “ScreenGraph” as JSON.
Even though this is coming along nicely, the UI part of it is still not very nice to look at, and probably never will be. And the different modes (“Create Scene”, “Select Scene”, “Create Tile”, “Create Scene Links”) are all switched by using function keys.
I recreated part of the beginning area of the Castlevania SOTN map as a test of what’s possible so far:
I still want to at least add the following features before moving on to the scene metadata editor portion of it:
- Creation of Scene Links to link 2 different scenes together by connecting their edges. This would be where doors or other scene transitions happen.
- Auto-tiling for the walkable areas (would make tiling these much quicker than just using the palette on the right)
- Generate empty TMX maps with a relevant collision grid for any scenes that don’t already have a TMX map assigned. This way it would be easy to test out the overall game layout by just using this editor. I would probably create an exporter that does this in a plugin-style, so that it could be extensible to other types of maps.
-
Made quite a few updates to
TroidlyTroidal since last time.- Added auto-tiling of walkable areas via a toggle. It’s much easier now to design scenes.
- Added right-click selection of tile on canvas for even easier editing
- Save/Load Dialog is better now since it uses Winforms (though this makes it constrained to Windows for now)
Before creating SceneLinks, I’m working on generating “Collision Tile Maps” of all the designed scenes. These are simple TMX maps with a light background and black collision tiles, and it would directly correspond to the type of walkable tile plotted on the Scene. A “walkable tile” in the Scene actually represents an entire screen. This gives the benefit of quickly generating a set of traversable tile maps that represent the designed scenes so that one can get a feel for the overall flow of the game early on. Of course this would have to be fine tuned with more ledges and interesting shapes, but this would give a much easier starting point than doing everything manually. The more visually appealing tiles that represent the actual world can then be drawn on top of this.
Once this is in place, it would be easier to create scene links between maps.
And then I could finally get back to working on the actual game again…
-
Made more progress this week on the editor.
I am able to generate collision tile maps now for any scene that doesn’t have an associated map. Luckily the TMX map format is plain text and super easy to write. There’s still a few things I need to adjust, but it’s mostly working.
Also I replaced the ugly UI with a nicer looking Dear ImGui interface. I used Dear ImGui earlier but didn’t fully explore what it was capable of. I see how it allows non-UI people like myself to easily create great looking interfaces for tools with minimal effort.
Since I’m using Dear ImGui now, I was able to remove the WinForms code I had in place for Save/Open dialogs. So now in theory this should work on other OS’s too .
-
Yet more editor progress.
In the past week, I’ve mainly added scene link creation/deletion to the screen graph editor, and the beginnings of the scene editor.
Pictures are worth more than a thousand words so I’ll keep it short.
Now my proof of concept SOTN map looks more like an interconnected map.
-
Minor update here, regarding updates.
I’ve been making consistent progress on several things, like the scene editor and being able to run through generated black tile maps (which required an overhaul of my previous scene format).
But I’ve determined it would be best if I posted high-value updates going forward versus a bunch of small low-value updates like I’ve been doing in some cases. I did remove the “gruedorf” from this blog afterall. I realized I really don’t need the gruedorf concept anymore to keep me working on stuff…because due to how I work, there’s always something happening weekly regardless.
Anyway, I’d rather not look like a commit log of a bunch of small things that should’ve been rebased into a larger commit. So my updates will probably have much bigger gaps, but be more interesting.
In the meantime, good luck to the gruedorfer’s out there!
-
Almost 2 months later, I have a Christmas day update, though this has nothing to do with Christmas.
I’ve been working on the game at a consistent pace the past 2 months. It has generally been a mixture of pixel art, map making, and code updates.
The in-game map system is overhauled to where it does not function like a roguelike anymore. It has the following features:
- Minimap that scrolls dynamically with the player
- Large map that is scrollable and shows all covered areas
- Improved map transitions that now scroll out the entire map while scrolling in the new map seamlessly.
Creating the editor has helped tremendously in making a seamless experience going from one map screen to another.
I also refined the core concept of the game, which deals with reviving a dead world. The scope of the game has also been narrowed quite a bit in terms of the overall goal and what the player can do. I’m trying not to fall into a trap where I keep adding more and more features, until the goal becomes unattainable.
A big part of the game is turning areas that look like this:
Into something like this, by using the core abilities of the player.
That’s it for now. Until next time, Happy Holidays!
-
@Robin Haven’t posted here in quite some time, but I’m still working on this game.
I kept getting confused on the overall direction of the game, but I think I have a better handle on it now. I’ve also been working on a design doc, which I didn’t have before, so that should help things along greatly.
The design has changed somewhat significantly too, and these modifications were mainly geared towards having a realistic goal when factoring in all things related to life/day job. My goal is still to finish a game, and sometimes that means cutting out lots of planned ideas.
Another big change is the overall art direction. I think somewhere along the line, I lost sight of the feel I was going for. Things looked a bit too bright and happy like something you might see in an old Mario game. After some experimentation with different pixel art styles, I’ve settled on one that’s simple and easy on the eyes, while being closer to what I originally envisioned.
-
@Robin Nice art on the cave tiles. Also the giant bat looks very distinct and memorable. Are those flies hovering around the big bat?
-
@slimehunter84 Thanks. Glad you were able to tell those were flies Probably easier to see in motion.
-
@Robin I eagerly await your next post. Also… are you on the discord?
-
Glad to see this place is back up after being hacked!
I’ve been really busy with family/life stuff lately, and I’m preparing for a move so I haven’t had much time to work on my main game. Though I do intend to get back to it as soon as I can.
In the meantime, I’ve used what little free time I had during nights to do an exercise in simplistic game design/development, and it took roughly a month and a half of working on and off to make this. I attempted to make an infinitely scrolling game where the only thing the player can do is move the mouse around, or click the mouse, to protect a boy who is walking to his grandmother’s house. So the game is tentatively called “Walk to Grandma’s”.
I made this mainly as a development sandbox to get more familiar with aspects of the Nez framework that I haven’t explored much, and it allowed me to see some inefficiencies in the way I did things before. But it turned out to be…kind of interesting?
Currently there’s only one enemy type and there’s no real objective other than to see how long you can protect the boy from the creatures that are stalking him. The enemy spawning rate increases for every mile walked. If I decide to continue this as anything more than a sandbox, I’ve got other interesting features I would add.
There is a download link below if anyone wants to try it.
Controls are simple:
- Move mouse over an enemy to attack them or move them while they’re stunned
- Move mouse over dropped gold to pick it up
- Hold down left mouse while moving over enemy to knock them back depending on accumulated power level. This is intended to do something else in the future, should I continue on this.
- Enter to pause game
Screenshots:
Download:
https://www.dropbox.com/s/ff6z08fo7gs92hm/WalkToGrandma.zip?dl=1
(Sorry for the sea of dll’s in the zip. Just run WalkToGrandma.exe) -
@bengrue I do get on discord every once in a while to see what everyone’s up to.
-
Wow I haven’t posted in so long that I got a prompt asking me if I want to create a new topic since this one is so old. This is more of a “still going” update.
I’ve gotten into a rhythm of working daily on the “metroidvania” (still hate that word but I’ll use it). My current goal is to make a fully traversable map. I’ve been doing lots of design work on graph paper (which is glued together to make a huge map). Then I transfer this design to the mapmaking tool I created earlier. I find designing the map on graph paper is easier than using software…because sometimes I find myself just staring at the screen doing nothing. This doesn’t happen with paper surprisingly. Sometimes oldschool methods still work!
Speaking of the mapmaking tool, I can do more actions with it now such as placement of “things”. A “thing” can be anything from an enemy, to a plant, to a moving platform (complete with a waypoint editor that lets me move platforms in complex sequences). Each thing can also be rotated/scaled/tinted, which allows for more diversity of stuff like plants, rocks, etc. I think the tool can do most of what I want it to do now.
Once I’m done with the fully traversable map, I will start filling it in more with enemies, powerups, etc. I’ve already designed all the powerups and created a general flow through each area with the required progress gates (powerups or other things needed to get past an obstacle). I also know the title of the game now, along with the overall story, but that will be shared at a later point.
One day I may have to start using social media again if I’m at a state where I’m happy enough with what I’ve created to share it with more of the world, even though I dislike social media in general.
This video really sums up how I’ve been approaching game development lately:
I find that as long as I just do stuff, instead of thinking too much about what I logically should do next, I get more done. -
I’ve done more than I can really describe in the past few months. Maybe some development shots can tell a better story. This is mainly to show that I haven’t given up, and don’t intend to!
-
@Robin wonderful!