Subscribe: Cryptic Sea
Added By: Feedage Forager Feedage Grade B rated
Language: English
added  car  game  games  lot  new  people  player  players  rosa  texture  vector  vehicle  video  working  youtube embed 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Cryptic Sea

Cryptic Sea

Updated: 2018-04-10T05:30:36.850-07:00


Sub Rosa Alpha 29 notes


Alpha 29a

-Mac and Linux versions
-optimized rendering
-optimized netcode
-lots of new buildings
-new mission types
-bases now have roof access
-added sliding (jump and then crouch in mid-air to activate)
-new main menu design
-added per-round lighting changes

World mode:  There's still a lot of things we need to do before we can do a new version of world mode, hopefully we can start testing it in the next couple months.

The rendering is now using OpenGL 3.3, which should improve performance and compatibility.

We've also been working on some other cool stuff that's not quite ready yet, but we'll have some new weapons, improved movement and weapon handling, building interiors, and a few other things for the next update.

New buildings:

Downtown district
- Pyrrha building
- Hotel
- Hotel parking
- Kamel building
- Courthouse
- Cabochon building
- Pilar building
- Construction site
- Jengle building
- Supermarket
- Travel agency
- Photo developer
- Locksmith

Shops district
- Bank
- Realtor
- Auto mechanic
- Arcade
- Barber shop
- Bead store
- Mall
- Hospital
- Music store
- Wig store
- Gun shop
- Radio station
- Hifi store
- Video rental store
- Keyboard repair
- Bookstore
- Rug store
- Deli
- Florist
- Liquor store
- Hardware store
- Coffee shop
- Pharmacy
- Print shop
- Ice rink
- Lawnmower repair
- Laundromat
- Shoe repair
- Glass & mirror
- Chili shop
- Bicycle shop
- Hat shop
- Yarn store

Factory district
- Car dealership
- Power plant
- Refinery
- Granary
- Fire station
- Zebra mural
- Domino factory
- Storage facility
- Yellow warehouse
- Lumber mill
- Brewery

Old Town district
- Soccer pitch
- Museum
- Basketball court

Sub Rosa Alpha 28 notes


Alpha 28a

-new bases
-added stocks
-added car buying
-added firing option for managers
-new HUD-added open/close garage doors
-new pre/post game screens
-added mute player option

-added hold Shift to use items while driving

-city additions/fixes

-added fall damage
-added top ten list

-improved player movement
-improved shooting
-improved car physics (new differential simulation)
-improved van/minivan weight distribution

-fixed help
-fixed memory issue with Intel drivers
-fixed phone sound effects

Cryptic Sea plan 4/6/17


Sub Rosa

The new update has been taking longer than I hoped, one of the main issues is the game is now too big for me to handle by myself.  I've been talking with a few people about helping out though, so we'll hopefully be getting that together soon.  In the meantime I've been making progress on some new systems.  It's also been cool to see people playing again, sometimes when you're working on a game you can get lost in adding new features that you forget about what's already there.  It has brought up the problems with Alpha 25 again, but I've been designing solutions to most of those.

Some of the systems I've been working on the past few months are:

Player Movement

Physics-based movement is something I've been working on for years, Sub Rosa already has some physics for the players but the legs are faked with a raycast.  I've been adding physics-based legs with balancing and propulsion, which will create a lot of possibilities for gameplay.  Some of those possibilities are:
Players stumbling when injured
Diving through windows
Jumping and grabbing on to ledges

Reputation System

One of the main problems with Alpha 25 is the imbalance with deals.  If one corporation's players have way more money than another then the poorer one can't really offer anything worthwhile.  The reputation system will mean the game can give players in a corporation more money than the deal is worth to them, but they will want complete the deal anyway otherwise their reputation will drop.

One example of how this will work would be:
Goldmen gets a disk, the corporation wants 50k for it.  Monsota wants the disk, and they get 100k to buy it with.  If Monsota can talk Goldmen into selling the disk for 50k, the players will have the other 50k to split among themselves.  However, if Goldmen sells the disk for 100k, their players can pay the 50k to the corporation and have 50k left over.  This will create the negotiations that earlier versions of the game had, and I think that would be pretty cool.

I'm also considering a reputation system and/or police for crimes, to hopefully reduce some of the chaos in the current version.

Golf for Workgroups

