Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1366243 Posts in 64019 Topics- by 55909 Members - Latest Member: ConscriptDev

September 19, 2019, 08:07:11 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsMoonQuest (OUT NOW!)
Pages: 1 ... 180 181 [182] 183 184 ... 189
Print
Author Topic: MoonQuest (OUT NOW!)  (Read 1123540 times)
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3620 on: November 29, 2016, 02:26:28 PM »

Super excited for early access! It comes out in the same month as my birthday :D

Wiew! :D
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3621 on: December 03, 2016, 07:38:20 PM »

Update: One of the tasks this week was to restructure the NPC and persistent human code (let's just call them all NPCs for simplicity). I'm working towards a system that simplifies the specification, generation, and serialisation of NPCs. At the moment the code (e.g., to make townspeople and the king in the castle) uses different generation and serialisation machinery -- but now that I'm clear on what I need I'm unifying it all. The basic requirements are:

The top-level Game Planner will specify where NPCs appear. (e.g., a SilverSmith in Town, a CrazyCatPerson in a Tunnel)
Main crafting NPCs will appear in Town
Special crafting and other NPCs can appear in regions (e.g., Forest) or sub-regions (e.g., Tunnel)
Some properties of NPCs are specified at Planner level (e.g., recipe list), but some are left to the region-generator (e.g., skin colour, outfit). (This is to simplify the Planner so it can just focus on the important properties.)
Crafter NPCs are specified by a RecipeList (this is as it sounds, a list of the recipes the NPC offers.)
NPCs has some persistent state (e.g, seed, name, health, agro status, crafter list)
Attacking a townsperson should set the whole town on agro status
NPC deaths persist. If a merchant dies, he's not coming back.
Special enemies like the King in the castle, or a are all factored in under


We also improved the appearance of ores -- one of the few remaining block types which haven't been updated in a couple of years. Some ores such as gold now produce light, so they are more easily found (see below).



I also improved the editor to help with development..
Added some keyboard shortcuts
Can spawn more npc types
Can give items/armour/etc to npcs
Can toggle diff npc behaviours (this is primarily for making gifs, videos, etc)
Can move NPCs around




Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3622 on: December 06, 2016, 10:15:13 PM »

Update: I'm finally at a good level of abstraction. Game Planner can say 'make a town, ensure it has a church' and area generator complies. The town generator is then free to do whatever it likes, adding other buildings etc, as long as it satisfies what Planner wants. Planner can then focus on important stuff that ties an entire game together.

Logged

jctwood
Level 10
*****



View Profile WWW
« Reply #3623 on: December 07, 2016, 06:29:36 AM »

This looks like a very powerful and adaptable system! I wonder if it could be made to parse external files for modding purposes.
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3624 on: December 07, 2016, 03:26:41 PM »

This looks like a very powerful and adaptable system! I wonder if it could be made to parse external files for modding purposes.

Yeah you certainly could. One of the major decisions I made early on was to not directly support modding --- so I could focus just on the game itself. But after seeing things like DFHack and Minecraft modding, I realised that people figure out a way to mod the game even if it doesn't directly support it.
Logged

bacon
Level 1
*


View Profile
« Reply #3625 on: December 07, 2016, 04:22:49 PM »

This looks like a very powerful and adaptable system! I wonder if it could be made to parse external files for modding purposes.

Yeah you certainly could. One of the major decisions I made early on was to not directly support modding --- so I could focus just on the game itself. But after seeing things like DFHack and Minecraft modding, I realised that people figure out a way to mod the game even if it doesn't directly support it.

That's actually kind of surprising - what made you not want to open it up to modding from the get go?
Logged

CANTATA
cow_trix
Level 0
***


Meat Popsicle


View Profile WWW
« Reply #3626 on: December 07, 2016, 04:28:16 PM »

This looks like a very powerful and adaptable system! I wonder if it could be made to parse external files for modding purposes.

Yeah you certainly could. One of the major decisions I made early on was to not directly support modding --- so I could focus just on the game itself. But after seeing things like DFHack and Minecraft modding, I realised that people figure out a way to mod the game even if it doesn't directly support it.

That's actually kind of surprising - what made you not want to open it up to modding from the get go?

As someone currently working from the other end of the spectrum - opening Hurtworld up to modding luturally uvurythung - I totally get this. It's a lot less work when your tools only have to work for you!
Logged

@cow_trix
I make games and you should play them.
kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #3627 on: December 07, 2016, 04:30:21 PM »

Friendly reminder that this game has been under development for nearly exactly 5 years now. I kinda grew up with it.

Nice  Waaagh!

Brings a tear to my eye.
« Last Edit: December 07, 2016, 04:58:56 PM by kamac » Logged

bacon
Level 1
*


View Profile
« Reply #3628 on: December 07, 2016, 04:49:39 PM »

This looks like a very powerful and adaptable system! I wonder if it could be made to parse external files for modding purposes.

Yeah you certainly could. One of the major decisions I made early on was to not directly support modding --- so I could focus just on the game itself. But after seeing things like DFHack and Minecraft modding, I realised that people figure out a way to mod the game even if it doesn't directly support it.

That's actually kind of surprising - what made you not want to open it up to modding from the get go?

As someone currently working from the other end of the spectrum - opening Hurtworld up to modding luturally uvurythung - I totally get this. It's a lot less work when your tools only have to work for you!

Haha I totally hear that. I'm making my game moddable from the start and having to dive into like, System.Reflection instead of getting to actually program gameplay sucks, but it's also nice knowing that I'm opening it up to make it super easy for people to mod if they want to.

But I'm actually stoked you're here because I was looking into Oxide - do you provide the API for this stuff or is that all done by the community? And does the support there exist only because of you? Also if you have any hot tips for designing Unity games for modding LET ME KNOW. Feel like I'm pulling together strings.
Logged

CANTATA
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3629 on: December 07, 2016, 07:04:46 PM »

That's actually kind of surprising - what made you not want to open it up to modding from the get go?

Originally had modding support planned, if you go back to the first 20 pages or so I started to build a basic Lua API. Ultimately it would have been a lot more work -- now every feature of your game needs twice as much work: the main engine implementation and the modding hooks/testing/etc. (The same goes for online multiplayer, you basically double the amount of work for each feature.)

One big reason was that other games, such as Crea, were heavily supporting modding (which has been a double-edged sword for the dev), and because I was trying to find my own niche I decided to make it single-player, non-moddable, and non-sandboxy.

As someone currently working from the other end of the spectrum - opening Hurtworld up to modding luturally uvurythung - I totally get this. It's a lot less work when your tools only have to work for you!

Yeah man, it all depends on what your game is. For me, if the core game wasn't fun then supporting modding would be all pointless work. For games like Garry's Mod they (literally) are fun because they support modding.

Two things I learnt from various sources from when I started this game:

1. strongly supporting modding through a scripting engine is just a whole tonne of work, from making the API, running the actual interpreter, and debugging community scripts.

2. if people love your game then they will find a way to mod it.

Friendly reminder that this game has been under development for nearly exactly 5 years now. I kinda grew up with it.

Brings a tear to my eye.

Aww you're OG moonman. Thanks for being part of this thread, I love TIGs. I hope to release before 1000000 views.

Haha I totally hear that. I'm making my game moddable from the start and having to dive into like, System.Reflection instead of getting to actually program gameplay sucks, but it's also nice knowing that I'm opening it up to make it super easy for people to mod if they want to.

I don't know what your game entails, but in general I'd recommend against adding modding support. Just make a really fun focused game, and then, if you survive, you can tackle something more engineered. It's a big gamble to do all that work so people 'can mod if they want to', especially if, as you say, the gameplay and all other bits are going to suffer from lack of attention.
Logged

cow_trix
Level 0
***


Meat Popsicle


View Profile WWW
« Reply #3630 on: December 08, 2016, 04:27:35 PM »

This looks like a very powerful and adaptable system! I wonder if it could be made to parse external files for modding purposes.

Yeah you certainly could. One of the major decisions I made early on was to not directly support modding --- so I could focus just on the game itself. But after seeing things like DFHack and Minecraft modding, I realised that people figure out a way to mod the game even if it doesn't directly support it.

That's actually kind of surprising - what made you not want to open it up to modding from the get go?

As someone currently working from the other end of the spectrum - opening Hurtworld up to modding luturally uvurythung - I totally get this. It's a lot less work when your tools only have to work for you!

Haha I totally hear that. I'm making my game moddable from the start and having to dive into like, System.Reflection instead of getting to actually program gameplay sucks, but it's also nice knowing that I'm opening it up to make it super easy for people to mod if they want to.

But I'm actually stoked you're here because I was looking into Oxide - do you provide the API for this stuff or is that all done by the community? And does the support there exist only because of you? Also if you have any hot tips for designing Unity games for modding LET ME KNOW. Feel like I'm pulling together strings.

Oxide is completely community driven and completely awesome. Sometimes they ask for small changes in code to make injecting their hooks easier but apart from that they do their own thing.

For designing moddable Unity games: make everything modular AssetBundles. Consider that all you need for things to serialize across AssetBundles is the same class name and field names, so you don't have to distribute source code for people to be able to create Monobehaviours and ScriptableObjects that your game can understand. There's a whole article to write about it one day, I can go into more detail over PM.

Sorry for hijacking the thread eigenbom!
Logged

@cow_trix
I make games and you should play them.
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3631 on: December 08, 2016, 05:50:53 PM »

> Sorry for hijacking the thread eigenbom!

No worries, interesting to hear about this stuff. I just read up on Oxide, looks pretty cool Smiley
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3632 on: December 10, 2016, 10:41:36 PM »

Update: Super busy week and weekend, only finishing up now - late on a Sunday evening. Work was mainly refactoring all the world generators to be compatible with the new game planner code. I've modified at least 10,000 lines of code this week, which gives you an idea of the scale. It's very tedious: adapting old code to use new code, changing locations of structs, etc.

All this work is so that I can specify game properties at the level of the Planner. Here's some code for the Planner on the left ... all it's doing is saying it wants a Skeleton and Furnace at a certain location in a level. The generator then takes this info and figures out exactly where to place those things. The generator is then also free to add extra enemies and objects. This frees the Planner up to focus on just important game-wide elements.



In addition to the NPCs, some other game-wide elements include World Objects (like the furnace above), Features (which include simple things like spawn points to more complex structures like Houses), and Internal Doors (which connect up the different regions).

Related to this refactor I've moved all the crafting recipes into a huge spreadsheet. They were split amongst several files before, so it's great to have them all centralised. Each entry is basically a series of [RECIPE LIST, VERB, ITEM, INGREDIENTS] rows.

I decided to generalise the concept of CRAFTER to that of a RECIPE LIST. In the game I can now give a recipe list to an NPC or a world object, and it gains the ability to craft items from that list. Typically a World Object will correspond to just one recipe list (e.g., a Toolbox will always have the Toolbox recipe list (below)). But more generally, it means we can customise other crafters. E.g., for Boney's Furnace above, we could attach a different recipe list to give it a customised set of items. Likewise for NPCs, I could design a set of different recipe lists for merchants and then assign one randomly and/or dynamically.



See you next week!
Logged

bacon
Level 1
*


View Profile
« Reply #3633 on: December 11, 2016, 10:15:44 AM »

This looks like a very powerful and adaptable system! I wonder if it could be made to parse external files for modding purposes.

Yeah you certainly could. One of the major decisions I made early on was to not directly support modding --- so I could focus just on the game itself. But after seeing things like DFHack and Minecraft modding, I realised that people figure out a way to mod the game even if it doesn't directly support it.

That's actually kind of surprising - what made you not want to open it up to modding from the get go?

As someone currently working from the other end of the spectrum - opening Hurtworld up to modding luturally uvurythung - I totally get this. It's a lot less work when your tools only have to work for you!

Haha I totally hear that. I'm making my game moddable from the start and having to dive into like, System.Reflection instead of getting to actually program gameplay sucks, but it's also nice knowing that I'm opening it up to make it super easy for people to mod if they want to.

But I'm actually stoked you're here because I was looking into Oxide - do you provide the API for this stuff or is that all done by the community? And does the support there exist only because of you? Also if you have any hot tips for designing Unity games for modding LET ME KNOW. Feel like I'm pulling together strings.

Oxide is completely community driven and completely awesome. Sometimes they ask for small changes in code to make injecting their hooks easier but apart from that they do their own thing.

For designing moddable Unity games: make everything modular AssetBundles. Consider that all you need for things to serialize across AssetBundles is the same class name and field names, so you don't have to distribute source code for people to be able to create Monobehaviours and ScriptableObjects that your game can understand. There's a whole article to write about it one day, I can go into more detail over PM.

Sorry for hijacking the thread eigenbom!

Sent you a message — eager to discuss this more with you! And thanks for allowing a diversion eigenbom!

To go back on topic — how do you plan to use the planner? Is it a script backend for what you do in an editor or is it the main way you "design" the game?
Logged

CANTATA
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3634 on: December 11, 2016, 02:56:01 PM »

> To go back on topic — how do you plan to use the planner? Is it a script backend for what you do in an editor or is it the main way you "design" the game?

The planner is a separate module in the system that is responsible for creating a game -- from deciding what the areas contain and how they are connected to deciding the types of enemies and NPCs. The first release will have a simple planner but I hope to greatly expand it so that each game feels different.
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3635 on: December 15, 2016, 09:26:27 PM »

Update: Continuing on the Planner code, I've shifted more things up a level. Things like the Stone Cove, Ruins, Hive, etc., can all be specified by the planner. So theoretically you could make a forest with many ruins or none, lots of hives or just one, and eventually I'll add more control over the placement of these.

I also put the Planner into action, and the game now can now generate a full set of connected areas. You can walk from Solomon's house, go through the tunnel, come out into the forest, then up to the surface to a sign post, across a small transition area to the mountain, then into a tomb via a door (for instance). The Planner has a lot of flexibility with how it connects all these areas up, and I look forward to trying out different global layouts. For example, I can imagine finding a ruins in the forest, walking through it, coming out in a hidden room in the cathedral, then surfacing up in the volcano level.

Although all this may sound abstract, I'm using it to make big strides in the actual development. The planner can now add pre-built little areas (hidden around the forest and other areas) and specify the contents of containers. For instance, it might want to add a special set of armour in this little area:



Other attributes, like whether an area is snowing, or what theme it has, are also specified at the planner level. Each region will have a few themes which primarily affect what it looks like. Here's the default theme for the forest and a 'dusk' theme. In this case the theme changes some of the plants and the distribution of basic blocks. Other attributes, like terrain_type, will be used to modify the actual structure of the areas.



Logged

jctwood
Level 10
*****



View Profile WWW
« Reply #3636 on: December 16, 2016, 07:17:09 AM »

Beautiful as ever. Really interesting to hear about the planner system I can imagine it would be useful in any kind of procedural level.
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3637 on: December 21, 2016, 04:59:38 PM »

Beautiful as ever. Really interesting to hear about the planner system I can imagine it would be useful in any kind of procedural level.

Thanks! Yeah I'm already considering my next game which will really push this whole idea much further. Moonman is like a big pile of stuff with some basic game planning, but my next game will be all about the planner and less about lots of stuff. But there's another year or two before I even start it.

Update: Well it's my last week of work this year then I'm off until the 9th of Jan. It's been a very busy year, thanks for hanging out in this devlog and keeping up with the progress of the project! Your support means a lot to both Alex and I, and we're both very excited about the final sprint next year leading up to the Beta release in March.

This week was a short one and was mostly just a big tidy up before the break. We've organised the Trello, and tried to narrow it down to the minimum tasks required for the Beta. In addition to that I've decided on a company name (TBA) to release the game under, and have written a EULA and other related boring documents.

Actual programming was a minimum, but I did finally implement alternative skins in the character select. A few characters have alternative skins, some of which are there at the start and some which will be hidden. To start there will be the 4 main characters (moonman, elemental, human male, human female) and the humans each have 3 different skin tones. Other character skins, like Moomman, will probably be unlockable through game actions, in a similar way to the unlockable characters. The alternative skins are just selected by pushing up or down in the character select screen.



This is my last post for 2016, thanks again for all your helpful comments this year. Have a safe holiday break!


Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3638 on: January 12, 2017, 11:04:08 PM »

Update: Welcome to the devlog for 2017!

A local sound guy named Andrew is now making some of the effects for the beta. While he's been composing I've been adding hooks for most of the sound effects and cleaning up old sfx code. I've also been adding more sound features, like an underwater sound mode which lowers the pitch of all sound effects while playing a looping underwater ambience. There are around 100 or so basic sounds, which are played with different pitches, etc., sometimes in loops, sometimes alongside another sound, and so on. The final game will have about twice that, but for the beta we're just doing the core sounds. Here's part of the spreadsheet we're using to coordinate and organise the sfx.



I then have a super simple system where you just say play(SFX_BOINK) or whatever, choosing from a big list of enumerated sounds. I decided to hard code all these in because I need to get this done quickly and move on to the next task.



I also added a SFX menu to my devmode in the game which lets me play sounds (with an optional position) in the game and search through them etc, in the same way that I can search the objects, items, blocks, etc.



Alex is back at work too! He's been working on the title and promotional images, and has also been experimenting with some designs for the website, and itch.io page, and so on. I'm super exhausted so it's a short devlog today.
Logged

Mixer
Level 1
*


I've never really known what to put here.


View Profile WWW
« Reply #3639 on: January 13, 2017, 01:10:28 AM »

Awesome work Ben. Always love seeing the updates even if I don't post much. Keep up the awesome work :D
Logged

My twitter is @5Mixer.
I'm currently making a dungeon game, check it out :D
https://forums.tigsource.com/index.php?topic=59139.0
Pages: 1 ... 180 181 [182] 183 184 ... 189
Print
Jump to:  

Theme orange-lt created by panic