Posts Tagged ‘devlog’
I’ve decided to try to make my first video game this week, and I’ve given myself the restriction of five days to complete this project. The usual thing to do is to have 48 hours like the Ludum Dare, but since this is my first game I don’t want to rush or lose any sleep over it. The goal is to make a short 2d platformer about a boy who falls into a well, and has to try to find his way out. The reasoning behind the well is so that the game takes place in a cave setting, meaning less art will be needed. Due to my lack of creativity, the game is named “The Well”. The engine will be done in from scratch in Java, as that’s what I have the most experience with. I tried to learn to use some libraries like Slick2d, but it took too much time, so I’ve decided to just stick to what I know.
Today, I’ve managed to get some of the foundation code set up. So far, the game loads a map and tilesheet (text files) and places a character for the player. So far, the player can move around, and collide with the walls of the level while the camera follows him around. I’ve decided to have three layers, a background layer, a collision layer, and a foreground layer. The reason there are three separate layers is to make the map editing more flexible, as there doesn’t need to be code for each type of tile possible. Another benefit of having separate layers is that each tile doesn’t have to be completely square. The collision layer and the foreground layer can have transparency without leaving holes in the level.
So far in terms of art, I am just using placeholder black and white tiles to show the background and the walls, but these will be replaced with proper tiles once I am done with them. I’ve also drawn a main character, but it is still a rough draft. For this project, the coding will probably be done first, with the art, music and level design done after all the main mechanics are in place.
The biggest challenge today was trying to structure my code. I spent so much time worrying about how object oriented the code is, and trying to make the engine really flexible. I realise now that it was premature optimisation that really isn’t needed for such a small project, so from now I am going to try to code quicker and just get as much content as I can done. Tomorrow I want to try to get done the coding for animations, some tight movement for the character, and a menu and options interface.
I’ll be making a blog post and video each day showing my progress and explaining a bit of my thought process behind my decisions. Overall, I think this project will be really helpful in terms of learning as I’ll have to use so many skills in such a condensed time frame. I am mainly a programmer, so naturally the coding is the most important part of the project to me, however making the entire game myself will force me to broaden my creativity. I’ll have to do all the drawing and music myself, and since I have very little experience in this I could really learn a lot from it. Another thing is that I am a terrible writer, I have always been terrible at English, so forcing myself to make these blog posts will hopefully help me work on that.
Check out my website for updates: http://custardgames.com/
Instead of a postmortem I wish to provide a journal of my thoughts and actions during this Ludum Dare. One of the things I like about Ludum Dare is watching other people’s creative process in action through their blog entries. Unfortunately I was too involved in my own creative process to blog about it during the event. So I am writing this after the fact, using my best recollection of the events. I felt I had a pretty successful Ludum Dare and want to share what I think made it successful.
Edit I just realized that this post takes up a huge ammount of screen space. Probably because it is an almost hour by hour account of my actions during this Ludum Dare. I have copied the main text to my webpage, here is a link:
“High”, as in altitude. Again, no apologies.
If you’re old enough to have been a highschooler before the average cell phone had an app store, then this probably looks familiar:
That of course is a depiction of the ubiquitous TI-82/3+ game “Drug Wars”.
It was a simple and extremely … er … addictive game. Buy low, sell high, don’t get caught, and don’t get robbed on the way to the suburbs to drop your stash of cocaine.
Now, as it turns out, this was inspired by a DOS game from the early 80s. Of course, there have been many variations, but I’m willing to bet that the one for the TI-83 has been played by more highschoolers of my generation than any of the “modernized” versions (/me wrinkles his nose at ‘mafia wars’).
Frontier: Elite II, a game from 1993, introduced black market goods to the space-trading from the first game. Whether it was influenced by DOS Drugwars is a mystery to me, but I know it was at least as fun to be a dealer in space as it was to be when I should have been memorizing trig equations (okay, it was definitely more fun — lasers).
So, of course, I had to include black market goods in μniverse.
There is only one illegal good so far in the pre-alpha: generic narcotics. I may add other goods that have special properties, such as firearms, nuclear waste, non-compliant computer hardware, unidentified alien technology… it’s easy to come up with ideas. But for now, just droogs.
Currently, the only penalty for transporting illegal goods — as seen above — is for the goods to be “confiscated” by the ITG (Intergalactic Trade Guard).
I should note that so far, there are two kinds of space stations you can encounter: ITG stations (below, left) and what I’m calling “Pirate” stations (below, right), which are not “protected” by the ITG.
Every time you enter an ITG station, there’s a chance your ship will be searched. Pirate stations, however, are “safe”. Thus, it should go without saying that prices for illegal goods at ITG stations are significantly higher than they generally are at Pirate stations.
To make things more interesting, I intend to introduce a “Smuggler” crewmember, whose presence aboard your ship will reduce the likelyhood or rate of discovery of illegal goods and later, fugitive passengers — a topic I’ll be discussing in a future post.
Yes, there will be puns. I apologize for nothing.
The most recent addition to the game was the heads-up-display for your ship in flight mode. It’s a subtle addition but it’s the sort of thing that makes it feel like, yanno, a game. I’m happy to say that it doesn’t act as a big distraction or take away from any “immersiveness” that the game might (accidentally) already have.
Right now, the only info the player needs to see are their shield levels. The way I chose to display this was an unassuming, white vertical bar. When you take damage, the bar shrinks accordingly. The important bit is that it does so in an animated fashion — any time the bar is shrinking, the ‘S’ (label for ‘shields’) shakes proportional to the amount the bar is moving.
Once your shields are below a critical threshold, the bar turns red, and the ‘S’ continues to shake along with the bar until your shields are repaired. I usually hate UI-nags but I make an exception for imminent death.
What isn’t pictured is that the camera also shakes whenever you take damage. The reason for this is two-fold: 1) This helps indicate that you took damage, but it also 2) can disorient you, much like it would happen if you were at the controls and a burst of plasma breaches your hull.
Along the same line, I’m considering having your craft be propelled by the shots as well, but I’m afraid that might be too jarring for the average player. Maybe in a sort of “expert mode”.
Ludum Dare 23 is over and my game has been submitted. It was a crazy 3 days of … crazy, and the most fun I’ve ever had making a game.
However, I wasn’t really done with my game. I had something playable, but I felt like I could actually make a feature-complete space-exploration game out of it.
So I decided to continue working on it.
Thus begins the devlog of the “final” version of μniverse.
If you’re here, I’ll assume you have already played the pre-alpha or Game-Jam version of the game and are familiar with what it is. If not, or if you want a refresher, check out the About the Game page to get a run-down of what μniverse is and will hopefully become.
Unfortunately, right now I’m in the process of cleaning up and organizing the codebase (one giant CoffeeScript file), so I won’t have much exciting stuff to report until I’m happy with that, but in the meantime, if you think this might be a game that catches your fancy, you should +follow me here on tumblr, or twitter, or github.