Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411560 Posts in 69384 Topics- by 58443 Members - Latest Member: junkmail

May 03, 2024, 02:36:15 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsUnearth - The multiplayer infinite action-adventure
Pages: 1 [2] 3
Print
Author Topic: Unearth - The multiplayer infinite action-adventure  (Read 14712 times)
Sabre070
Level 0
**



View Profile WWW
« Reply #20 on: November 29, 2012, 08:58:57 AM »

Josh's Journal Entry Stardate 55423.7

City Biomes. Basically we are now placing buildings as an area where that building is valuable, it will then overlay a random chance for that building to spawn in that zone. It will then create new city biomes related to housing etc and then fill in the gaps.

Current city biomes include farmland, mines, castles, market places, squares, houses, crops, taverns and much more.

Also have some great ideas for 3d implementations of city generation so there will be underground and possibly even underwater cities.

Also planned how to do underground caverns as well as man made tunnels.

Previously I have fixed 5 minute implementation of a spell generation system into a runtime generation system which can make weapons, spells, monsters, basically anything.

Done.
Logged
Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #21 on: December 16, 2012, 04:00:05 AM »

James' Journal Entry 9 (cross-posted from Google+)

I've been talking on Twitter and Google+ for the last few days about getting Tychaia running in the browser with JSIL.  Unfortunately it doesn't look like we'll be able to do that because Javascript doesn't support full 64-bit integers natively, and the resulting emulation makes everything run horridly slow (the game uses them everywhere to address the near infinite game space).

We're going to look into things like Native Client, although this will only be supported in Chrome obviously so we're unsure of how much time we'd want to dedicate to get that running.  The website we're setting up where people can generate their own map renders is still underway, but we'll be moving the generation code onto the server and have the browser just download chunks of the map.

That actually gives us a few benefits over the client-only version; we can save copies of the renders on the server and we can also implementing panning around the world since we can just query the server for new 128x128 renders of images.

Logged

antoniodamala
Guest
« Reply #22 on: December 16, 2012, 09:15:19 AM »

Cool procedural world, but what about the combat? Is it going to have a twist in it, or is it going to be a infinite grindy sandbox?
Logged
Vovosunt
Level 0
**


Lolcat


View Profile
« Reply #23 on: December 16, 2012, 09:56:09 AM »

in russian "Tychaia" means quiet, silent

"Tychaia Masha" for example (Silent Mary)
In Greek Tychaia means random. Makes sense if you think about this game XD

Edit: Oops, missed the above comment >~<
« Last Edit: December 16, 2012, 01:30:44 PM by Vovosunt » Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #24 on: December 16, 2012, 12:48:53 PM »

Cool procedural world, but what about the combat? Is it going to have a twist in it, or is it going to be a infinite grindy sandbox?

I'm not the definitive source on this (Josh leads the design work), but I'll explain as best I understand the current plan.

We don't have any form of explicit levelling; increasing your power is done by acquiring more powerful weapons and spell books.  In this sense, killing enemies does not provide XP, only weapons relative to the strength of the enemy.  That actually prevents grinding altogether, since there is no benefit to killing low level enemies (you will only get low level weapons no better than the ones you currently own).  So the game guides you into more challenging areas and more difficult regions since once you have completed all of the quests and done the major story arc generated for a region, the way to progress is to just walk to the next region and discover what the game has in store for you.  We're still determining how we ensure that the monsters become of a higher level as the game goes on, but one suggestion is to just run a multiplier on enemy level based on the distance from the spawn point.
Logged

Sabre070
Level 0
**



View Profile WWW
« Reply #25 on: December 16, 2012, 03:26:04 PM »

Another thing to note: The system is designed so that there are going to be enemies at certain points that you either won't be able to beat or will have severe trouble with.

For example there may be an Orc camp with a super strong warlord. If you go in and try to kill him but end up running away, he may take it personally and come hunt you down, taking out cities while it chases you across the country side. This gives you an option to befriend a npc military force to help you take them out, or you can just keep running as each city weakens them or you can keep running until someone realises that you're the one they are hunting and hires more people to kill you, or ANYTHING!

In short, one of my aims is making sure that the game is never going to be the same, which also brings the benefit of making it not so grindy. As Hach-Que said; the item drop quality is based off of how strong the npc is (or if the npc is using something you get that), so you'll actually have to challenge yourself and use tactics to try to get stronger.
Logged
antoniodamala
Guest
« Reply #26 on: December 16, 2012, 04:12:42 PM »

