• Register

Colourful, retro twin-stick shooter. Battle unusual enemies ranging from washing machines to ice lollies. Explore a randomly generated maze - Hunt down power-ups and save your kittens!

Report RSS Psychedelia, Kickstarter, and visual data storage : SUPER MEGA BEST CAT ADVENTURES

An overview on how I design map data to be human-readable, my Kickstarter draft and new psychedelic imagery for my trailer!

Posted by on

Update #011 - 08/04/16

Took a little time this morning to jot out some notes on how to structure my Kickstarter project page. Looking at some other projects I like, I've distilled what I think is a concise layout that gives enough space to get people excited over the little details.

I took inspiration from some fantastic projects, including:

So, without any more fanfare, here's my first draft of my planned layout for the project page:


Kickstarter Story: Draft Layout 1

[Animated header image, including game logo]

Catchy 1 paragraph description of game

[Animated GIF of gameplay]

Bullet-point summary of key features:

  • Key feature: Description of this key feature
  • More Key features: Everything moves super quick and is super sweet
  • Other cool things: Yes this is cool too

Gameplay elements
Illustrations of specific interesting mechanics with explanations

Platforms
State that the game will be PC only to start with, others possible via planned stretch goals. - Big button: "Support on greenlight!"

SMBCA worlds (needs a catchier title)
The enemies
- many small gifs of cool dudes

The music
- embed soundcloud links, bio on sound designer

The environments
- different environments+scenery combinations, secret rooms

Influences and Inspirations
- A short paragraph about other games that inspired this project.

Why Kickstarter?
Short paragraph explaining that this project wouldn't be possible without extra help, and how it lets me realise the game as best as possible. etc
Cost breakdown
- Pie chart
- Explanation of where the money will go

Rewards
- A pretty list with nice pixel art drawings representing each tier. Image of reward if physical
- reward comparison table


Kickstarter rewards

I've also been mulling over the idea of tweaking the rewards that I could give people, and have been thinking that maybe some smaller rewards are worth considering too! I also like the idea of perhaps badges or mouse pads with custom designs.

So currently, ideas I've got for rewards are, in order of expense:

  • Be in credits, Wallpapers
  • Game / Early bird reduced price
  • Badges
  • Mousepads
  • Access to Beta
  • Hand-drawn postcard
  • Small Poster
  • Big Poster
  • T-Shirt
  • Screenprint
  • Design a mob
  • Design a mini-boss
  • Design a boss

I think adding these additional options around the lower tier levels might be helpful to reduce the price difference where possible, and get extra physical items in the lower end.

Really interested in what people think about my Kickstarter ideas so far!


Psychedelic Interlude

Okay, so this wouldn't be a SMBCA blog post without a load of crazy GIFs. So, these are for you:

As before, these are experiments for potential use in my upcoming trailer! I can't to see how that comes out!


Human-readable data Storage (what)

Alright, last but not least, I was asked earlier about how I generate the maps in the game, so I thought I'd share a few notes about how I do it! I think it's conceptually quite interesting, as I designed the way I store the data about the mazes to be a readable represention of that same maze.

The map generator is a little complicated - I use arrays liberally. Firstly, I have a big 2-dimensional array, in each cell there is a single character representing either a wall, or a room, or a corner. It is structured something like this:


So a 'O' character represents a room that the player can enter, '|' is a vertical wall, '+' is a wall corner, and '-' is a horizontal wall. When I'm drawing the maze, or creating the doors to a room, I look at this grid to see where the walls and doors should be.

I chose a quite visual format so that debugging the array would be easier, I can just dump the contents to a text file and see what is there, and it should represent a maze perfectly. I literally couldn't recommend this approach more, it has been extremely helpful being able to just print the output to screen or to a log.

When I make a randomly generated maze, I pick a random length and width of array to use, and fill it full of a maze template like that above. I then pick a random point in the maze to start from, and then work my way around it, adding and removing walls to make an interesting structure that fills the grid.

The end result might look something like this:


So, still perfectly human readable, this time the space characters mean that there's a door there that the player can move through.

Now, the great part of having this all loaded into arrays and generated at runtime, is that if I ever feel like changing the structure of the maze in-game, it's a piece of cake! I can just write a different character to the array and then when I come back to this room it will have remembered the state of the room! So I could knock out a wall at the top left corner to let the player move down, just by changing my array to the below:

Interesting!

I use arrays of various types for lots of other things too, such as storing the content of each room, and the list of enemies present in each room, and some information about those. These are generated randomly at run-time too, so the player should have a different experience each time. I've not quite nailed down the routines that decide how each room should be populated, but the room save/load mechanisms are there and functional, and there's a placeholder 'fill-the-rooms' function.

Hope that was enlightening! I'd love feedback on anything and everything, catch me on Twitter or make a post at the TIGSource forums if you'd like to start a discussion! Or, you know, you could comment here if you want, whatever floats your boat

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Icon
SUPER MEGA BEST CAT ADVENTURES
Platforms
Windows
Creator
supermega_peter
Contact
Send Message
Release date
Game watch
Follow
News
Browse
News
Report
Report
Share
Related Games
Related Engines
Multimedia Fusion
Multimedia Fusion Commercial
Related Groups
Indie Devs
Indie Devs Hobbies & Interests with 1,624 members
Indie Gamers
Indie Gamers Hobbies & Interests with 1,490 members
The Indie Game Mag
The Indie Game Mag Hobbies & Interests with 114 members