Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

jfsaaved's Dev Log

A topic by jfsaaved created Dec 31, 2015 Views: 8,669 Replies: 5
Viewing posts 1 to 6
Submitted (1 edit)

Space Hunter

My idea is that, you will take control of a "Space Hunter" who hunts for alien artifacts, materials and rare species for a living. It will be a 2D Simulator RPG game. Most of the actions will be done through options and clicking buttons. There will be player movement but I am not clear on how much freedom it will have. The idea was inspired by space pirates from Star Wars as well as the main character from Space Dandy. Right now it's just a rough idea. I'm planning to keep it simple and develop it for desktop. One of the problems I might have would definitely be something that involves the graphics. I can't make pixel art so I'll have to improvise, and somehow find assets that would represent different planets. Anyway I hope that I will end up with a game that I have in envisioned. More details to come.

I will be streaming my progress at https://www.livecoding.tv/jfsaaved/ (no commentary) and you can find the repository at https://github.com/jfsaaved/Space-Hunter.

Submitted (1 edit)

Day 1 and Day 2

The Game

So I got a better idea of the game as I worked on it. So far, I have just applied the foundation and I am using a finite-state automata model. Basically the game flow would roughly look something like this:

States

The "Ship" is basically the hub for the player. This is where he gets to choose whether to go to a certain planet or get into a space battle with other space ships. Each state (ship, space battle, and planet) can lead to a game over; either to running out of resources, health, or ship gets destroyed. I am also planning to have some simulator elements in here such as eat, ship maintenance and other things.

The "Planet" will have two types, one where it is civilized, and another in which it is hostile. I'm thinking that a civilized planet is where the player will be able to repaire the ship, buy resources, and sell things that they have hunted and searched for from hostile planets. The hostile planets are planets in which the player will be able to hunt for things and aliens.

"Space Battle" is something that I am not sure that I will implement, and I might change this to something else. But for now, a space battle would fit the idea that I have in mind.

Development

As I mentioned, I was only able to work on mostly the foundations. I implemented the menu and ship states, which are currently empty aside from small options and objects. And so far the game looks like this:

Ship

The big box represents the ship. I am planning to make it bigger, but the player will be able to walk around (but pretty limited), and interact with certain elements of the ship. You also have a small monster there, which represents an android. That object was inspired by astro-mech droids from Star Wars, and I am planning to make it as a guide for the player. Finally you have the hero, which pretty much has nothing at the moment aside from the sprite. I am thinking that there would be U.I. in there in which the player will select through many options.

Next Steps

Right now I am not too worried about the animations and graphics, so I will start working on creating the text box images and some of the user interface. I also need to figure out how to deal with the resolution in which I am having problems with. There are many more challenges to come but I am going at it step by step. I'm hoping that I am on the right track and that I will be able to complete on time. Anyway thank you for reading and also.. Happy New Year! Woo

Submitted (6 edits)


Text Images

I had to look for a free to use font that I imagined would fit the overall vibe I'm going for. I ended up finding this http://www.dafont.com/vcr-osd-mono.font. I had to convert it from .ttf to .png and modify it a bit then parse that .png file. In game this is how it looks.

Text Image Menu

With the help of the Sprite class from libGDX, it was easy to scale, position, and rotate the texts. In addition, you can also change the color of your images.

Text Image Menu Green

Right now I am still in the process of finishing up my Text class/objects so that it will have a border/box wrapped around a text, much like in your typical RPG games. So you can see that I am behind and that progress is slow, but for now that's what I got.

More Ideas

So I have a better idea of what the gameplay would be. I am thinking that there would be a limit of actions per day (sleep to finish the day or something like that), picking the wrong actions (such as neglecting hunger or ship maintenance) would lead to a game over. As I mentioned, the ship would act as a base/hub for the player, and that is where they will mostly decide on what actions to do next. I imagined that it would have 3 main options, which are, 'navigate', 'supplies', and 'maintenance'. In 'navigate', this is where the user would decide on which planet to get to, and depending on the player's supplies, they might have to make several stops on other planets to refuel or stock up on food. So the player would not have 'direct control' over the ship. 'Supplies' is where the player will have the options to eat, sleep, or upgrade things such as an equipment. Finally, 'maintenance' is where the player will do some tinkering/repairing with the ship, which would make it last longer for the current trip.