Jeez, now i really hope this game gets finished.  Hand Thumbs Up Left Hand Thumbs Up Left Hand Thumbs Up Left
Logged
Sabre070
Level 0
**



View Profile WWW
« Reply #27 on: December 16, 2012, 08:07:34 PM »

It's still a work in progress, constantly re-thinking everything at the moment, but we're getting there.

Anything you want to ask then feel free, also anything that you think would be cool I can have a chat. Smiley
Logged
christonian
Level 0
**


View Profile
« Reply #28 on: December 17, 2012, 05:17:26 AM »

any idea on timeline for client I would love to play this
Logged

Indie Focused YouTube Channel feel free to PM me if you want a showcase of your game or someone you know that needs coverage
Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #29 on: December 17, 2012, 12:03:47 PM »

any idea on timeline for client I would love to play this

Currently our timeline for reaching alpha is November, due to me working (which means I can only work on it on weekends).  The client will most likely be playable in some form well before that though, so perhaps March some time?  We still have a lot of optimizations and infrastructure to implement in the client.
Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #30 on: December 22, 2012, 11:20:03 PM »

James' Journal Entry 10

I just finished putting together http://makemeaworld.com/ which is a web site that will use the Tychaia world generation system to put together 1920x1080 wallpapers!  You can share seed generations after the generation is complete.

Here's some of the generations I've done:

The system will take a little while to load the full image; usually around 2 minutes if it's been generated before.  If you haven't visited it and it needs to be generated, it'll take around 8 minutes or so.  If you visit the same seed you've already seen, CloudFlare will load it super fast.
Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #31 on: February 24, 2013, 12:51:32 AM »

James' Journal Entry 11

Things have been progressing slowly, but we're getting there.  We've rewritten the layer system in such a way that it allows us to speed up the generation by a factor of 4-20x faster.  Unfortunately the complexity involved in doing so has also slowed down our progress.

If you've been following on Twitter, you'll know that we're working on the Lightspeed compiler.  Essentially we've rearchitectured so that rather than each layer performing it's own management of inputs and generation, we only contain the algorithms themselves in algorithm classes.  Then, we have a runtime layer and a compiled layer.  The runtime layer acts similar to the old layer system (although it's still twice as fast).  It calls upon the algorithms to do their individual calculations, but it is responsible for managing input and output arrays, rather than that being tied up with the algorithm logic.

The interesting part of this is that it allows us to define a compiler, which takes in the configuration of the system and then decompiles the logic for each layer, rewriting and stitching it back together according to the configuration.  It then recompiles it using C#'s built-in compiler into a single layer that contains and performs all of the logic in a single loop; rather than having the expense of a loop for every algorithm in the chain.

We're getting pretty close to having this working fully and hopefully after that we can get back to focusing on developing the game client.  We expect that to happen over the next few weeks.
Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #32 on: March 16, 2013, 11:54:15 PM »

James' Journal Entry 12

So for the past few months we’ve been working on two things:

  • Reworking the procedural generation to be 4x-20x faster.
  • Multi-platform support through MonoGame.

Both of these goals are rapidly approaching completion.  We’ve got the procedural generation system working in runtime mode, with the compiler needing some updates to get that working again.  The runtime algorithm system (as opposed to the layer system which we were using previously) provides a 2x speed-up just on it’s own.  The lightspeed compiler ramps that up to 4x-20x faster, depending on how large the generation is.

This weekend I finally got Tychaia in some form running under MonoGame.  The past few weeks have just been wrestling with the state of the content pipeline, which resulting in us having to set up a Windows build VM and a content compilation service that automatically builds content into XNA format.  Unfortunately the MonoGame content pipeline is so broken right now that the content compilation service can only use the XNA processors; it can’t yet use the MonoGame content processors.  This means that while compiling art assets works, there’s no way for us to compile cross-platform shaders and thus our fast isometric occlusion is completely broken.  Hopefully with the active development on the new content pipeline, over the next few months we should be able to transition to a completely MonoGame-native content pipeline and won’t have to deal with these issues, but in the meantime, the game is going to remain broken like this (and we’re not going to spend time trying to get it to work when the new content pipeline is expected in a few months time).

Here’s a screenshot of it running on Linux, in it’s entirely broken state:



