Page 1 of 2
TFork
Posted: Sat Sep 25, 2010 5:32 pm
by Lord Estraven
Those of you who frequent Oook may know about this from my posts there. It's a fork of AnonymousHero's 2.3.x git branch, and as of now it finally has its own repository on Gitorious.
http://gitorious.org/tfork#more
As I state on the project page, there are several goals, including:
* Moving as much stuff from C to Lua as possible, for better extendibility
* Removing stuff I consider silly and/or annoying
* Improving game balance, enjoyability, and “fairness”
* Removing unused code and/or making it useful in some way
Needless to say this is going to be under continual development for a while, and it may be more or less broken at any time (e.g. removal of Mindcraft broke priests, something I'm working to fix at the moment). But I hope to ultimately have something that's more fun to play (and to hack away at) than ToME was. Not sure if I'll succeed, but I figured it was worth trying.
Re: TFork
Posted: Sat Sep 25, 2010 6:20 pm
by Lord Estraven
Gah. Or not. I just accidentally removed something vital, this is going to be hard to fix.
I think I may keep it on my hard drive until it reaches some semblance of stability...
Re: TFork
Posted: Sun Sep 26, 2010 1:34 pm
by Yottle
This sounds good to me. Taking silly/broken stuff out of T2 should be less work than revamping the whole thing.
Re: TFork
Posted: Sun Sep 26, 2010 11:04 pm
by Lord Estraven
I'll be putting it back up shortly. I've decided I'm not even going to bother moving the Mindcraft and other stuff to Lua for now; rather I'll focus on the other goals, since they're shorter term and more in line with my current code editing skills.
Re: TFork
Posted: Mon Sep 27, 2010 11:11 am
by Lord Estraven
Okay, it's up

Kind of unbalanced at the moment though. Bolas are still notably buggy; their damage displays incorrectly, and is also kind of silly. Really silly actually, considering that rope darts and meteor hammers have never been practical battlefield weapons, ever.
Re: TFork
Posted: Tue Sep 28, 2010 5:32 pm
by AnonymousHero
IMO, to really succeed at doing this you'd need to rework a lot of the engine internals to be more flexible. If you're going to move more stuff to Lua you'd probably also want to move to the latest version of Lua and use a non-hacked-up version of Lua.
Anyway, as you've discovered the code base is extremely brittle and lots of code is "reused" in unexpected places; this gets even worse when you factor in the fact that Lua isn't statically compiled... which means you'll have to test an inordinate amount to to discover serious problems where Lua code depends on unexpected code which has been removed/refactored. Even simple removal of code becomes extremely dangerous in the presence of Lua (and absence of a test suite).
Frankly, I'd rather try to move the code base to a sensible compiled language which could interoperate with C at a level where you could move things bit-by-bit. Maybe something like Vala would be suitable? Of course any such port would take a long time...
Re: TFork
Posted: Wed Sep 29, 2010 4:12 am
by Lord Estraven
Yes, I'm starting to discover the brittleness bit. I combined a couple spells into one, pretty sure I did everything right, and the game borked anyway (something about a nil value being indexed in a Lua function).
Kind of wonder if I should restart this on the T1 codebase. That'd be interesting. Last I checked though that had some kind of issue where browsing spells would crash it on moderns systems (including Windows XP).
Re: TFork
Posted: Wed Sep 29, 2010 2:00 pm
by darkgod
I salute your efforts butBTW, why not use TE4 engine to reimplement T2 ? could be a fun project

Re: TFork
Posted: Wed Sep 29, 2010 2:23 pm
by Lord Estraven
Too much work redoing stuff (or so it appears); nostalgia; and an archaic belief that text-based games should be able to run on a machine with no GPU.
More seriously, if I had the time, energy, and desire to do something like that, I'd be doing a total conversion to another fantasy universe.
Edit: BTW moving stuff to Lua is no longer a goal, and I'm trying out T1 for a base.
Re: TFork
Posted: Wed Sep 29, 2010 2:27 pm
by darkgod
Nostalgia is why you WOULD do it IMO

Re: TFork
Posted: Sun Oct 03, 2010 3:06 pm
by Lord Estraven
Hmm, even the T2 code seems to use byte integers in some places. Do not get...
Re: TFork
Posted: Sat Oct 23, 2010 10:44 pm
by Lord Estraven
I've closed the project for the following reasons:
- Lack of direction on my part (I don't really know what I want to do with the game)
- Excessively messy codebase
- Failure on my part to learn anything useful from the project
- Clear indications that I don't know how to balance a game properly
Also, stuff is picking up in Real Life (tm). It's not like I have no time for this (yet), but if I'm working on a software project, I want it to be something more interesting and more useful (from a "teaching me how to program" standpoint) than TFork. More original would also be nice.
Anyway, anyone who wants to mess with it (and laugh at the silly things I've done) is free to clone the repo and start hacking away.
Re: TFork
Posted: Sat Oct 23, 2010 11:12 pm
by AnonymousHero
That's probably a good call.
If you're trying to learn to program "properly" you really don't want to have to take on the ToME code base with all its "intricasies" (if we're being charitable). You're probably better off (learning-wise) if you try to implement a roguelike from scratch in a higher-level language.
Re: TFork
Posted: Sat Oct 23, 2010 11:19 pm
by darkgod
Like in TE4 ?

Re: TFork
Posted: Sat Oct 23, 2010 11:43 pm
by AnonymousHero
I said "from scratch". Using TE4 is cheating and won't teach you nearly as much

.
(Of course it's hard to define "from scratch" when we have such huge standard libraries in high-level languages, but I digress...)