I ran in to a rather large and nasty memory leak about half way through this development cycle that was extremely difficult to track down. I tried and failed to use both PySizer and Heapy but neither supports Python 2.7 which is a bummer because Heapy would have been great to have for this.
I wound up using Dowser after a bit of set up but it didn’t help much (probably not Dowsers fault here). I finally tracked it down and corrected it with minimal help from the standard GC Module.
Regardless, sublevels (aka “Dungeons”) are now working fairly correctly. It’s still taking more memory than I’d like it to take when entering a new level but this is due to how the monsters are handled and will be corrected. The Ice Cave pictured below has Minerals, Gases, Eggs, and a pretty decent look to it.
The monster eggs don’t quite do anything yet but in future versions I’m considering having them explode if a player gets close to them with some type of creature emerging. You might also need to pick one up for the completion of a quest and get it back to a lab before it hatches. There are quite a few possibilities here actually.
I’ve also implemented player death with a bit of a twist. If your captain dies the crew member with the most experience will become the new captain and take command of the squad. The captain you create at the beginning of the game (a quick and easy process) could die while exploring one of the first planets but you could still win the game with a crew member who rises through the ranks. Once a crew member joins your squad you are free to customize them when they gain levels/stats/skills so I think this could actually be kind of fun. In the below screenshot you can see that a crewmember has died and the equipment they were carrying has been scattered about.
I implmented getting and dropping items as well. Items can be picked up with the “,” key and dropped via the Inventory screen accessed by pressing “i”. I really like how Cataclysm handles getting multiple items so I might move more in to that direction at some point but for now if there are multiple items on the ground and you attempt to pick them up you’ll get a screen similar to this:
I did quite a bit work to my rendering methods as well. Items will always appear over corpses, stairs will appear over everything except the player and monsters, etc. Basically I added a Z level to items for how important they are so that they can easily be seen by the player. I also fixed numerous other bugs that aren’t really worth mentioning.
0.0.48 should have some more content. I need to work on the monster AI a bit more for sure. Enjoy!
Download Stellar Edge 0.0.47 Alpha (Windows)
Download Stellar Edge 0.0.47 Alpha (Linux)
I’ve got saving and loading games working in this release which to be honest I was dreading a bit being still somewhat new to Python but it worked out pretty well.
You can save your game by pressing “Ctrl + S”. Note that for now it doesn’t end the game like it normally would in a roguelike. This will of course change eventually.
I’ve also started using a title screen with “New Game”, “Load Game”, and “Exit” options.
Load Game Screen:
I’ve also added sub levels (or “Dungeons”) to planets. Perhaps these will be found with a planetary scanner in future releases and go multiple depths. You might find a hive of aliens complete with a hatchery or any number of other things. This will of course be expanded upon in the future.
Cave entrance from the planet surface:
Inside a ice cave:
Ice cave completely explored:
I think a beta release is beginning to be within sight for this game. I’ll be working on player death and a number of other things in 0.0.47.
Download Stellar Edge 0.0.46 Alpha (Windows)
Download Stellar Edge 0.0.46 Alpha (Linux)
I recently discovered the excellent roguelike Cataclysm (Latest Binary for Windows). The world has turned to hell and your only goal is survival. Connecting to eronarn.info is a bit tricky under Windows if you are unfamiliar with PuTTy, SSH keys, etc.
1) Visit http://eronarn.info/misc/multirobin_key. You’ll be presented with a page similar to this:
Copy and paste the text of this in to a text file in notepad and save it to a directory you’ll remember as we’ll need the contents of the file shortly.
2) Download both PuTTy and PuTTygen. Place both of these files in a directory you’ll remember as well.
3) Open PuTTyGen and choose Conversions -> Import Key:
Once it’s imported you should have a bunch of random characters on the screen. Click “Save Private Key” and save the generated .ppk file to the same directory or a place you’ll remember.
4) Now open Putty. For the Host Name enter eronarn.info as pictured below:
5) Go to the Terminal -> Keyboard category on the left hand side and set “Initial state of numeric keypad:” to “Nethack” otherwise you will not be able to move with the arrow keys on the numeric pad.
6) Go to the Window category and change the Rows setting from 24 to 25.
7) Go to the Connection -> Data category and set the Auto-login username to cataclysm.
8) Go to the Connection -> SSH -> Auth category and click “Browse” under “Private key file for authentication”. Find the .ppk file you generated earlier in step #3.
9) Go back to the Session category at the very top of the left hand side. In the “Saved Sessions” field type in Cataclysm (or whatever you wish to call it) and click the Save button.
10) Click “Open” and you should log right in to the Cataclysm server on eronarn.info.
Watch out for acid rain!
I’ve got screenshots of the inventory and level up system below for the new release:
The inventory browser can be accessed by pressing “I” while in deep space or while planet side
You can press up and down to scroll through items and left and right to scroll through categories. The current item categories are:
- Space Suits
More will surely be added in the future.
Here is another screenshot browsing the available space suits:
I modifed the character screen (Accessed by the “@” character) so that you can scroll through item slots and equip items. You can also remove items by pressing “R”.
Finally, I have the level up screen completed. Upon level up each character gets 1 stat point and 3 skill points to distribute. I have level 2 set to only 10 exp so if you want to try it out you can see it by killing 2 to 4 monsters on a planet. Press > and < to navigate through the stat and skill sections and press enter to save your changes.
Coming up in the next build will be complete saving/loading of games and space station functionality.
Download Stellar Edge 0.0.45 Alpha (Windows)
Download Stellar Edge 0.0.45 Alpha (Linux)
I’ve got some new screen shots available to go along with the release of the latest build:
I added a system I really like in Crawl which shows the enemies that are in your field of view in the sidebar. You can see in the screenshot above that there are 5 different enemies trying to kill the squad.
I’ve also added the ability to reload your ammo. Pressing “R” will force the entire squad to reload their ammo as long as there is enough to go around. Squad members who run out of ammo during a fire fight will reload automatically provided there is enough ammo.
Space Stations are now in the game though the only function they accomplish for now is refueling your ship.
In the next build I’ll be working out inventory, the level up screen, and and a few other things.
Download Stellar Edge 0.0.44 Alpha (Windows)
Download Stellar Edge 0.0.44 Alpha (Linux)
I built this on Ubuntu 11.4 using PyInstaller 1.5 and it seemed to work fine. Sorry I forgot to make a .tar.gz I hope a .zip will do this time.
This version is 0.0.43 but it just has a few more improvements like refueling at space stations and such. I don’t have access to a Mac at all so it looks like it will just be Windows and Linux for now. Much more content is on the way.
Download Stellar Edge 0.0.43 Alpha – Linux
I think I’ve worked out how the leveling, skill, stat, and squad combat system will work. This may be subject to change of course. It’s not in the game yet because the game is still very Alpha.
You can recruit up to 5 members but start with 2. Recruits can be found stranded on planets, trapped in ships, and of course hanging around space station bars.
All recruits have these stats:
- Strength – adds to the total squad inventory weight limit but slightly increases oxygen use on toxic planets.
- Dexterity – reduces chance of dropping clips when reloading and increases EV
- Perception – Increases FOV and hit roll
- Constitution – Increases HP gain on level up
- Luck – Increases chance of a critical hit and certain other abilities
Upon level up you get +1 to any stat you choose.
The captain and crew members also have two skill groups – individual skills and squad skills. The way this will work is that the armor and weapon skills for crew members are individual while squad skills effect everyone in the squad. Upon level up crew members will get 3 points to spend on skills.
The individual skills are:
- Melee – better hit roll and damage roll with melee weapons
- Energy Weapons – better hit roll and damage roll with energy weapons
- Kinetic Weapons – better hit roll and damage roll with kinetic weapons
- Armor – Better AC
Some weapons and armor may require a certain skill level before they can be equipped.
Each character also has squad skills.
- Navigation – Bigger FOV on the galaxy screen and better hit roll with ship weapons
- Medicine – Better healing per heal tick and better efficiency with healing items
- Mining – Better extraction rates for Minerals/Gases found on planets
- Engineering – Better output rates during crafting and chance for higher quality item crafting
- Xenoarcheology – Better data rates for unusal features and dead aliens
- Bartering – Better prices at space stations
- Smuggling – Easier transporting of stolen goods on to space stations
- Piloting – Better EV during ship combat and less chance of damaging dropship during landing
All skills will have 6 levels and as you level up a skill the cost of upgrading it becomes more expensive.
- Trainee – 1 point
- Novice – 2 points
- Competent – 3 points
- Professional – 4 points
- Master – 5 points
- Legendary – 6 points
So basically if the captain has +3 in Navigation and another crew nember has +2 the total skill level is for the squad is +5 in Navigation. If the captain has +3 in Kinetic Weapons and another crew member has +2 the squad total is not +5 because these are individual skills.
I’m still working it out of course but I think I finally have a decent start on it.
I added Space Stations though you can’t enter them yet. I’m working on that and their basic services now.
I also added the basic character screen which can be accessed via the “@” key:
The generated aliens are in but you can’t quite tell whats different about them in the game yet (though they are internally different!). I’ll be working towards a better way to Examine aliens and adding Space Station content in the next release.
Download Stellar Edge 0.0.42 Alpha
I knew from the start that preprogrammed aliens would never have enough variety to be interesting. What’s the fun in visiting Ice world after Ice world that are light years apart with the same exact monsters?
I worked out randomly generated mobs. There will of course still be preprogrammed aliens here and there in special places but this at least adds some variety.
I consulted the GURPs Space manual for some inspiration and it has some very excellent ideas. Not all of which I incorporated here but a few I did. I never thought about adding a tail!
- Determine what type of Planet the monster will reside on
- Determine the movement of the alien
- Size of the alien
- Number of arms, legs, and eyes
- If the arms and legs are tentacles or limbs
- Type of attack
- Some random attributes
- A random name
Lots of tweaks needed of course but so far it’s working fairly well.
One new screenshot (corpses and different colored blood):
I’ve got some different enemies available now. The item object is done and the mobile (monster) object is coming along quite nicely though I still need to make a few AI improvements.
Here is a fairly big problem I’ve run in to though: Squad Based combat in Roguelikes isn’t fun. I really want this game to be squad based. Perhaps you will have a maximum of 5 squad members and they can all be equipped with a weapon, armor, accessory, and helmet/implant.
So, things that might be individual to the squad members and captain:
- Skill Modifiers (Medics increase medicine skill, etc)
- Reloading Weapons
- Taking damage
Things that might be shared amongst the squad:
- Weapon Heat (think of this as mana)
- Squad Skills
I’m still trying to work this out and make it fun. 0.0.42 should be released by the weekend.