The plan for me for the next few weeks is to clean up some of the crap in our code-base; particularly how we handle split processing and rendering of chunks.  It seems that threading is much more fragile under Mono than it is under .NET (with regards to that you can put a non-null object into a ConcurrentBag and pull it out as null only a fraction of a second later?!?!)

Harvey will be focusing on finishing up work on the algorithm system (excluding the compiler), so that we’ll be able to integrate it back into Make Me a World, which should radically speed up the rendering process.  Hopefully we’ll both be able to combine the work we’ve done in a few weeks time and have something playable again!
Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #33 on: March 29, 2013, 12:30:03 AM »

James' Journal Entry 13

Just a small announcement; we now have a Phabricator instance at http://phab.tychaia.com/ which we're using to track tasks that we have yet to complete.  Although it won't be replacing updates here, it's a good way to subscribe to tasks to get notified when they're complete.

After you first login, it won't list any tasks (as you won't have any assigned), but if you goto http://phab.tychaia.com/maniphest/view/all/, you'll be able to see all of the current tasks that are yet to be complete.
Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #34 on: April 20, 2013, 11:35:38 PM »

James' Journal Entry 14

A few small updates.  Recently we've been adding functionality in our procedural generation to allow us to trace and analyse algorithms, which is really handy when we need to eliminate continuity bugs and optimize our implementation.  I'm hoping that next weekend I can have a few more analysis engines that run real-world simulations of various expressions in the algorithms to determine the most expensive areas of each algorithm.

Anyway, here's a pretty picture of the tracing tool GIF output, a link to the analyser output and a few Reddit links:




Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #35 on: April 26, 2013, 11:17:55 PM »

James' Journal Entry 15

I've done some updates to Make Me a World recently.  These now make it a lot faster to generate 2D and 3D worlds as the download is parallelized and the rendering is now performed client-side.  Make sure to clear your browser cache if the site isn't working.

I've also added an exploration site where you can explore an infinite Tychaia world using Google Maps.  After 10 seconds idling, it'll automatically start panning around, so it makes for a nice background / screensaver.  There's no option to set the world seed (it's preset) though this has the advantage of making the explorer very fast (since all of the previously visited tiles are already cached).
Logged

Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #36 on: May 25, 2013, 02:53:47 AM »

James' Journal Entry 16

So... it's time for another update.  I should do these more often.

A lot of the focus over the last two months has been updating and improving our build system so that the game actually builds and runs on both Linux and Windows without issue, and so that we don't have to use ugly hacks to maintain two different sets of projects for each platform.

To that end we've written a system to generate C# project and solution files for a particular platform, which has actually worked out quite well.  Both the build server and our local environments now reliably build, even though Harvey and myself use completely different development platforms.

The other focus has been to get the game and various tools running on both platforms.  With the new build system, it's also allowed us to dynamically link against the right version of MonoGame for the target platform.  With the exception of a few minor errors in the current Windows build (hopefully resolved shortly with D14), you can download the game and tools from the website.  Of course at this point, the game /runs/, it doesn't really get past the main menu.  We'll be working on that to bring the game back up to it's previous content level over the next few weeks.
Logged

Sabre070
Level 0
**



View Profile WWW
« Reply #37 on: December 05, 2013, 08:44:28 PM »

Hi everyone!

I know we haven't posted on here for a while, but that's about to change!

Since our last post lots has happened. The biggest of which has been that we've changed to 3d rendering.

We've just started doing full time development (9-5:30 weekdays) at a co-working space just for game developers.

We're a week in and it's super productive and loads of fun!

Our recent blog post is a summary of the past week: http://tychaia.com/blog/19

We're planning to spend the next 3 months on full time development and release the alpha version (at a reduced cost, like Minecraft did) some time around February/March 2014.

We'll be doing at least weekly updates and are happy to answer any questions you may have.
Logged
Hach-Que
Level 1
*


a radical dame who likes to make games


View Profile WWW
« Reply #38 on: December 11, 2013, 12:07:44 AM »

James' Journal Entry 17

So, we're back and in The Arcade (a game development co-working space in Melbourne).  It's been a busy 1 and a half weeks so I thought I'd just cover off what we've done and where we're going.

As Sabre070 mentioned below the first week we were organising everything business related, and he also managed to knock down automatic crash reporting.  This will help you help us by sending stack traces and other vital information for bug crushing during the pre-Alpha and Alpha development periods.