game options

Thoughts

I do feel that I am way behind since I have started way later when the jam has opened. I try to clean up my code as much as possible and make it readable for others, but as a result, I do end up having some analysis paralysis which eats up time. Seeing the other games is disheartning. A lot of them look awesome as hell and here I am with nothing but text images.

Anyway, even though it's still starting up, I have made up my mind that even if I don't reach the deadline, this project is something that I found really interesting and I would like to see it through.


Submitted (1 edit)

More Animations

I should have mentioned this long ago, but the assets I am using are something that I got from the game dev market: https://www.gamedevmarket.net/. The hero asset was created by foxfin https://www.gamedevmarket.net/member/foxfin/. The Animation plays a big role in these type of games and they are also pretty easy to implement. With the help of the Sprite/TextureRegion class from libGDX you can flip your images with the setFlip() (for Sprite class) or flip() methods. This is how it looks so far in game.

Animation 1

Text Borders and Pointers

I also added the borders for the text images. So far it has the menu border, which contains the option menus in the game play states, and also the dialogue border, which contains most of the dialogue or any explanations for other things. The way I implemented it makes border images really flexible, however the downside is that there is a lot of manual calculation you have to do in order to properly print a border image. I also have the pointer image. The pointer image points to a text image, and each position contains a number. When a key is pressed, the game will respond properly depending on the current position number. The pointer is also flexible in terms of positioning and at the moment it will only handle inputs up or down, as most of the options are in a vertical fashion. The pointer object will automatically calculate how many pixels it will translate up or down and how many up or down input it can do (i.e. restrictions) by giving it the scale of the text image and the number of options available.

Animation 2

So Far

I just learned how to stream properly at livecoding.tv with the help of one the admins. However I recently stopped due to time constraints. Even though I am aware it didn't really help anyone understand anything due to lack of commentary and slow progression, I was hoping it would create another effect. Watching someone code gives me an inspiration/motivation to code as well, even though most of the time I have zero clue of what they are doing or making. Anyway, the implementation of the PlanetState is similar to the ShipState, using the same parameters for the border, text and other images. Nothing much has changed outside of the ones I mentioned above. This is how the game flow looks so far.

Animation 0

Next Steps

I will start working on the game play. I will work my way through the game over conditions to eventually (if i get to this point) populating the game with variety of items, planets and other objects. I also have to work on spicing it up with screen transitions.

Submitted

Status Box

Right before implementing the gameplay, I added a status box that will show the attributes of the hero and the ship. Aside from 'Hunter', 'Explorer', 'Mechanic' and Ship's 'Level', I think they are self-explanatory. The 3 attributes on the player's side (hunter, explorer, mechanic) relates to the level of the hero at that specific category. The higher the number, the higher the level, thus increase the chance of success on specific actions that relates to that category. The ship's 'Level' category relates to the travelling speed and defense of the ship. When the ship is travelling, random events would occur such as a debris hitting the ship, I originally imagined there would be random space battles but since there are < 3 days left, it's a feature that I would most likely implement after the jam.

Animation 0

Nested Menus

