Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - cappie

#1
Ludeon,

I would like perform an appeal on your humanity by making these small changes.. not just for me, but for the entire community.

I'm well aware that these questions have come across on several threads all over this board, but I would like to stress that playing single peon games are nearly unplayable without being able to heal simple surface wounds or superficial bleeds myself using the development mode, which ruins my entire game.

Also, being able to switch this on at will, weak-willed as I am, as one of my peons which I've cared for, for over 40 hours is about to die, I cannot bear to see it suffer and break my game..

I've tried over and over, but I would really want to have some kind of development mode lockout which, once enabled for a game, CANNOT be disabled... a simple encryption over the game save for these games would be preferable as well.

I hope this reaches you and that it may inspire you to integrate these features before the release of the next alpha
#2
Hi guys,

I'm working on a translation tool that can import new string's from Tynan's original english translation (including the Defs, but right now, they're not yet implemented) to make the translation work a bit easier. I'm doing this because I was fed up with the incomplete translation for alpha 7 :)

NOTE: This tool is meant as an augmentation to the Github translation repositories (not as a replacement!!) for those who aren't as familiar with Git(hub), editing XML files but to know how to properly translate game language-strings..

What I've written right now is a small importer that reads in the Keyed folder from the original English translation. Next step is to also import the Defs folder (which shouldn't be that hard, considering I wrote a recursive directory importer that can handle XML's). The importers are written in such a way that when there's a new version of RimWorld, I can just update the files and re-run the importers to add all the original English strings (the new ones). Running such an import should not affect the translations already in the database then. Anyway, after that I'll write an importer for all current translations, so that the translations database is going to be filled to near completion. My goal is to create a tool with which one can 'generate' the entire language packs for RimWorld, based on which translation is completed or not..

This means that this tool will eventually be able quickly update whenever a new version of RimWorld is released and it can generate the translated 'Keyed' and 'DefInjected' files (in their respective subdirectories) for each language once the missing (new) strings have been translated. I have a first version of the basic translation page running at http://rwt.gamechat.nl/translate.php (rwt = rim world translator)

Feel free to have a look and provide some feedback... let me know if this is useful at all, of not I'll scrap it for own use on other projects, but I thought it might be useful.

My todo list is:

  • Create actual decent code instead of this prototypey shit
  • Create original English Defs importer & import them
  • Create importer for all current translations
  • Create a way to log in using some kind of authentication service (OpenID or something similar)
  • Create export script to generate .zip containing the entire Languages-folder
  • Create a voting system so that the community decides which version of a translation string is best.. we should be able to vote what best suits the game, considering it's unique feel and setting.

TL;DR: I'm building a RimWorld translation tool (which is not finished yet) for great translators that are not able (or willing) to work with GIT.. got feedback?

UPDATE: released the code on Github.. sorry I didn't check this thread earlier; I kinda lost hope and abandoned it after a month of 0 replies :)
#3
Hi Tynan,

I'm trying to run Rimworld on my work laptop which runs Ubuntu Linux 14.04 on an onboard Intel 4000 chipset (Mesa DRI Intel(R) Ivybridge Mobile, 256MB VRAM), but even if I edit the 'prefs'-file (which I've included) to have it run in Windowed mode and on 1280x720, it still stays black.

Steps I've tried:

  • Did a fresh install, still no-go
  • Ran the game from /Rimworld instead of /opt/Rimworld (still the same problems)
  • Shut down all other programs, switched to single monitor mode, chmod 777 /Rimworld (still black screen)
  • Tried to look for other clues/steps here on the forum, but couldn't find any :(

Looking at the log file (which I've also included) it seems that it gets stuck in a loop doing this:

(Filename:  Line: 4294967295)

NullReferenceException: Object reference not set to an instance of an object
  at VerseBase.Root.Update () [0x00000] in <filename unknown>:0

(Filename:  Line: 4294967295)

NullReferenceException: Object reference not set to an instance of an object
  at VerseBase.Root.OnGUI () [0x00000] in <filename unknown>:0


This keeps looping until I shutdown the client... at the beginning of this infinite loop, it starts with this error:


(Filename: /BuildAgent/work/d63dfc6385190b60/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

ArgumentNullException: Argument cannot be null.
Parameter name: key
  at System.Collections.Generic.Dictionary`2[System.Type,Verse.ITab].TryGetValue (System.Type key, Verse.ITab& value) [0x00000] in <filename unknown>:0
  at Verse.ITabManager.GetSharedInstance (System.Type tabType) [0x00000] in <filename unknown>:0
  at Verse.ThingDef.PostLoad () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  at Verse.XmlToItem.TryDoPostLoad (System.Object obj) [0x00000] in <filename unknown>:0
  at Verse.XmlToItem.ItemFromXml[ThingDef] (System.Xml.XmlNode xmlRoot, Boolean doPostLoad) [0x00000] in <filename unknown>:0
  at Verse.XmlLoader+<AllGameItemsFromAsset>c__IteratorD3`1[Verse.ThingDef].MoveNext () [0x00000] in <filename unknown>:0
  at Verse.ModDefSet`1[Verse.ThingDef].ReloadAllFromFiles () [0x00000] in <filename unknown>:0
  at Verse.Mod.ReloadAllContent () [0x00000] in <filename unknown>:0
  at Verse.LoadedModManager.LoadAllActiveMods () [0x00000] in <filename unknown>:0
  at Verse.PlayDataLoader.LoadAllPlayData () [0x00000] in <filename unknown>:0
  at VerseBase.Root.Start () [0x00000] in <filename unknown>:0


Please have a look at the attached files for more details.. I hope this helps you troubleshoot those damned black screen problems with Unity :)

PS: I must say that I'm totally blown away by the progress you've made.. and the game runs like molten butter on my Windows machine, congratz man.. I'm really glad I've backed you back in the beginning.. you're building something truly awesome here.. keep up the good work! :)

[attachment deleted by admin: too old]
#4
Why Maintenance Droids?
Simple droids that can do limited things, for example: "only repairs, hauling and cleaning". However, droids use up metals whenever they repair themselves, thus forcing the player to choose between the short term solution of adding a Maintenance Droid that eats through his non-renewable resources, or waiting for that extra colonist (which is faster and better than the droid, since it can do a lot more, a lot faster).

Development info
Droids could be programmed like normal pawns, but with the following defining characteristics based off the pawn class:

  • Droids have to be researched
  • Walking speed * 0.75
  • Hit points * 2.5 (they're quite tough little buggers), but auto-repairs cost metals, and they can't do anything while repairing)
  • Task speed * 0.75 - 1.25, (depending on research level?) of normal pawn
  • Electric engine sound effect, frequency based on current speed (it is possible to read out a pawns speed in Unity, right?)
  • Droids have a breakdown chance
  • Droids lose health out in the rain or sandstorms
  • Droids have a chance to get stuck moving on sand
  • Droids use their own solar energy panels to charge which they have to expose to recharge, and they can't do anything while charging. (possibly recharge sound effect and/or bars filling visually), think Wall-E)
  • Alternatively, Droids could use energy from the base, the same way Pawns eat food from a dispenser, if that is less work to program.. could also be a nice game mechanic.. no power, no army of droids.. another disadvantage of droids to balance things out
  • Limited skillset, based on what research you choose for your droids, droids get more expensive whenever you research then to have more skills
  • Existing droids can only be manually upgraded whenever you've researched a new skill
  • Droids get disabled during solar flares.. just imagine the chaos that will bring, combined with a raider attack :D[/i]
I really hope something like this gets implemented.. I think they could prove to be an interesting game mechanic.