Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411512 Posts in 69376 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 07:14:14 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsSolaro (Space Action-Adventure)
Pages: [1] 2 3
Print
Author Topic: Solaro (Space Action-Adventure)  (Read 14310 times)
AndyKorth
Level 1
*



View Profile WWW
« on: March 22, 2010, 05:32:49 PM »

We've never run a developer blog before, but I've always felt encouraged to see other people's works progress, so we decided to try one for this project.

We're happy to announce a devlog for Solaro, our upcoming space adventure game! We'll update this thread regularly with progress, and we're excited to hear your feedback about the game.

Developer Blog: http://howlingmoonsoftware.com/wordpress/

Rather than copy paste the first four posts, I'll summarize:

Solaro is a space adventure that we announced at GDC this year. It's similar to classic favorites like Escape Velocity- You explore the galaxy, engage enemies in fast-action firefights, and upgrade your ship. We're using Unity for this project and looking to publish it ourselves.

We're focusing on three key features:

  • Fun dogfighting action
  • Player-built ships
  • Memorable and open space topography

For some details on the dogfighting, visit http://howlingmoonsoftware.com/wordpress/?p=266

Finally, I'll leave you with a demo that shows off our dynamic level-of-detail nebula drawing, some of the HUD details, and our 13,000x zoom system:


« Last Edit: August 03, 2010, 06:18:19 PM by AndyKorth » Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
deathtotheweird
Guest
« Reply #1 on: March 22, 2010, 06:21:04 PM »

Sounds cool. That zoom is huge. I liked being able to zoom out real far in games like Sins of a Solar Empire and Supreme Commander. Have no idea how it'll work in your game but so far it sounds great.
Logged
AndyKorth
Level 1
*



View Profile WWW
« Reply #2 on: March 24, 2010, 02:19:09 PM »

We believe in showing off our work early, and we don’t want a game that isn’t fun until the very end stages of production. So we’ve thrown in a few example ships with some placeholder AI, a few explosions and weapon effects I threw together, and the zooming and nebula drawing. You should be able to get a feel for flying around.

To play it inside our website, you’ll need the Unity Webplayer. You won’t need it for the final game, but I bet a lot of people would like to try it out now. Screenshots speak louder than words, but playables are even better!




Controls are on the demo page.

And we're happy to answer questions about how various parts of the game work!
« Last Edit: April 25, 2010, 07:22:57 AM by AndyKorth » Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #3 on: March 26, 2010, 03:19:05 PM »

As we mentioned before, player-built ships are a big part of our plans for Solaro. You've probably noticed that the other builds feature a stock ship model that doesn't look particularly configurable.

So we wanted a really flexible way to let players make ships. We rejected just giving out a set of prefabricated hulls, and letting players attach things on them. There's still a creative process there, and a sense of ownership, but you are limited to what you're given, and you can never create anything really unique or identifiably different from that hull piece.

So we're taking more of a building block approach. We provide modular pieces and let the player add them wherever they want. Initially we thought about a grid based system, but this wasn't quite flexible enough from an artistic point of view. It was very limiting to see pieces that had their connecting faces constrained to a grid.

So this is what we have:



We'd love to see what you've made. We've only got a few test pieces right now (and a few aren't quite set up to rotate correctly), but we've found we can make some interesting stuff. Feel free to post some screenshots here of your creations. You can use Upshot for taking and sharing screenshots of your creations! (heh, sorry for the shameless plug)

Edit: Fixed the link to the demo! Oops! Thanks Inanimate!
« Last Edit: March 27, 2010, 05:48:38 AM by AndyKorth » Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
Inanimate
Level 10
*****

☆HERO OF JUSTICE!☆


View Profile
« Reply #4 on: March 26, 2010, 03:33:10 PM »

You linked to the wrong demo!

I love the flight, but DANG does it get fast!

And the editor is really easy to use and interesting! Can't wait to see it progress.
Logged
slembcke
Level 3
***



View Profile WWW
« Reply #5 on: March 27, 2010, 07:37:52 PM »

The plan is to limit the players velocity to whatever they can accelerate to in 5 - 10 seconds or so. We'll probably cover it by saying that your shields can only block out the interstellar medium if you are traveling under a certain speed. Wink

