Monolith Dev Blog 1 – What is Project Monolith?
What is Project Monolith?
Monolith is a 2D role playing game with an ASCII graphic style (it uses letters . Development began on January 1, 2016. It is being written in a Java in a custom engine. Project Monolith is just the projects name, the final name has no been decided.
Why ASCII?
“Excel by from your limitations” is a simple rule I like to use. What I like to do is challenge myself by putting limitations in place to be creative and innovative. For this project, I have decided that the only sprites I could use are basic keyboard characters.
There are only 94 sprites I will use to create the entire game, one for every key you can type on a basic keyboard.
The engine I made for it can accomplish much more than being tile-based and ASCII. I am making the game more complex because one of the top priorities for me is to make this game look as beautiful as possible even though it uses low pixel sprites and ASCII art.
What is done so far?
Most of the basic engine is in place. This includes basic rendering, loading levels, basic player movement, and a framework for entities and mobs (term short for ‘mobile’, such as an enemy). Right now I am working on making a test level, and making sure that reading the level files is working.
The player (represented by the yellow @ symbol) can travel on all brown spots, which right now are represented with a 0 for testing purposes, but in the future will be designed to use any character sprite.
Each level right now reads from 3 files, a text file for what each tile’s symbol should be, another text file for which tiles are solid or not, and an image file to color each tile. Once mobs are finished, each level will use another file for mob spawns.
The way I have gone about making Monolith so far is not what you would expect. Each tile is actually black and white, but then when it gets rendered, it replaces the color with whatever color it should be. Also, if you take a close look at the earlier screenshot, you will see that each tile is not a solid color, but instead is various shades of a color. I call these ‘blemishes’, and they are generated randomly to make the world seem a bit dirtier than a if each tile was its own clean color. The rendering of the game is probably it’s most unique feature so far, since the rest of what is done so far is fairly common practice if not a bit inefficient. Currently I am running the game at an average 800 frames per second, with my computer not being very powerful, as it is over 5 years old. I hope to achieve a high frame rate on any computer, since the graphics and processing power needed is not much at all compared to many other programs or games, as you might assume.
What is the game going to be?
Honestly, I don’t know. The project could go in so many directions, I can’t really give an estimate of the final product, if it is ever finished. But the fact that I don’t know the end motivates me, in a way, to work even harder on the game.
I am not sure how often I will update this development blog, but they probably will be released any time something notable is finish, or possible on a regular schedule.