Golf? is a game we started working on 12 years ago, since then we've done a few jams working on different parts of the game.  It's always been one of my favorite games to play, I used to tell people it was the funnest game no one ever played.  Last year we talked with Devolver about finally finishing  up and releasing it, and earlier this year we met up for a week and got a good build of it ready.  We're calling it Golf for Workgroups, you can check it out here:

For anyone worried about this slowing down development of Sub Rosa, most of the game was already done, and the a lot the things I've been working on for Golf will be used in Sub Rosa also like:
Improved server browsing
Easier server hosting (no more port forwarding)
Full 3D wheel physics (although there probably won't be rockets on the backs of the cars in SR :))


We haven't forgotten about Hockey?, in fact we're hoping Golf does well enough that we can do another jam on Hockey? sometime this year.

Sub Rosa Alpha 26 Traffic Test


I put a new build of Sub Rosa in the beta branch, it's just a race mode test of the traffic simulation and netcode so don't expect too much.  All of the buildings are placeholders, and a lot of the rendering is still be rewritten.  The password is yerbamateisgood if you want to check it out.  (Windows only right now)

Sub Rosa plan 8/15/16


I realize I haven't done a blog post in a while, so here's some of the things we've been working on this year.  There's more features being developed, but I try not to talk about things until they're implemented, or at least mostly planned out.Character ModelsFi Silva has been making some really cool character models, so we can have a lot of variations in clothes and accessories.  It took a while to convert the engine from procedurally generating box people to loading .fbx models with bones, but now that the system is in we can easily load in new models.  Customizable characters is important to the game, players will be able to choose the basic look of their character (it won't be random like in Rust or previous versions).  Clothing and accessories will be bought in-game, so the richer you are the fancier the suit you can wear.Traffic SimulationTraffic might seem boring or unimportant, but for Sub Rosa it will create some of the more interesting situations.  For example, imagine having to tail another car, staying close enough to identify it among the traffic, but far enough to remain undetected.  Or just a standard car chase, having to weave through traffic, drive the wrong way on a one-way street.  The new traffic simulation can handle thousands of cars, all simulated on the server so every player sees the same thing.  Here's a video that probably is boring though: width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="" src="" frameborder="0" allowfullscreen>City EditorThe old city editor was pretty limited, the new one is now all done in 3D, so things like hills, tunnels, subways and freeways are now possible.  The new city will be much larger also, so there will be different areas, opening up a lot of gameplay possibilities.Building EditorOne of the main limitations with the old building format was the windows, there was only a few different sizes to choose from, and they couldn't share an edge with a doorway.  It took a lot of thought to figure out the best system for this, but it now supports multiple windows per edge, different types of doors, interior windows and mullions.  That's right kids, mullions.RenderingOne of the biggest changes is converting to OpenGL 3.3 core, which should help with performance and compatibility.  I held off on using newer OpenGL versions since I didn't want to make it incompatible with older PCs, but at this point every video card made in the last 8 years or so supports 3.3.I've also been adding reflections for windows, cars and mirrors, as well as improvements to the atmospheric scattering and lighting.  I'll also be adding HDR support and MSAA soon. allowFullScreen='true' webkitallowfullscreen='true' mozallowfullscreen='true' width='320' height='266' src='' class='b-hbp-video b-uploaded' FRAMEBORDER='0' />VehiclesFixed a bug with the differential simulation.Next VersionAlpha 26 should be ready for testing in the next couple weeks, it will first go on the beta branch in Steam, all current players will be able to play.[...]

Sub Rosa Alpha 25


Dedicated servers:

New account system - based on Steam ID
Admin ban system - admin can ban players for an amount of time (real-time minutes)
Car selling - put the key in your right hand to sell
Lunch - buy a burger at lunch or max HP will drop
Billboards - players can buy the billboard and put their message up
Bank - withdrawal/deposit cash
Persistence - world mode doesn't reset all players outside the city now
Round mode manager - based on net worth, can fire people (shoot them before the round starts)

Client optimizations - should run faster now
Server optimizations - 32 players should be possible on a decent server

Netcode - pausing during firefights should be fixed
Voice - whisper/yell modes work in voice now, using whisper limit distance to 4 meters
Voice display - no longer goes through walls

Sub Rosa Alpha 24



Dedicated servers:
To run an open world server add "gametype=4" in the config.txt
Server system requirements are pretty high right now, does not run on a potato.

Spawn killing penalty is much harsher now, 5% and you will take as much damage as you give out.  When a player spawns they have a timer between 3 and 6 minutes (real time), if they pick up a gun or enter a base the timer is set to zero.  Entering a car sets the timer at 15 seconds maximum.