Right now the ship enables the brake mode when you go above a certain velocity, but it's not very obvious as the main thrusters are much more powerful than the retro ones. Eventually we'll have it start applying damage to the ship and sound an alarm when you start going to fast as well. Terminus worked this way and I thought it was sort of nifty. You could sometimes escape a tight situation by taking some damage from the speed to outrun another ship.
Logged

Scott - Howling Moon Software Chipmunk Physics Library - A fast and lightweight 2D physics engine.
Inanimate
Level 10
*****

☆HERO OF JUSTICE!☆


View Profile
« Reply #6 on: March 27, 2010, 07:59:47 PM »

That's a really clever plan! I like the damage idea a lot. Perhaps your debris could also be used as a makeshift weapon, able to harm enemies chasing you?
Logged
AndyKorth
Level 1
*



View Profile WWW
« Reply #7 on: March 29, 2010, 08:37:40 PM »

As you probably noticed from the previous demos, zooming is a big part of the game. Although we're still doing a lot of tweaking with ship speeds, traveling fast with quick acceleration is also a key gameplay point. So we started some visualization stuff, by transitioning seamlessly into a radar view of your surroundings.

This ensures quick and easy identification of everything on the screen, both as the zoom levels change, and as you quickly pass enemy ships.  As you zoom out, the game seamlessly transitions into a radar style view. Ships that are too small to be seen are replaced with radar icons. (Eventually, we'll have things like missiles and blaster fire represented on the radar at close zooms as well.) Zooming out further will make these small things like fighters and missiles disappear. Even large things like planets turn into radar icons as you zoom out far. At the furthest zoom levels, asteroid fields are represented as a dot, and the original asteroids are hidden.

We actually check the bounds of the rendered objects and compare them to the size of the radar indicator. The neat thing about this is that the radar icons start out the same size as the object itself- and then it fades in. So it's sort of seamless in this regard.

So there are a few more things we have yet to do with the radar: The player's icon should never disappear, even when you've zoomed out very far. We haven't added icons to weapon fire yet. We'll also provide some context sensitive information like range to target as appropriate. The picture-in-picture of the target is something we are looking to improve as well. Several people have found it jarring, although it's still useful- we'll be looking for ways to adjust it.
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #8 on: April 01, 2010, 01:12:19 PM »

Trying out JSON in Unity3d:

It’s been mostly backend work for me, lately. I’ve evaluated a few different JSON libraries- the plan is to use it to create strings of our complex data types to save within Unity’s PlayerPrefs system.

First I tried JSON Sharp, and I got embarrassingly far into it before realizing the library didn’t come with a parser to turn the JSON strings back into anything. I then looked at JSON.NET but found it to be huge, heavyweight, and had some dependencies in System.LINQ that Unity did not include. So rather than mess with it, I went to find a lightweight library and found LitJSON, which seems pretty good.

So I’ve got the ships saving in a rough fashion. Loading will be a bit more tricky.

Meanwhile, Scott’s been working on some more HUD stuff, and clicking to select things!
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #9 on: April 03, 2010, 08:18:19 AM »

Today I got ships successfully loading from the JSON string! I created three simple save slots for persisting ships using Unity's player prefs system. I don't want to spill the beans before we're done cooking them, but I'm hoping we'll have a blueprint sharing system at some point. But the demos for that will come later!

Scott's been busy working on various HUD items. We've got a zoom sensitive mouse targeting system. So things that are too large can't be selected accidentally. For example, at a high level of zoom, you'll click to select an asteroid. When you are zoomed very far out, the asteroids disappear and are replaced by a large asteroid field marker that encompasses the entire asteroid field. This would also prevent accidentally selecting a planet when you're trying to select a turret mounted on the planet.

We've also added some placeholder graphics for reticles, target info popups, and an energy indicator. I have begun adding some logic to calculate values on your ship, such as the capacitor recharge rate, so that's reflected in the energy indicator on the bottom left. Adrian has made some awesome asteroid pieces that break up, so start shooting!


Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #10 on: April 06, 2010, 11:28:00 AM »

With the large and dynamic scale that we have planned for Solaro, the game is going to need to work with relatively high velocities. We’ll want to allow ships to travel fairly fast so that they can get around the world, and bullets will have to travel even faster so that you can hit things. This means that we will need to support swept collisions, the bane of collision detection.

More technical details and some sample code on our blog:

http://howlingmoonsoftware.com/wordpress/?p=300
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #11 on: April 07, 2010, 06:37:59 PM »

Scott and I have been chatting a bit about economic simulation trading games. DrugWar style trading games are popular in space- buy low, fly somewhere else, and sell high. Sometimes, as you buy and sell goods, the prices fluctuate. But I got to thinking about what is intrinsically fun about these systems and figured we could improve on them.

Trading is often looked at a means to an end. Players will engage in it as a way to make money even if they don’t enjoy it. The players that do enjoy it consider finding the good trade routes to be the fun part; it’s a bit of a discovery. Theoretically, the execution of the trade could be fun, evading pirates to get to the place to sell the goods, but I’ve never seen that work out. (I’d love some examples if anyone has some). Instead either the risks were way too high and the rewards were small, like in Eve Online, or most routes were basically riskless, like in Escape Velocity. I guess this is compounded by the fact that the ships with sufficient cargo space to trade profitably also were nearly weaponless and too slow to really evade any enemies in a fun way. Anyway, once you found the profitable path, you’d mindlessly repeat the route, not really generating any fun.

So our ideas centered around making trading into a mechanism that was fun by itself. How could we make something like trading an active action that feels like a minigame?

A few possibilities include:

Players killing pirates and other ships can occasionally collect special items that can be sold somewhere in particular for pretty good profit. So you can farm these faction ships and get a decent profit per hour. These might include killing pirates for the “Bavarian Flu Antidote”. If you mouseover this item (or something) it will direct you to the planet of Bavaria, where the antidote sells very nicely! In this case, you can probably figure it out planet it’s from given the name. You’re basically unprompted here, but there’s still a clear thing to do.

We can also do lightweight quests involving item exchanges. You might stop at a station where a man says he’s looking for some Belgian Crystals. You don’t have any, but the spot is marked on your map. Later when you find the Belgian crystals, you’ll know where to deliver them later. This is much more lightweight than traditional quests: “Start text at a location, specified action, return to location, quest completion paragraph.”

I am also still thinking about other mini-game like activities (although I think thats a poor way of explaining what I have in mind). I wouldn’t want to actually incorporate a separate puzzle game into the game, but something we can integrate with the game itself. I’d love to hear more ideas of tightly integrating trading and quests into the action of the game.
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #12 on: April 10, 2010, 11:07:08 AM »

I’ve recently been using Monodevelop with Unity3D and I’ve been pretty pleased. I tried it out a year or so ago, but found it to be very difficult to setup and not really worth the trouble. But my friend Jon from Graveck Interactive looked into it again recently and suggested I give it another try. I’ve been really pleased so far.

There’s a good short instructional guide on the Unity Answers page. Other than that, everything you need is on the Mono Develop download page, and the latest version of mono itself.

Meanwhile, we’ve had a fantastic response with great suggestions to our last post. I was a bit slow approving and replying to posts on the blog, but I'm caught up now.

We met with our artist Thursday and discussed plans for more ship component, art styles, and some of the approaches we’re taking for allowing players to color their ship. I’ve also been continuing work on the ship creator, which now gives you information about the crew, mass, capacitor storage, and other numbers calculated based on your ship design.
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #13 on: April 14, 2010, 07:45:25 AM »

We've been thinking about if we should do ship-to-ship collisions or not in Solaro. I wrote up a blog post with some pros and cons, but we're still brainstorming for alternate ideas as well.

I won't copy-paste the blog post here, since it's got a bunch of formatting and inline pictures:

http://howlingmoonsoftware.com/wordpress/?p=319

We'd love to hear some ideas, either how to deal with clipping or to prevent it, or to prevent complex collisions between ships.
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
nihilocrat
Level 10
*****


Full of stars.


View Profile WWW
« Reply #14 on: April 20, 2010, 07:13:35 AM »

I'm actually trying to get around to making a space trading game (more specifically about macro-scale stuff, managing companies instead of piloting ships) in Unity so I'm not only interested about your thoughts about space trading but also your use of JSON. Was it all that hard to get litJSON hooked up and working both for serialization and deserialization?

Players killing pirates and other ships can occasionally collect special items that can be sold somewhere in particular for pretty good profit. So you can farm these faction ships and get a decent profit per hour. These might include killing pirates for the “Bavarian Flu Antidote”. If you mouseover this item (or something) it will direct you to the planet of Bavaria, where the antidote sells very nicely! In this case, you can probably figure it out planet it’s from given the name. You’re basically unprompted here, but there’s still a clear thing to do.

This sounds like it might work, especially if the player doesn't know about which enemies carry which items. Maybe the player can occasionally get "tips" in seedy bars that Ship X is making its way to Planet Y with a cargo of juicy, juicy unique items that sell for a ton. It's up to the player to find the ship (perhaps with the help of more tips; "I saw it in port here 5 days ago...") and crack it open.


Theoretically, the execution of the trade could be fun, evading pirates to get to the place to sell the goods, but I’ve never seen that work out. (I’d love some examples if anyone has some)

Drug dealing in GTA: Chinatown Wars is pretty fun. I think it's a combination of a few things; first of all there's the fact that extrinsically it will make you ridiculous amounts of cash, but the trades themselves can be fun. First of all, you've got to find the dealers in the first place; there are a few that are logged on your GPS at the beginning of the game but otherwise you have to drive around and find blue dots on your map that only appear if you get close to them. It's fun to drive around and try and discover them.

Secondly, there's a chance of getting busted (I /think/ it's based on the value of goods being traded in the deal) whereupon you immediately get two wanted stars. This is usually fun simply because the mechanics to lose wanted stars are a lot more fun than any other GTA game I've played since you've got to get the cops to wreck their own cars to lose stars. This is an inverse of pirates, and they only show up at the time of the trade. It's not particularly different but it's something to think about.