This week he's now moved onto implementing enemies and NPCs; this involves getting the basic infrastructure inside the game to have and render enemy entities, as well as hooking up some basic procedural generation so that they appear in the game.  A big part of this has been designing how all of the assets and definitions relate, and what it means for enemies and NPCs to have spells, weapons, etc.

Onto me; over the past week and a half I've been working on improving our build and deployment process.  Our old build system was showing signs of it's age (it randomly decided to stop building for 3 months and didn't tell us about it), so we're replacing it with a build system that's integrated into our code review tool (http://code.redpointsoftware.com.au).  In addition to this, I've also been building a system that will allow us to ship automatic updates to the game; this means the moment that we commit new code, and it passes all of the unit tests, it's made available to players for immediate download.  The next time you run the game, it will automatically update using incremental patches (so it doesn't re-download the whole game again).

I'm also in the process of upgrading the website; I know that over the past few months the uptime has been a little unreliable, so obviously moving into serious development and a serious Alpha period we need to ensure that we have 100% uptime on the site.

Last but not least, we have some exciting news!  Josh B is joining us as our lead artist.  He's got some great ideas on the artistic and graphical design of the game, so over the next few weeks we'll be sharing some of the sweet artwork.  (As an additional bonus, you won't have to put up with my terrible programmer art.)

So that's where we are; here's a bit of detail on where we're going, outlining all of the functionality we want to get in the game before it's release:

MonthWeekJames (myself)Harvey (Sabre070)Josh (JoshAlanB)
December1Organising Business / Build ServerOrganising Business / Crash ReportsN/A
2Build Server & WebsiteBasic Enemies and NPCsPromotional Material & Logo
3Combat EngineConversation EngineCharacter Models & Textures
4Dungeon GenerationTown GenerationEnemy Models & Textures
January5Quest GenerationBackstory GenerationDungeon Models & Textures
6TBDTBDTown Textures
7PolishPolishPolish
8PolishPolishPolish
February9PolishPolishPolish
10ALPHA RELEASE GOAL
11Buffer Zone
12Buffer Zone

The above is probably expected to change as we discover things that are harder than we expected or easier than we expected; but it generally gives a good idea of where we're heading.  We've got a pretty tight timeline, but we've allowed both 3 weeks of polish and 2 weeks of an additional "buffer" to allow ourselves enough time if tasks start taking substantially longer than expected.

From this point onwards, we're going to be updating this topic on a daily basis, covering off what we've done on each day, so expect to see another update tomorrow.
Logged

Sabre070
Level 0
**



View Profile WWW
« Reply #39 on: December 11, 2013, 09:58:00 PM »

Today I fixed a bug we'd had in the game for a VERY long time.

Our zooming algorithm gets a point and then emulates what it could be at an increased zoom level.

Previously to get the correct value for the non-zoomed location we used a special offset.

var ocx = ((x - Math.Abs(i)) % 2 == 0 ? 0 : Math.Abs(i % 2)) - (i % 2 == -1 ? 1 : 0);

I don't know why the i's are absolute values there, but that is one of the problems that we had (at least it wasn't as clear to how we designed it).

var ocx = ((x - i) % 2 == 0 ? (i % 2 == -1 ? -1 : 0) : (i % 2 == 1 ? 1 : 0));

We changed it so that the value it gets is clearer.

We also added a "Spread" zoom, which causes a single cell to be spread over 4 cells. In the future we may use this to create smoother areas, though not sure exactly how that is going to be used yet.



Along side this issue we'd found something that I long since suspected was wrong.

var southEast = input[((i + 2) / 2 + ox + ocx) + (((j + 2) / 2 + oy + ocy) * width) +((k + oz + ocz) * width * height)];

This was meant to get the cell that is to the south-east to the current cell. What it really ends up doing is getting that cell unless you are near an edge, hence our border continuity issues.

Our new version is actually working:

var southEast = input[((i + 1) / 2 + ox + ocx_e) + (((j + 1) / 2 + oy + ocy_s) * width) + ((k + oz + ocz) * width * height)];



I've also designed how our Armor and Resistance systems are going to work as well as getting through development of being definitions and being cluster definitions. This means that we can create groups of enemies in the near future!
Logged
Pages: 1 [2] 3
Print
Jump to:  

Theme orange-lt created by panic