One of the main changes is the engine, it can now support a lot more types of buildings which will help to add more detail/expand the city.  I know one thing people are going to ask about is optimization, now that the engine is mostly complete I'll be working on benchmarking tools (so I can tell what's running slowly on different PCs) and implement the ideas I have for improving the rendering.

I'll put up a link to the Windows/Linux dedicated servers soon, hopefully people can host servers in all the places where people have had to deal with bad pings up to now.

added round-based mode
added voice chat
added magnum (the ammo is just a magazine right now but it will be an actual revolver soon, Receiver-style)
added uzi
added gun shop
added helicopter
added fall damage

Stock increases are more reasonable now, just a temporary fix as the stock system will change soon
Teams now start with two phones, the first has the team number and the second has the team number plus 1 (Nexaco is 4444 and 4445)
Improved gun/item handling, still working on smoothing this out more
The hospital is the only place to heal, testing this out for now

Fixed the landscape rendering which was extremely slowly on some video cards
Smoothed out the netcode for cars and players

Sub Rosa Alpha 23


Fixed player character bug
Bandages can now be used twice
Old spawn building is now a hospital
Can exit immediately in hospital (player's character will disappear)
Otherwise your character will remain there for 1 minute
Trade missions can now have more than 1 team with cash

Death tax is now 5% of your cash over $10,000
Civ killing with 2-5 mins of spawn is now $10,000 plus 5%
Changed stock calculation, now decreases half of the potential increase if you fail (another team gets the disk)
Fixed client stock report bug

Fixed body parts getting stuck on stairs or windows
Fixed train window bug
Fixed stock display bug
Limited car buying to 3 per hour
Limited stock to 100,000 shares per team

Here's some of the changes for Alpha 23:

You can now buy stock in your company, if you succeed in missions the value will go up, if you fail it will go down.  When you sell stock you get 95% of the value.

Withdrawing money:
The banking in your base is now the company account, if you have a trade mission you can withdraw up to the amount in the mission info.  At the end of the mission the money withdrawn will affect your stock price according to the market cap (value of the stock times the number of shares).  Depositing money in the base also goes into the company account, with the same formula.  Example:  If the total shares owned by your team is 100, and the value is $100, if you deposit $1,000 the value of the stock will increase to $110.

You will now spawn outside of the city, the train should come around every couple minutes.  Get on it.

Civilian killing penalty:
There is a $10,000 penalty for killing a civilian within 2-5 minutes of their spawn, the amount is randomly chosen by the server.  If a civilian picks up a gun the timer goes to zero.

There are now 3 chat modes, normal, yell and whisper, this will affect the range at which players can see the text.

T: Talk mode
Y: Yell mode
U: Whisper mode
Enter: Chat

added $1000 bill
added landscape
added newspaper
added ambient occlusion option

optimized rendering

fixed aim
fixed glass slowdown
fixed player movement/standing up
fixed view while rolling
fixed players warping through walls/floors
fixed car engine sound
fixed traffic

Programming Tips: Comfortably Enum


After reading Casey Muratori's great articles on programming I've been inspired to post a few things on how I program.  In the last article he talked about enums, something I didn't really start using until after Gish, which can be very useful.  However, it can be unwieldy if you try to enumerate too many types, like for example a list of textures.  Say I have 4 player types, and 4 vehicle types, I could do something like this:

enum vehiclelist

enum texturelist

Then to bind the texture for the plane I would use:


The problem I ran into was if I wanted to add more vehicle types, or support more players, I would have to change the texturelist enum.  Also the enum would start to get very long, and while there's ways to shorten it I still felt that it was getting messy.

What I came up with instead is using a simple struct that's enumerated at run-time.  So the texture enum looks like this:

  int loc;
  int player[MAXNUMOFPLAYERS];
  int vehicle[VEHICLE_END];
  } texturelist;

void setuptexturelist(void)
  int count;

  for (count=0;count    texturelist.player[count]=texturelist.loc++;
  for (count=0;count    texturelist.vehicle[count]=texturelist.loc++;

And to bind the texture:


The advantage here is I can add or remove vehicle types without having to change the texture enum, and I can have all types of textures without having a giant enum.  The only disadvantage is you have to call the setuptexturelist function at the beginning of the program.  This is actually the cause of the sound bug in Sub Rosa, where the car crashing into something plays the gunshot sound.  I wasn't calling the setupsoundlist function in the dedicated server, so all the of the soundlist is set to 0, which is the gunshot sound.  So you do have to remember to call the functions to enumerate even if the dedicated server isn't playing any sounds or displaying any textures.

And for making it through that here's a video of boxman falling over a wall:

allowFullScreen='true' webkitallowfullscreen='true' mozallowfullscreen='true' width='320' height='266' src='' class='b-hbp-video b-uploaded' FRAMEBORDER='0' />

Humble Weekly Sale


The new version of the Cryptic Sea EP is now available in the Humble Weekly Sale, you can get it and some other awesome games for less than whatever you want.  There's a bunch of new features, including singleplayer mode for Skate or Don't!, and 5 new tracks and cars for Touring Car Legend.  If you already bought the game with the Humble widget you can download the new version from the Humble webpage.

I've been making good progress on the other games also, should have some updates on those soon.

Advice for Games Journalists


A lot of games journalists ask me how to get my games on their website, so I thought I would write a few tips on finding interesting games to write about:

1.  Look for games

Don't just sit there waiting for a developer to email you; go on forums, check Youtube/Twitter, see what people are playing.  Otherwise you're missing out on a lot of interesting games and only covering the developers who spend a lot of time writing emails.

2.  Do some research

When you do see a game on Reddit or another games website, don't just paraphrase what someone else said.  Try playing it or email the developer for a build, and then form your own opinion.  Don't be afraid to go against popular opinion!

3.  Be persistent

If I don't write you back about my game it might just be because I'm busy making it, try again or contact me on Twitter.

4. Don't fall for it

Just because Sniper Elite 3 made a video explaining their "X-ray kill-cam" doesn't mean you have to post about it.  Just because a mass murderer requests a PS3 in prison doesn't mean you have to post about it.  I know it's easier just to write a couple sentences and add a link to another website, but if you want to have good content you're going to need to put some more effort into it.  The first 5 seconds of viewing your website are the most important, if I see things like that I'm going to close the browser tab.

Alex Austin is the creator of BioShoot Infinite +1 and other games you haven't heard of, such as Sub Rosa, Hockey?, the Cryptic Sea EP, A New Zero, Rocket Builder, Relativity and Somnia.

Omega Jam


Omega Jam is a month-long game jam where 6 teams of indie devs try to finish current projects.  My goal is to finish an alpha of Sub Rosa with all the new features.  The idea goes back to the first 7 Day FPS game jam, David Rosen and I were at the IGN Open House during that week, he made Receiver and I made the prototype for Sub Rosa.  We both accomplished a lot during that week, and thought about doing something like that but trying to finish games instead of starting new ones.  The question was how to organize it, and how long should it be.

A month seemed like the perfect amount of time, enough time to get a lot done but still having that pressure of a game jam.  A few months ago we got in touch with Double Fine who had some extra office space and were willing to let us use it, and the idea finally started to come together.  It should be interesting, it's already been useful being able to bounce ideas off each other, and having that extra motivation of working around really dedicated people.  In the end it will be the games that decide whether it's a success or not, I think there will be some really cool things that come out of it.

Local Multiplayer Proposal


allowfullscreen="" frameborder="0" height="315" src="//" width="560">

Local multiplayer games are gaining popularity on PCs, with games like Samurai Gunn, Towerfall, and the hugely popular Skate or Don't!.  But what if a player is on another person's computer but still wants to have their stats saved or use their characters?  How can multiple Steam accounts connect at the same time?  Here's an idea:

When a player is going to a friend's for local mutliplayer, they request a temporary password from Steam.  This would be 6-8 digit, or perhaps a random word.  On their friends computer they enter their name and temporary password, and Player 2 is now linked to their account.  This temporary account link would only be used for saving stats, and couldn't be used to buy games or anything else.  It would also only work for a limited time, maybe a day or so.

With this method players could play local multiplayer games on their friend's computer and have their stats and characters, without having to worry about their account being hijacked.  I've thought about implementing something like this myself, but I don't have the time or money to set up a global account system yet.  Hopefully someone like Valve will implement something like this so people can play with real friends on real couches.

Cryptic Sea 2014 Year In Preview


allowfullscreen="" frameborder="0" height="315" src="//" width="560">

I've been making good progress lately, here's an update:

Cryptic Sea EP

The main additions are for Touring Car Legend, we now have 5 tracks and 5 cars, I'll try to get the netcode in as well.  Skate or Don't! has a singleplayer mode now, with an old-school lives system.  For Volta I've mainly been working on the graphics, I do want to fix up the puzzle mode soon though.  You can still get it for $3 (I'll be raising the price for the next version) at:
New version should be ready by next week.


We've been working on getting the skating and stickhandling of the new physics up to tournament quality, it takes quite a bit of tuning since it's a whole new player/stick model.  You can pre-order the new version and try out the prototype for $8 here:

A New Zero

Two things have been holding up development, human physics and the voxel landscape.  I've made some good progress on both, so I'll hopefully have some things to show soon.  You can see in the video me trying to land a loaded cargo plane, the new flight model makes the flying a lot more interesting I think.

Sub Rosa

I have some things I'll be revealing later this month, stay tuned.

Tutorial Tuesday: Rotating One Vector Around Another


Tutorial Tuesday is going to be a (hopefully) weekly thing where I write a tutorial.  On Tuesday.All drawings were made in Microsoft Paint and are crappy.This week is how to rotate one vector around another, one of the first problems I solved when working on 3D graphics and physics.  I'm sure there's plenty of information out there on how to do this by some nerd using matrices, but I'm going to explain my process for solving it just using vectors.First let's start with 2D, so we want to rotate the black vector a certain amount (rotation angle), to the orange vector.One way to do this would be to take the arc tangent of the black vector, add the rotation angle to that angle, and multiply the cosine of the new angle times the length of the vector for the X, and multiply the sine times length for the Y.  But that would be slow and dumb.  Arc tangent (atan2) is slow, and calculating the square root for the length is also slow.Instead we'll use the tangent method.  First we calculate the tangent (the green vector) of the black vector, which is simple in 2D the tangent X is negative Y, and tangent Y is X.Now that we have the original vector and its tangent, calculating the new vector is pretty simple.  It's the original vector times the cosine of the rotation angle plus the tangent vector times the sine.Onto 3D, we have a black vector that we want to rotate around the blue vector, which is pointing straight up because that was the easiest to draw, but could be pointing any direction.We're going to use a similar method to the 2D version, first we'll calculate the tangent to the original vector (black vector) and the rotation axis (blue vector, which should be normalized) using a cross product, which gives us the green vector.  Next we find the vector tangent to the green vector and the rotation axis using another cross product, which gives us the yellow vector.Now we have the two vectors we need for rotation, just like in the 2D version.  We multiply the yellow vector times the cosine of the rotation angle add that to the green vector times the sine, and we have the rotation around the rotation axis.But we're missing something, the length of the original black vector along the rotation axis, which is just the rotation axis times the dot product of the black vector and the rotation axis.  We add that to the other vector and we now have the orange vector, which is the black vector rotated around the blue rotation axis by the rotation angle.That's it for this week, if you liked or didn't like this tutorial consider supporting me by buying my album of games and leaving a giant developer tip.  Tune in next week when I might write another of these things about something.[...]

Cryptic Sea EP Beta


allowfullscreen="" frameborder="0" height="315" src="//" width="560">

Cryptic Sea EP is an album of games I've been working on for a while.  The original idea for an album of games came from Jon Mak, he did an album of shooters called Everyday Shooter (which is awesome if you haven't tried it).  I wanted to take that idea and make different genres of games, but try to keep a theme: 80's arcade and console games with modern tech.  I think it worked out pretty well, each of the games are fun for me at least, I've played at least 100 hours of each of them.  Since I've been working on them for a few years (except Skate or Don't!) I've had the time to tune the gameplay, giving them a lot of depth.  I hope you enjoy them too!


Multiplayer games and the gaming media, or 1 million plays can't be wrong


Last November I added a counter to the master server for each time someone joins a game of Sub Rosa, Hockey? and A New Zero.  That counter is now over 1 million, without a single website that I can think of mentioning any of those games since then.

Multiplayer games are the most difficult to get press coverage for, I think there's a few reasons for this.  The person might try to play when no one else is online, there might be griefers on the server, they might only try it singleplayer and think there's not much to it.  The experience can vary greatly.  Linear singleplayer games can be tuned so most people will have the same experience.  That's also why I'm so bored with linear singleplayer games.

I've had more drama in one round of Sub Rosa than the entire 8 hours of watching Bioshock Infinite.  I've ripped people off, been ripped off, had smooth deals, intense shootouts, and car chases.  I've won and lost overtime games in Hockey?.  It's not always fun, there can be griefers, or days where I play terrible hockey, or times where I accidentally shoot a teammate, but it's almost always interesting.

It does require an investment however, Sub Rosa is brutal and confusing world at first, Hockey? has probably the steepest learning curve ever, and A New Zero has a lot of complexity that isn't explained very well or at all.  And with most game journalists being bombarded with games I can see why they would want a simple experience they can play for a bit and just "get it".

But I don't want to make those games.  Luckily some fans have helped organize things like and Friday Night Hockey, and there's enough people playing to make it (hopefully) worthwhile to keep working on the games I want to make.  So just like when I started out with Bridge Builder (which didn't get on any of the gaming websites at the time), word of mouth is a powerful thing.

Dark Side Jam: Rocket Builder


allowfullscreen="" frameborder="0" height="315" src="" width="560">

allowfullscreen="" frameborder="0" height="315" src="" width="560">

I made a game for the Dark Side Jam this weekend at NASA, it's called Rocket Builder, you can try it out:

UPDATE 3/14:
I fixed the Fuel placed in the ground bug, if you want to update download this version and just copy and replace the rocket.exe file.  Also added altitude to the info.

Left click to build beams and points, right click to delete.
WASD move viewpont
T to test
F1-F4 to switch between 4 available slots for rocket designs

1-7 switch beam type

Fuel Lines are one-directional, they will pump fuel from the black to red.  Ignition is also one-directional, make sure the triangle is pointing down.

I toggles ignition
Left and Right arrows to contract hydraulics
Hold F for fast simulation
1-5 switch camera
P to pause, O to step one simulation frame at a time

Thanks to everyone at the jam especially Sam for being my consulting rocket scientist, it was a lot of fun!

I fixed a bug with the fuel lines, they were only applying force to the fuel particles without an equal force to the beam (@MysticalEric made a rocket that just used fuel lines to propel itself) , now fuel lines should work a lot better.  I also added support for multiple hydraulic beams and a zoom to the in-game camera.

Nobody knows where you are, how near or how far


A New ZeroI've been making progress on different technical areas of A New Zero, as well as some progress on the gameplay design (although mostly in my head).  I'm not sure when the next version will be ready, but I'm aiming to have a good demo ready for GDC in March.Voxel Terrain:My goal for this is a bit ambitious, at least a 8192x8192x128 meter modifiable 3D terrain with a 0.5 meter detail.  The plan is to allow players to dig trenches, build roads and possibly mine resources, that's why I'm aiming for a 0.5 meter detail, should be enough accuracy for trenches and roads.  The 64 square kilometer size is about what I think will work for 5 or 6 cities, with enough space between cities for aircraft (version 0.78 had about 4 square kilometers, I felt the cities were a little to close together).There's two main problems with this, memory and level of detail rendering.  The memory problem is pretty easy to calculate, if you have a byte for the density of each possible voxel, and there's 8192 meters times a detail of 2 voxels per meter, then it's 16384 times 16384 times 256, which is around 68 gigs of memory.  Luckily I've been writing voxel engines since the late 90's, so I've learned some tricks along the way.  One is to break the world into sectors, say 8x8x8, and only store the densities if it's not totally empty or full.  That helped quite a bit, since most of the world is empty space, but it was still taking a couple gigs of space.The next step was to compress the sectors, since most of the 8x8x8 sectors are fairly uniform I figured they would compress quite a bit.  Originally I looked into arithmetic encoding, which was interesting, but not really practical (too slow and complicated).  Instead I went with simple run-length encoding, which is fast, simple and compresses the sectors to around 1/10th their original size on average.For the level of detail rendering I started by building lower detail meshes of areas, so farther away it's building the mesh out of average densities of say a 4x4x4 chunk of voxels.  The problem with this is the lower the detail the worse it looks, triangles are representing big chunks, and either miss details or overlap empty spaces.  There are ways of doing adaptive level of detail, but that would require building the high detail mesh, and handling changes of LOD between areas, which was all getting too complicated.  Instead I'm using a ray-tracing method, which I'll probably write a separate blog post about soon.Human Physics:This is another ambitious technical challenge, probably the most difficult I've attempted.  The physical part of the body is working pretty well now, the main challenge is the AI that controls the virtual muscles.  Lately that's mostly been trial and error, thinking of a new method to solve a particular situation, then finding other situations where that doesn't work.  I do have the 2D prototype walking up stairs finally, which was one of the trickier situations to solve.  I will probably try this method in A New Zero soon, along with a few other ideas I've come up with, like balancing using the feet instead of the waist.Sub RosaI've mainly been working on traffic simulations and the city rendering engine, you can see some of the results in these videos, more to come soon: allowfullscreen="" frameborder="0" height="315" src="" width="560"> allowfullscreen="" frameborder="0" height="315" src="" width="560">[...]

How to fix Steam Greenlight


Steam Greenlight needs to be fixed, with games like Incredipede not approved yet despite being a unique, fun and finished game.  I have one of my games, Sub Rosa, submitted but haven't really bothered with trying to get votes since I think the system is flawed.  Here's how to fix it:

1. Pre-order instead of thumbs up
The current system of thumbs up is meaningless, it's easy to get someone to follow a twitter link to a webpage and click thumbs up.  Instead users should commit something like $5 towards a pre-order if they want to see a game on Steam, it would make votes more meaningful and would also give a better indicator of which games will do well.

2. Allow demos that can be played in Steam
This voting system is supposedly to find the best games, but currently it rewards the best videos, descriptions and screenshots.  If developers could upload demos that could be played through Steam it would help the best games rise to the top.

3. Curate your damn website
Valve is making billions off of Steam, yet their answer to too many fake/offensive submissions is to charge indie developers $100?  How about hiring someone to actually look at the submissions?  A simpler way of solving that problem would be to require the account has purchased a game, if it's a fake/offensive submission then they lose that account.

Instead of taking the 10 or 20 games with the most votes there should be some people at Valve actually looking at the games, playing them, seeing how far they are from release.  Right now when I see 20 games have been approved through Greenlight I ignore it because I have no idea how close to release they are.  I also don't really care which developers have won the social media contest that is Greenlight currently.

A New Zero Update 10/18/12


allowfullscreen="allowfullscreen" frameborder="0" height="315" src="" width="560">I've been working on various aspects of A New Zero, human physics, tank physics, aircraft physics, landscape rendering, landscape generation and economy.  You can see the human physics in the video, still needs some work but it's getting close to playable.  Surprisingly this video I put together in about an hour with awkward movement got some press, including Reddit, PC Gamer, Rock Paper Shotgun, Kotaku and CliffyB.  It's good to see that people are looking for something new/different in an FPS, if I can get it right I think it will be revolutionary.For tank physics I finally figured out a good gear simulation, the tanks and trucks have physically modeled wheels, suspension, engines and gears.  The previous gear simulation was off, so in low gear not enough torque was transferred to the wheels and high gear too much was.  In the ANZ armor test you can kind of feel this, it's especially important for tanks since they have around 100:1 ratios in the lowest gear.  The cars in Sub Rosa also have the gear issue, not as noticeable but the new simulation should make them a bit easier to drive.There's an image of the voxel landscape renderer, the new feature is ray tracing for far away sectors.  I had been thinking about how to render low level-of-detail (LOD) for areas in the distance.  The usual solution to this is build a mesh using lower detail polygons, combining 2x2x2 blocks into one block, then 4x4x4 and so on.  The problem with this is it still takes time to generate these meshes, and they look progressively worse unless you do some sort of progressive LOD, which is even slower.  There's also issues with cracks between LODs and a lot vertex processing.Instead I've decided to render those areas as boxes, and ray trace through the voxel grid with a pixel shader.  It takes more pixel shader time obviously, but it saves vertex shader time, and occlusion culling is automatic (pixels behind the landscape mesh, objects or buildings will be Z-culled).  It's also much faster to generate lower LOD voxel grids, since it's basically a 3D texture mipmap.  The quality of the ray trace can be adjusted based on the GPU speed.  You can see in the image where it changes from mesh to ray trace, I still have some work to do on the lighting and ray trace quality, but I'm fairly confident this is the right direction.[...]

Sub Rosa 0.07b



0.07b changes

Added a regional manager:
Player with the highest net worth on the team can fire other players by killing them before the round starts.

Changed death tax:
If you're shot by your own teammate you don't lose net worth.

Players get $150 salary for each round, bonus is flat rate plus 20% of stock value increase.

Added buy/sell 10 and 100 share options.

Added observer freecam

0.07 changes

Added vehicle keys:
Player holding the key in the car activates it, doesn't have to be driver.  Player holding the key at the end of the round will get the car the next round as long as it's not destroyed.

Added Three team deal

Added vehicle drag
Added accounts
Added persistent stats

Added weapons (MP5,AK-47,M-16)   

Added vehicles

Cryptic Sea Update 9/13/12


Sub Rosa:I've added different disk colors, which will allow for more mission types.  One will be acquisition with two disks, so one team might want the red disk and the others will want the black disk.  I think this will create some interesting situations where one team might get the disk the other wants, and they'll have to work out a trade.  The other mission type is a three-way deal, where each team starts with a disk and all three teams need to do the deal.  Or kill each other.I've also been adding some buildings to the city, it's still very basic but I have a park and a new apartment building.  There's also three tunnels for the AI to exit so they won't always be heading to the South West tunnel.  The next version will probably be the last with this city, I'm going to rewrite the engine so the city can be much larger and have interiors of buildings.Other new features include weapon/vehicle purchasing, so at the beginning of the round there's a buying menu kind of like Counter-Strike.  I'm not totally sure how it will work with keeping weapons and vehicles, if you lose them when you die, or if another team can steal them.Finally there's an account system, so I'll have leaderboards for who has the most cash, and I'll probably keep track of stats like rounds played, percentage of successful deals and such.Long term goals include an open-world mode, improving the shooting/player movement, and more weapons, vehicles and items.Also I put Sub Rosa on Steam Greenlight, vote for it here: find another way of wasting 15 seconds of your day.A New Zero:I'm still working on the human movement, but I've made some progress the last couple weeks.  There's still a lot to be done: vehicle physics, landscape generation, resources/mining, building interface, economy and a bunch of other stuff.  Once I get the infantry combat working I'll probably do a test version of that, I want to test out elements of the game before doing the full strategic mode.[...]

Sub Rosa 0.06


allowfullscreen="allowfullscreen" frameborder="0" height="315" src="" width="560">


UPDATE: Mac Version is up
Version 0.06b has some new voice chat options, and a basic help

The Linux dedicated server doesn't have any dependencies so it should run on any server.  I'll do a Linux client once I get the video card drivers working, which could be never.



Items (cash, disk) need to be put in the safe room in the base, once all items are in safes the round ends, the items don't disappear when dropped in the base anymore.

Teams have randomly assigned roles, and sometimes two teams will have money to buy the disk.

Scoring is different, cash is worth $250 per block, if you lose it you lose that money.  Disk value is in the mission briefing.

New mission type:
Acquisition:  All teams try to intercept an AI controlled car and take the disk

How the voice chat works:
In the voice options menu  you can configure to broadcast voice when over a minimum level or use push to talk (hold a key while talking to broadcast)

Cell phones:
Press Number pad 1-3 to call another team in dialing mode, Press Number pad 0 to answer/hang up.  Left-click to toggle talking and dialing (voice is only transmitted when in talking mode)

Yeah I know it sucks.

Things I'm still working on:
Weapon purchasing
Vehicle purchasing
Fixing up voice chat
Item interface (cell phone, cash)
Client admin
More missions
Face options/editor
Lots of graphics fixes/improvements

Sub Rosa Update 7/21/12


allowfullscreen="" frameborder="0" height="360" src="" width="480">

Version 0.06 is close to being done, the voice chat has taken a while to get working but it's close.  Right now I'm adding cell phones, so each team will start with a phone they can use to talk with the other teams.  I'd like to have an option for voice only servers, so the teams will need a way to communicate over distances.

The other thing I'm working on is solving the problem of TKing/griefing, you would think a game would have to be popular before someone tries to ruin it for everyone else but that's unfortunately not true.  I have a few ideas, mainly having persistent accounts for players on a server, and players with the highest points can be captains of their team and kick griefers off their team.  I'm also considering a voting system, or maybe a combination of voting and persistent scores.

In the video you can see a simple AI I've implemented, I want to add some singleplayer/coop missions, part of the reason I want to do this is to hopefully get some media attention.  I've sent emails to a few different websites but haven't got any posts about it.  Multiplayer games have such a varied experience, if someone actually does try it out the servers might be empty, they might have lag, or there might be griefers.  Having a singleplayer or coop mode with a more controllable experience will help I think.  I'm also planning on hosting some games where people can join and learn how to play.

Finally I'm thinking of ways to sell this game, my current plan is to keep it free, but if you buy it you can customize your player (I'm adding faces, hair color and a few other details).  It won't be a free-to-pay model where you have to buy every single item, and definitely won't give you an in-game advantage.  I think it's a good way to keep the player base but still hopefully make money so I can rent a dedicated server and stuff like that.  What do you guys think?

By the way I am working on A New Zero again, and a lot of the tech for Sub Rosa will find it's way into ANZ and vise versa.