The supply and demand for particular drugs is relatively static, you can see what each gang in the city would prefer to buy or sell (Jamaicans sell pot, Triads buy heroin, etc.), and their prices roughly reflect these preferences. You don't know the exact prices of the goods, and most importantly, you never know exactly what the dealers have in stock until you meet them. Sometimes they bring cars, which means they MIGHT have a whole crapload of stock but that's not always the case.

There are spikes of supply or demand in the form of "tips" you get in email. These all follow the same format: Dealer A has lots of supply/demand for Drug B and wants to buy/sell them at a very good price. If you can leverage these deals (stock up when a drug has a sell tip, sell it all when you get a buy tip) you can make more money than you ever could by playing missions or random challenges. All tips have a timeout, usually three days, at which point they will expire and the involved dealers will go back to selling at normal prices.


We can also do lightweight quests involving item exchanges. You might stop at a station where a man says he’s looking for some Belgian Crystals. You don’t have any, but the spot is marked on your map. Later when you find the Belgian crystals, you’ll know where to deliver them later. This is much more lightweight than traditional quests: “Start text at a location, specified action, return to location, quest completion paragraph.”

Fedex quests where you don't actually know the location of the item would be a great change of pace if done well. WoW has basically exterminated unknowns from quests so people can mindlessly accomplish them with no fun involved. This is a great source of ideas: http://roguelikedeveloper.blogspot.com/2009/10/quest-for-quests-part-four-assumptions.html
Logged

