A few weeks ago I wrote about a blog post from Soren Johnson, a member of the team that developed Spore, and it’s really stuck with me ever since. He describes how Spore had two big ideas: one about powers of 10, the other about procedural generation. Johnson argues that only one of these ideas was ever any good (procedural generation) and that this idea should have been re-evaluated compared to the initial idea (powers of 10). He gives the following advice: “Don’t be afraid to challenge the initial vision”.
I hit a point last week where it was finally time to challenge the initial vision of the game. My thesis is a game about making a game. Originally my game was going to consist of two separate parts: one where you “make” the game; the other where you play the game. The part where you make the game was going to be very limited, with only the ability to place objects wherever you want them. After you complete this, you would then play the game as it was intended to be played: a linear, scripted story experience. The ability to place objects wherever you want was meant to serve as a way to give the player feel a sense of ownership over what they were playing.
However, the idea of a level editor within the game was a great idea that I was treating as a throwaway one. I began re-evaluating the first idea of a linear, story experience, against the second idea, of a RPG level editor. I realized that the second idea was the more promising of the two, and immediately started thinking of ways to develop a comprehensive RPG game creator.
Super Mario Maker Inspiration
Super Mario Maker is currently my main inspiration for the design of my game. It features one of the most brilliant level editor creation tools to ever exist in a video game. The simple layout and interface allows players to begin creating something immediately without any knowledge of how the engine works. It’s simple and intuitive, which is what a level editor should be. And since Super Mario Maker was designed to work on the Wii U’s touch pad, it’s perfect inspiration for my own game which is being designed for mobile.
I began the design process by starting simple: a menu on the top of the screen that let’s you place objects in the level. I created a system that let’s you select an item and then allows you to place the item by tapping on the screen. From here, I also added the ability to drag an item from the menu to be placed on the screen. So now there are two methods of placing objects in the level: selecting from the menu and tapping on the screen, or dragging from the menu to the screen. Finally, I added an erase button that removes placed objects from the screen.
My next step was creating two separate modes: an “editing” mode and “playing” mode. In the editing mode, you can build your level and place objects, and in playing mode, you can move the player around and test out your level.
As for my dilemma last week, I decided that I’ll be upscaling the game rather than downscaling the game. With downscaling, I can achieve 60 fps, which has a much better feel for dragging items around the screen. Otherwise the game feels too laggy at 30 fps. It’s possible that I’ll attempt to port the game from GameMaker to Unity in the future, or make a potential sequel inside of Unity instead of GameMaker, so that I can have non-pixel art visuals in the game.
Customizing Placed Objects
I’m currently working on a system that let’s you customize each object that you place. The player can choose what type of action happens when they interact with a certain object. These are the interactions I’m planning on implementing over the next few weeks:
- Message Appears; with ability to customize each message
- Initiate RPG Battle
- Teleport to Another Room
- Increase Health
- Decrease Health
- Death Screen
So far I’ve implemented a system that allows the player to input a unique message for each object, and when the player interacts with the object it shows the message. I want to allow for up to 5 unique interactions for each object depending on the player’s current health, or what items they have in their inventory.