Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3]

Author Topic: Procedural String Support (Custom NewGame and Custom Pickup Lines!)  (Read 3495 times)

Reelya

  • Bay Watcher
    • View Profile
Re: Procedural String Support (Custom NewGame and Custom Pickup Lines!)
« Reply #30 on: February 02, 2017, 01:30:32 am »

The idea of being able to modify some parts of the game without needing programming knowledge is already fantastic honestly. Reminds me of those Paradox games like CK2 with their events. Or Dwarf Fortress, to give a more "local" example ;)

Part of the trick here isn't to force two branches to merge, you can in fact implement the same data structures / file structures in both projects separately, iron out any inconsitencies then share files back and forth. Basically the problem is that with LCS people are rolling their own code versions which are then incompatible with what everyone else is doing. This version is a good start towards a basis for data files, and I suggest IsaacG work on the "clean" version, but also support "mod" versions as data-only. Any code change that implements an added feature, that goes against the core rationale of why this project would exist.
« Last Edit: February 02, 2017, 01:38:35 am by Reelya »
Logged

SlatersQuest

  • Bay Watcher
    • View Profile
Re: Procedural String Support (Custom NewGame and Custom Pickup Lines!)
« Reply #31 on: February 02, 2017, 01:43:17 pm »

The reason this is happening - on my end, at least - is that I have a number of features that I'm trying to add to the game and doing that requires coding. The features that I am adding will eventually be text-moddable with a set of instructions, but first the features need to exist before I can make them user-friendly. At least the TV mod is playable. :)
Logged

IsaacG

  • Bay Watcher
  • Mad Engineer
    • View Profile
Re: Procedural String Support (Custom NewGame and Custom Pickup Lines!)
« Reply #32 on: February 02, 2017, 02:00:31 pm »

The idea of being able to modify some parts of the game without needing programming knowledge is already fantastic honestly. Reminds me of those Paradox games like CK2 with their events. Or Dwarf Fortress, to give a more "local" example ;)
Data Driven Development.  The easier and safer it is to add features, the more people can add features.  My favorite part of LCS, the flavor, the humor, it's predominately plaintext, and as such should be some of the easiest parts to modify, but since it's hardcoded, it's easier to find a zombie mod than a few new pickup lines.  Multiple save files, multiple cities, the Stalinist Crimesquad, these are excellent features and I have the utmost respect for the people who added them, but C++ sucks!  I don't want to force anyone to learn it.  LCS lives and dies by its mods, and with all the craziness in the past ten years, there has got to be all sorts of ideas floating around, and I don't want C++ to be standing in the way of all that creative content.

Any code change that implements an added feature, that goes against the core rationale of why this project would exist.
I couldn't have said it better myself.
That said I am working on something new.  A mod folder, to allow switching between data-only mods without multiple copies of the executable.  Apart from the risk of screwing up save files if loaded with an incompatible mod, it seems surprisingly simple.

The reason this is happening - on my end, at least - is that I have a number of features that I'm trying to add to the game and doing that requires coding. The features that I am adding will eventually be text-moddable with a set of instructions, but first the features need to exist before I can make them user-friendly. At least the TV mod is playable. :)
Aye.  I have long fantasized of such an LCS.  I hope my efforts make the transition easier, or at least not more difficult.
Logged
Procedural String Support (Custom NewGame and Custom Pickup Lines!)

Quote
Many people, meeting Aziraphale for the first time, formed three impressions: that he was English, that he was intelligent, and that he was gayer than a tree full of monkeys on nitrous oxide.

Akumetsu: it's pretty much Liberal Crime Squad in comic book form.

Reelya

  • Bay Watcher
    • View Profile
Re: Procedural String Support (Custom NewGame and Custom Pickup Lines!)
« Reply #33 on: February 07, 2017, 03:13:17 am »

BTW Isaac, i see you didn't implement any of the changes I gave you for activate.cpp. I'm certain I sent that to you.

I did manage to pull out a lot of the code and text, so that it was in tables, it's kinda disappointing that you didn't incorporate that.
Logged

IsaacG

  • Bay Watcher
  • Mad Engineer
    • View Profile
Re: Procedural String Support (Custom NewGame and Custom Pickup Lines!)
« Reply #34 on: February 08, 2017, 01:46:50 pm »

BTW Isaac, i see you didn't implement any of the changes I gave you for activate.cpp. I'm certain I sent that to you.

I did manage to pull out a lot of the code and text, so that it was in tables, it's kinda disappointing that you didn't incorporate that.
W-what?  No, I totally implemented the changes you made for activate.cpp.  I even updated it to include the augmentation code that Kamel-Sadek introduced in 4.10.  Just check my GitHub.  Ignore the fact that the commit for those changes was about two minutes ago.
It really simplifies things, I expect I will be able to expand these changes to much of the rest of the code.

(Sorry, I couldn't remember what your changes were or where to find them.  They're there now, and I'd greatly appreciate any further input.)
Logged
Procedural String Support (Custom NewGame and Custom Pickup Lines!)

Quote
Many people, meeting Aziraphale for the first time, formed three impressions: that he was English, that he was intelligent, and that he was gayer than a tree full of monkeys on nitrous oxide.

Akumetsu: it's pretty much Liberal Crime Squad in comic book form.

Reelya

  • Bay Watcher
    • View Profile
Re: Procedural String Support (Custom NewGame and Custom Pickup Lines!)
« Reply #35 on: February 08, 2017, 02:02:49 pm »

Uhuh, well I opened up the DL in the OP for the thread and didn't see any of the changes such as breaking out all the college classes to a table of text values etc, so i was kinda curious.

One of the things I'd like to do as well however is break the code dependency on the game with all the creature ENUM values. Basically, what would replace that is a class with some functions that you call with the enum that returns some value for each creature. We can encapsulate all the creature-specific logic in one place basically and hide the specifics from each module that needs to know about creature types. It'd be the first step to completely being able to code new creatures in XML and the like.
« Last Edit: February 08, 2017, 02:05:58 pm by Reelya »
Logged

IsaacG

  • Bay Watcher
  • Mad Engineer
    • View Profile
Re: Procedural String Support (Custom NewGame and Custom Pickup Lines!)
« Reply #36 on: February 08, 2017, 02:33:33 pm »

Uhuh, well I opened up the DL in the OP for the thread and didn't see any of the changes such as breaking out all the college classes to a table of text values etc, so i was kinda curious.
<.<; I should have implemented those changes much earlier.
I'm finding GitHub makes things a lot easier when I only have to change two or three text files at a time.  I'm considering dropping it from mediafire.  Heck, GitHub allows "download as zip", and that's
One of the things I'd like to do as well however is break the code dependency on the game with all the creature ENUM values. Basically, what would replace that is a class with some functions that you call with the enum that returns some value for each creature. We can encapsulate all the creature-specific logic in one place basically and hide the specifics from each module that needs to know about creature types. It'd be the first step to completely being able to code new creatures in XML and the like.
That directly relates to the most requested feature: less hardcoded creature data, moving it to the XML file.
Logged
Procedural String Support (Custom NewGame and Custom Pickup Lines!)

Quote
Many people, meeting Aziraphale for the first time, formed three impressions: that he was English, that he was intelligent, and that he was gayer than a tree full of monkeys on nitrous oxide.

Akumetsu: it's pretty much Liberal Crime Squad in comic book form.
Pages: 1 2 [3]