AndyKorth
Level 1
*



View Profile WWW
« Reply #15 on: April 20, 2010, 09:37:31 AM »

Hey Nihilocrat, thanks for the reply!

I actually found litJSON very easy to hook up and to get it to work with Unity. Once I settled on litJSON, it took about half a day.

I will definitely check out GTA: Chinatown Wars. The trading mechanic sounds pretty good, from what you're describing. Most games fail at making the trading itself fun, aside from the rewards. That sort of action and risk is exactly what we'd like to capture with our trading system. It's also pretty cool that you don't have a specific destination, but you have the option of hunting for one of several.

I think trying to find something is more engaging than going to a specific objective dot. There's more going on mentally there, because you're actually looking around instead of heading towards a dot.

Having relevant tips coming out of the news to help out would also be pretty cool. I've seen them do it in a lot of other games, but it was hard to care about them. Maybe that's just based on the quality of the tip. Chasing around a tip that you knew could actually turn into a fun quest would be pretty cool. Escape Velocity tips just said that someplace *really* far away had cheap medical supplies. Not really worth it.

That article about quest assumptions is awesome, thanks for the link!
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #16 on: April 25, 2010, 07:20:53 AM »

The last few weeks of work have finally resulted in something playable! In this demonstration, you can construct your own ship and then click "Fly Me!" to try it out!