I decided to stick to 5 at maximum (maybe a scrollable menu in the future), to avoid making it too overwhelming. I changed some of the options (e.g. ASTROMECH -> LAND on ShipState, ASTROMECH -> SHIP on PlanetState) since I had some change of mind on the gameplay. Anyway, each option leads to a new set of options, and each option will have their own results. The deepest it would go at the moment is 2, so that would mean I would have less than 30 options. The way I did it is pretty similar on how one would do a naive text-based game. I used a stack data structure to keep track of the inputs. If the stack is empty that means no option has been selected yet (i.e. player's at the base menu). The first element in the stack (index = 0) is always either going to be navigate, hero, ship, land, or options. After that you would have another <= 5 sets of options (and stop here since 2 is the highest level it would go). If the player presses back or presses an action (at level 2), It will do whatever it needs to do (if it's an action) then It'll empty the stack and it'll be back the base menu with 0 inputs. I used a stack because I was planning on using the pop, e.g. if it was at 3 levels deep, then a pop would bring it up level 2 options. Since each option would provide extremely different results, what it ends up being is each index = 0 option will call a specific method, e.g. NAVIGATE option will call navigateOptions(), HERO option will call heroOptions() and so on (although I was able to create a single function for some results such as dialogue descriptions). If it was 3 levels, then you can see how much of a mess it would turn into. This is something I definitely have to work on in the future https://en.wikipedia.org/wiki/Composite_pattern.

Animation 3

Animation 2

Development

Above you could see the status changes on the actions. I still have to provide a solid and reasonable status changes on each action, but since I have done a lot of helping functions, I'll be able to focus on that for the next hours that I spend on this game. The gameplay is mostly option choices so it's roleplay-heavy. I still have a lot to work on, and after finishing the Ship state, I would need to finish up 2 more states for the planets (hostile and civilian) then finally a Game Over state. The ship might end up just being a box by the due date lol.

Submitted (6 edits)

Completed

Although it wasn't 100% of what I have originally imagined and it's not 100% complete, I am pretty happy with the outcome. I tried to make it as lively as possible, but I was really lacking in the animation department, so I had to rely on the U.I. (but even that is a cluster). I guess I got a good part of the idea I was going for. I implemented the major key 🔑elements and got as far as I could. The past few days of coding made the resource a lot more messier. It's due to constantly adding quick fixes rather than thinking in the long run. But it's hard to think in the long run if the due date is a few days away. The libGDX Jam helped me get a better idea of my own framework and game loop. I witnessed a lot of flaws in my design. I could definitely see players have a hard time seeing the point of the game. I was way too focused on the simulator part. All in all I am alright with what I got and how I got here, even though it's a big pile of bugs. I wouldn't have seen the most of the flaws if I didn't make a lot of mistakes, which in turn, gave me a bit of life experiences.

You can find the game here.

You can find the incomplete development videos here.

You can find the resource files here.

Travelling

The travelling in the game isn't as grand as it should be, and it's pretty basic. You can only travel to 2 systems at the moment. I was hoping I was going to get to 5 at least, but in the end they were all going to be the same anyway. But there is no doubt that the game is lacking in graphics and art.

As you can see that the ship is a indeed a box. So I hope the players have a big imagination (it is a simulator game after all).

Notification Box

Since the game does not really have a lot of animations, I used a notification box so that it would feel that something has happened everytime a player picks an action/option. It's possible that it is one of the most important part of the game.

Calculations and Stats

This was probably the hardest part. I had several ideas I had in mind on how I would implement this. Basically I implemented a "turn per action" kinda thing. But it would be possible that some actions wouldn't cost a turn. I tried to tied ENERGY of the Hero to each turn as much as possible but it's more tied to the action itself. The game would be a lot harder if it was. Anyway, each action has an outcome or effect to the player or ship. The skills will give benefits to the player (e.g. HUNTER will allow the player to gain food on each action "HUNT" after it has reached level 15+). The ship level ended up being nothing since I could not implement the space battles. But the rest definitely have a part in the game.

Music

I was making a game with friends a few years ago, and I decided to take on music making so that I could make music for the game we were making. It kinda branched off and became a hobby it self. So I used my below average hip-hop making skills to quickly develop the music for the game, although the quality isn't really good. If you are interested, they can be found at: https://soundcloud.com/dekobe/sets/space-hunter/s-...

Final Thoughts

This is my first jam ever and I enjoyed it. I'm pretty new to game development so I learned a lot. There's a good chance I will continue to work on the game after the whole jam is done. I got really hooked on developing it and it was probably the best dopamine I had in months. I do want to mention that I am open to feedback and criticisms so shoot away. Finally, I would like to thank badlogic and the sponsors for organizing the libGDX Jam.