Tag Archives: Asteroid Outpost

Asteroid Outpost Update 2012-03-09

Free video editors are hard to come by, but I finally found VideoPad Video Editor that looks like it will do the job…. Just in time for a significant bug to reveal itself and halt the video production. I have been planning to do some more major refactoring of the project, so I’ll probably just do that and produce a video when it works again.

If you remember, I looked into Mercurial once before (last paragraph), and I didn’t really take to it. I’m toying with the idea of trying it again, largely after reading this tutorial by Joel Spolsky: hginit.com. I have started up a Bitbucket project for AO and imported all of my core code from SourceForge, so we’ll see how it goes.

Asteroid Outpost Update 2012-02-23

I have been playing around with creating a planet recently, and after seeing the results in-game, I should have done this months ago. This is completely temporary and is very likely to change, but I needed to take some screenshots and share:

Main menu with ice planet

Main menu with ice planet

Multiplayer menu with ice planet

Multiplayer menu with ice planet

In-game with ice planet

In-game with ice planet

Right now, the planet is stationary, but I hope to make it move around with the camera a little bit. I made the planet from scratch using a photograph and a powerful image editor, nice eh?

Asteroid Outpost Update 2012-02-22

I finished up with a ProgressBar component last night, then hooked one into the construction progress and an other into the hit points. I am quite impressed by how easy components are to build and use for multiple purposes.

The background is in dire need of an upgrade, so I started to look for space backgrounds, but instead found myself looking at tutorials on how to make my very own space scenes. Am I an artist? We’ll find out.

Asteroid Outpost Update 2012-02-16

I have been busy ripping chunks out of major classes in AO and stuffing the code into new components. The more components I pull out of existing classes, the smaller and simpler my code base feels, even thought it’s probably bigger. You should see how simple my Entity class is now, it’s wonderful. Each component handles its own data and all of the operators on that data; this increases the encapsulation and reduces the feeling of coupling, even though there wasn’t any real coupling going on.

There are a few new sounds in the game, all home-made by yours truly, and if I have to be honest, they aren’t great, they’re pretty awful. Is it better than nothing? Probably. At the very least, it allows me to get a solid audio framework set up for awesome sounds down the road.

I should start releasing videos of the game on a semi-regular schedule. Every month feels like a good goal for now. Expect a new alpha and video around the end of the month.

Asteroid Outpost Update 2012-02-10

Components! I have been working on building a component-based system into AO, and it has been working great. When I was told about components and how flexible they could be, I thought they were really cool, but unnecessary. They are still mostly unnecessary, but they do make for some clean and easy to read code, and I love that about it. I also thought that I would start building a component-based system at the leaves and work my way toward the core of the Entity, but in fact, I found it to be really easy to start at the core and move outward. The Position and Size were the first things to get converted and it went over really smoothly. All of the position and size code was stripped right out of my Entity class and made it instantly easier to figure out what was going on in the Entity. I can’t wait to pull out more components.

Oh, and I also

  • Completely re-wrote the power grid and fixed all of the power grid related bugs in the process.
  • Added floating damage indicators
  • Refactored the event system to get rid of all the delegates and start using Action<T> instead

Asteroid Outpost Update 2012-01-27

Recently, I decided to completely rewrite the power grid code and pull it out into it’s own object. This makes for much cleaner code and a clear separation of duties. It also fixed 4 bugs related to the power grid! Can’t complain about that. After finishing up with that, I was compelled to try this whole “Component-based design” approach that I kept hearing and reading about. I started this transition in the last place I thought I would start: the position and size. The code is looking pretty sexy right now, instead of my Ring class having to listen for move events from my Entity, the Ring can actually just have the same position as the Entity because the position is now a component, and both the Entity and Ring have that component. I’ll post some more on this later, I need to get my project compiling again, lol.

Asteroid Outpost YouTube and Release

I have compiled a YouTube video of some of the gameplay last night. 720p and up is highly recommended to get the most out of the video. Enjoy!

I have also uploaded a new set of binaries that you can download and try for yourself. Disclaimer: There are still loads of bugs, and it’s only barely playable. I would not recommend this download for everyone. I will be trying to provide more of these developer snapshots because they are easy to produce, and allows people to try it out. However, if you do try it, let me know what you think, good or bad.

Asteroid Outpost Update 2012-01-18

Last night, I got the range rings to properly mip-map, added a free-text object that can follow stuff around on the screen at a certain offset, and added an accumulator that can listen to accumulation events then create floating-text that will display a +/- change from the last floating text. That wasn’t a run-on. It looks pretty cool though. Here’s a screenshot:

Asteroid Outpost Floating Numbers

I think they might not work over the network, so that will be first on my plate. Second, I want to package up the binaries and public that in a zip way more often than I have been. It’s dead easy to do, and why the hell not? Thirdly, I want to make a quick YouTube video of what I have right now, bugs and all. Sufista‘s music is fitting the game really well, and I can’t wait to show it off.

Asteroid Outpost Update 2012-01-17

I have been working feverishly on Asteroid Outpost for the past few days. Lots of refactoring to make the code cleaner, but in the process, I’m going to be able to have range rings around structures when you click on them!

Music has been added to the game! I have talked with an artist that I know, and he’s willing to let me use his music in my game. He also presented some interest in helping out with other artistic aspects of the game, I hope it pans out. Here’s a link to Sufista’s website.

When do I pull the source closed? That is a question I have been asking myself for a long time. I have changed the licence on the core project for Asteroid Outpost from the zlib licence to the Apache v2 licence. The change basically means that any further versions of the source that I release can not be used for commercial purposes without my permission. All I’m really trying to do is to prevent someone from using AO as a starting point for their own asteroid mining game. If you are interested in doing something else with the source, or want to use the networking package, or want to use a large chunk of my Entity code, ask, and I shall grant.

Asteroid Outpost Update 2012-01-04

I worked on AO a bit tonight, trying to focus on releasing a game.

  • Created a new model to act as a beacon, designed for the tutorial scenario as an indicator for where to build.
  • Problem: The beacon I made is an Entity, and ConstructableEntities like the LaserMiner are programmed to not build over other Entities, so you can’t actually build over the Beacon, :(
  • I got the Beacon to animate well, and now it looks cool, even though you can’t build on it

Other thoughts: I am hoping to get Asteroid Outpost to a game-like state, then perhaps closing the source for internal development. I have always thought that once AO reaches a certain point, I would close the source and continue to work on new features, moving toward a saleable release one day. I think once I get AO to the point of being a game rather than just an engine would be a good cut-off point. All of the libraries would still be available, but the core game code would be left stale on SourceForge. I plan to pursue artists and look into voice actors in the near future, but as this is a hobby project, I imagine the time-line to be a bit longer than games who have full-time employees. I’m not at the point of quitting my job yet, nowhere close. This will remain a hobby-time project for the time-being.