This demo features our newly rewritten swept collision system. The behind-the-scene enhancements make optimizations for static geometry, hierarchical collision shapes (only check against the many spheres of an irregular object if the potential collider has entered a parent bounding sphere), and a type pairing collision system, which gives us fine grain control  over what collides with what.

You'll also see the new ship creation system which doesn't have those strange rotation bugs that would occasionally show up when you place weapons on wings. I spent two days fighting with quaternions and vector math as I reworked how everything connects. Unfortunately, it mostly looks the same, so you'll just have to trust me that it's different under the hood.

You'll also find a bunch of new ship components modeled by Adrian! I've added actual scripts, so you can see how various ship components affect your crew complement, energy capacity, etc.

Click the image to try out our playable demo in your browser.




Controls are on the demo page.

A few known issues... The shield flashes we had working a few days ago are off, for the moment. We took out the AI ships for now, but we'll have them back in soon. It does seem like rotating  your starting ship piece may mean your ship isn't rotated correctly when you bring it into the game- I'll look into that.  Finally, I have some nice ideas on how to redo the interface on the ship builder so it's not so painful.
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #17 on: April 28, 2010, 08:24:50 PM »

I've been working on improvements to the ship editor. I've cleaned up a few more things with placing pieces, such as allowing you to rotate them before you place them. I've updated the ship creator to identify pieces by an ID, instead of by name (since we'll be renaming them many times, I'm sure). I also added a rotation arrow and cleaned up a few lingering display issues with the blue glowing placeholder piece. Next up is a redone mouse selection.

I also made a few graphical fixes to the game itself, such as adjusting bullet graphics so they are properly visible if fired from a gun mounted on the side of your ship. I also started on a draft of a very cheesy intro; mostly I'm just experimenting with what might go on a title screen.

Meanwhile Scott has been upgrading the flight system in the game to include some autopilot features. This will be very handy for redoing some AI stuff.
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #18 on: May 01, 2010, 08:17:18 AM »

Scott and I finished up a few cool flight control options. These are a few very math heavy functions that are useful to both the player and the AI. As we worked on them, they became very generalized and can be easily combined for many effects:

  • Match orientation of a target
  • Face a target
  • Turn opposite of your velocity (for fast braking)
  • Thruster firing to stop at a point

The interesting part is that these functions are generally mathematically optimal- they are the fastest ways to rotate to a point and to get to the point without overshooting it. That means  optimal usage of main thrusters for acceleration and the side thrusters for turning.

So what are we using this for? We can combine these features for a number of features. We’ve implemented a simplified player control system. It automatically adjusts to fly in the direction you are pointing. It also features a brake key that will spin you around to stop you with your primary engine.

Upcoming is an enemy AI that will do cool stuff like fly to their optimal weapon range and hold a relative position to you.
Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
AndyKorth
Level 1
*



View Profile WWW
« Reply #19 on: May 06, 2010, 06:51:04 PM »

Today we're showing off a few new features. There's a bunch of new flight controls stuff, and we figured the best way to demonstrate that was to throw together some player-commandable escort ships.

Target an asteroid by clicking on it to send your escorts to attack. Mouse wheel and the +/- keys zoom in and out.

I'm also demonstrating some new planetoids. These are designed to be quickly produced in bulk. I can paint a heightmap in photoshop to get a general shape, and then I've got a set of actions in Blender to turn them into a mesh. I then have procedural scripts to generate a nice normal map for them. I noticed the diffuse texture isn't set quite right on them, and we're still working with a few parts, but you get the idea of how the player might interact with the shape. Imagine coming in to dock on a landing pad or dodging fire from a planet-mounted turret.

We're also polishing a few things with our rewritten ship builder- so that's next!

Click the image to try out our playable demo in your browser.



Controls are on the demo page.



Logged

Howling Moon Software- Twilight Golf, Crayon Ball, and Unity3D stuff
Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic