A New Direction

Project SeedWorld has been put on the side for a couple of weeks. What really happened is that I needed to reconsider the scope of my project. I felt out of my depth. See, what I really wanted to make all along is something like Cube World but with a different set of game features and more focused questing, and the added perk of being regularly updated by yours truly. But that didn’t end up going the smooth trail I wanted it to be.

For most of the project I was working on getting the voxel generation and rendering engine to work well and mostly bug-free. It can now render large procedural landscapes. Physics is all custom made and I can make a player avatar walk and jump around in the world. I finished fixing the last major graphical bug that it had and then- well I have a large world. That I can run and jump in. Suddenly I felt overwhelmed with how much more I still had to do.

I started adding some GUI code to test rendering and controls, but I needed to add something that resembles gameplay, even if it were the most vague. I could throw in a bunch of objects into the world, what they are isn’t important, but just to make the player pick them up. But I needed to add an inventory menu to track those objects. I felt that it wasn’t interesting enough.

A Change of Genre

I have also been taking a look at other games (completed and in-progress) to inspire me, and in particular voxel games such as Staxel and The Deer God has been so influential for making the decision to scale down my game. So as of now Project SeedWorld will be a platform game in the vein of the 2D Super Mario games. It might still have item management and RPG-like progress elements, but most of the focus will be on run-and-jump platforming action. I think I would have more fun making a game of this genre, and also stand a greater chance of making the game fun.

But the voxels will stay. I am gonna keep most of my voxel engine as it is, just with changes necessary to fulfill the needs of making a platform game. Voxels will be reduced in size, so it will be like Staxel. I will probably restrict the movement to mostly 2D, but graphics will still be full 3D. Just now with the added benefit of being portable with MonoGame (possibly the next big challenge).

Will the worlds/levels be procedurally made? That depends on how easy it is to making procedural levels for a platform game. I’ve researched a bit and read an article or two, and it’s not like throwing a bunch of noise functions and tweak their parameters till you get something that looks nice. The world generation will depend greatly on the actions of the player, knowing where to place platforms that are accessible, obstacles where appropriate, a decent flow of challenge, and this could mean many, MANY hours of play testing.

So there you have it, and now begins my work with a new type of game. Guess I just needed a break again from the project to think more clearly on what I should do. Also, because I already have most of the voxel engine already made, hopefully the start will be a lot easier.

Posted in Engine, Gameplay
4 comments on “A New Direction
  1. Modrain says:

    I have two questions regarding your project before the genre switch. Did you take the time to think about a gameplay and wrote it down ? And did you try to list what was left to do ?
    Actually, I suppose you don’t, but I may be wrong, of course ^^.
    It might sound obvious, but it’s really hard to make a project move forward if you don’t have a clear plan of what you’re trying to do (even professionals regularly mess up this part…). Usually, when a project stops (or reorientates), it’s because nothing/not enough was written down, listed, and planned. Things that seem to be overwhelming when being thoughts can feel astonishingly accessible once they’re planned. Of course, it’s not about having an exhaustive and intangible list, but having a direction.

    That being said, if you really felt overwhelmed by your own project, then it’s the right thing to do. Throughout years, I’ve followed many voxel projects. Most get world generation working, some player movement, occasionally physics, in a very short time… Then they die, stop, disappear, because they don’t know what they’re doing or where they’re going. Refocusing or reorienting is rarely a bad strategy if you really want to achieve something. On a personal level, though, I was more interested by a Cube World-like RPG than a platformer ^^.

    Like

    • Chris says:

      To be honest, I rarely write down game design or documented stuff down on paper. I only use it to solve tricky problems with programming to help me better visualize how I can overcome it.

      I can think of what needs to be done. First, when I moved on to the GUI, I was using a third party library which I have succeeded in isolating from the rest of the game framework. I really liked the demos that were implemented, and how easy it is to make it adjust to the screen resolution (responsive GUIs are the best). Then that’s when I didn’t know whether I should have started on an inventory screen or options screen.

      On a broad sense here are the things I would have needed to make for the RPG:

      – Inventory/item system
      – Enemies
      – NPCs
      – Cities or villages (shops included)
      – Quests
      – Dungeons

      I could possibly drop the quests thing and have the player hack and slash till the cows come home, but quests are one thing that I would think should make it stand out from most open-world games.

      I have learned a lot simply from making the voxel engine, though. It is my first attempt at procedural generation with anything and really liked how I could make an entire world without actually modeling anything or designing levels and such.

      With that said I will keep the engine and adapt it to other kinds of games, such as the platformer mentioned above, or a top down arena style shooter which I also really would like to make.

      It’s disappointing to hear you wanted the Cube World style RPG, but who knows, maybe it will come back in development after I have finished another game or two.

      Like

  2. Giawa says:

    I’m glad to see a new blog post! Ya, the scope of these types of projects are huge! I’ve had several times where I’ve gone and taken a break to re-evaluate if I’m really doing ‘The Right Thing’. It sounds like you took a similar break and have decided to switch up your game plan. I’m glad you’ll still be using voxels though 😀 I definitely have a soft spot for voxels, and I hope that the voxel space keeps busy and diverse with all of the developers working on cool things.

    I am continually stunned by the huge gains you make in your engine and tech with each blog post. I imagine that your new project is going to be taking on a life of its own very shortly. I’ll definitely continue to follow your progress! Let me know if there’s anything I can do to help, and I’m looking forward to seeing and playing your game in the future.

    – Giawa

    Like

    • Chris says:

      Hey Giawa, nice to read a post from you! As silly as it sounds, I haven’t yet done the sunlight propagation thing that I told you I had problems with, but with the last post: link I should be able to solve this relatively quickly now, since chunks now have references to their neighbors. So I’ll let you know if I run into more technical problems that you can probably fix.

      Right now I have been busy on a side project with Entity-Component Systems which you can read in my other blog. I created a simple prototype game with it and I plan to use it to handle game logic in future games.

      The platform game and top-down shooter game that I mentioned above won’t rely on proc gen so the voxel engine will need to be tweaked for that. It will load voxel “tiles” that are made manually with Magica, so it might even be simpler than the original engine.

      Like

Leave a comment