LEGEND OF THE TOWERFUCKER


#43

It’s a chart of everyone’s height to make the kissing scenes work


#44

more recent editions of rpg maker have a separate regions layer which does nothing by default and is invisible but lets you assign 16 bit values to different x,y coordinates the same way you’d assign tile IDs to other layers

i exploited this to create “height regions” and wrote some (slightly involved) internal logic to allow you to automatically walk off cliff edges if there’s a landing spot that makes sense, prevent you from walking onto tiles that are above you, etc. it’s pretty robust and saves me a lot of work, e.g. i could plausbly refactor this if i wanted to do isometric stuff for a later game, and i also can continue using regions for other stuff for tiles where i don’t need to worry about height data


#45

Oh fuck! I have MV, but never even noticed this extra layer. Never tried doing anything in i couldn’t do in RM2k yet tbh


#46

i refactored my height map code some so it works with eight-directional movement now, with a minor animation bug that looks like it’ll be difficult to fix without rewriting most of MV’s character animation library. none of this work is very hard but as usual i didn’t get to start until i got home and my brain wouldn’t let me sleep until it was done so it’s 2 AM now. work is gonna be fun in the morning

image

my contempt for weakly typed languages grows stronger every day. i waste so much time on bug-fixing because of it

i am really strongly considering trying typescript or one of the other many compiles-to-js languages but i’m not sure how much of a pain it’ll be to get it to play nice with MV’s libraries. it looks like there hasn’t been much interest in the community because, uh. rpg maker.

i just want to work on games all day why does school have to waste all my fucking time


#47

If you are going to try a typed JS target language, try Purescript or js_of_ocaml! Typescript’s type system almost may as well not be there.


#48

Ugh I actually have to plan around this because it gets unmanageable. Had a few weeks where I was consistently staying up into the middle of the night and now I have rules about what I can program when.


#49

can you go into more detail about this? keep in mind my biggest criterion is that it’ll play nice with rpg maker’s existing js libraries without a lots of encapuslation/imports/whatever and that my main goals are getting types and variable scope and other rudimentary OOP principles in without having to spend a lot of time learning new syntax or paradigms (most wished-for syntax features are shorter function names as a result of proper encapsulation and getting rid of factories and this.everything)


#50

Sadly, both Purescript and js_of_ocaml are pretty heavy solutions, then. Purescript is basically 99% Haskell, with a few experimental type level features and differences to accommodate (or attempt to) the panoply of side effects that are present in a browser. Ocaml of JS is 100% ocaml except for a few small differences in the built in data types, which are backed by JS types instead of the somewhat unusual Ocaml versions.

Neither sounds like what you are looking for.

You might be way past this point, but it could be you could get most of what you want by adopting a few JS conventions.

I don’t know much about how RPG Maker integrates JS - is it its own engine with weird quirks or is it a standard js runtime?


#51

it’s a bunch of commonjs modules with nodejs as a backend if that answers your question. or at least, that’s my understanding. it might actually be one giant commonjs module with a billion functions stuffed into it, i’m still trying to get my head around it

all the editor itself does is generate data files for the commonjs functions to use as input

edit: ok they’re not really modules per se, everything in the js files is left completely global and there are no import or export statements anywhere

expanding the engine’s function calls should be as simple as

var MyNamespace.someFunction = OldLibrary.someFunction;
OldLibrary.someFunction = function() {
//call some other function, e.g. something from a typescript class
MyNamespace.someFunction.call(this);
};

#52

spent most of yesterday and today-so-far talking with a web dev friend and researching the (not pretty) js ecosystem and TS definitely seems to be the best fit for what i’m doing. and someone made a TS library documentation file for MV just a few months ago, so #bless :pray:

learning about ~the state of application development in 2017~ has hurt my faith in humanity but also done a lot to kill off my imposter syndrome lol. but no, really, my confidence has improved a lot, im real hacker grrl now


#53

been doing a lot of CPU profiling and optimization this weekend. some big performance gains were trivial to implement but the limitations of building a game engine in a single-threaded language with computationally expensive function calls is showing very, very, very badly. the fact that webgl and webaudio can’t even run on their own threads and that it’s a problem with JS specifications in general is a fucking embarrassment. this i7-2600 throttles up and still struggles to hold 60 FPS just leaving the game idling on a single-screen map. if i can at least find ways to restructure the core game loop to allow for more asynchronous functions maybe everything will be fine but my fear that rpg maker isn’t going to cut it is growing. it’s not a great feeling.


#54

typescript

a beatiful language

edit:


#55

typescript thinks that member functions implemented outside of a class definition shouldn’t be able to access protected variables

one of my files doubled in loc with almost no functionality added, i did root out some bugs but almost all the type and scope errors were overzealous and a stupid amount of work to dance around. i’m starting to think intellisense is one of the best programming tools to come out in the last decade but hoo boy typescript isn’t!!

i just wrote this


and i don’t think i can stomach any more of this fake-ass compiler or javascript’s anything, honest to fuck

getting back into coding through this project was maybe a mistake, i’ve learned more than anything my classes have taught me and i have confidence in myself that i’ve never had before but i’ve also eaten from the fruit of knowledge of good and evil, i can’t go back now, i want to take everything i’ve learned about functional programming and data composition in the last month and use it in a language that isn’t a garbage heap, lord help me i’m thinking of jumping ship to C# and unity like Everyone Else and unlike when i started this game i think i could actually pull it off

last night a rediscovered-friend – one of the smartest and nicest people i know – wanted to join my eventual thesis project as a direct result of this game. so much good has come out of the towerfucker and here i am thinking about scrapping when the initial and only goal was to actually fucking finish a game, in rpg maker, , ,

there are a lot of reasons to feel good about myself/life right now but depression means i keep excavating the bad from the good… the artist on my game dev team posted this today!


people are taking my dumb dorky ideas and running with them~ look at that lil goblin archaeologist! look at that water elemental who seems like he’s trying to sneak up but is just real shy! look at these map sprites!
standfrontgiftestsidewayz
so mischevious! so stubby! i love him and his terrible fashion sense to death

but most of the time when i think about the project it’s about how i’m not doing enough, how ugly the team dynamic is gonna get closer to the deadline, how only half the members make significant contributions and how i can’t seem to do anything about that,

or i think about my tabletop game and get sad that i’ll never finish crossing the wasteland to publishing, or i think about the offer i got to help develop the curriculum for a class and how the professor might never get back to me, or i think about my thesis project and how it’s a dinky tool for programmers that’ll probably be outclassed long before it’s done while my roommate is starting on a project that could feasibly change US electrical grid infrastructure, dude built a unique functioning prosthetic foot for one of his classes, what the fuck am i doing wrong that i’m not accomplishing stuff like that, etc etc etc

idk, i sit around at work all day wanting to go home and reading about tuples and lamba expressions and shit to have something to do, blasting headphones whenever the new cishet white coworker has a shift and starts making sexist jokes, my classes teach me almost nothing, i feel like i have more opportunities here than i ever will again and i keep wasting them doing nothing

seems like if i stop working on this game i’ll feel terrible and if keep working on it i’ll keep feeling terrible

idk i’m nervous this post is privileged-sounding or humble-braggish and that cancel button is eyeing me but uh idk im just, gonna sleep now, i need my brain to stop


#56

fwiw I think what you’re feeling is very relatable and not weird at all. Sometimes I’m in a mental state to be productive and sometimes I’m not. Take care of yourself and don’t sweat it too much!

C# is the same way. Class extensions are implemented via static methods under the hood so they only have access to public members.

I dunno exactly what you’re trying to do but sometimes it’s better to accept a language’s quirks than try to work around them. I have to use Java a bunch at work and it’s complete shit, but I was surprised at how quickly I got used to missing features I thought I needed. Although this is sort of terrible advice because I wouldn’t wish Java on anyone.


#57

java is what every standard introductory CS class teaches now, it’s gonna be weird going back to public static void main() type shit but that’s still way less language cruft than what i’m dealing with now. swing sucks and using applications made with it is consistently universally shitty but i mean i’m fine/comfortable with its paradigm

my data structures and algorithms class still uses java which is just one of many stupid things about it

it teaches practical skills like doing arbitrary h-sorts by hand on paper with no reference material or memorizing the names of algorithms no one uses~

meanwhile lambda expressions and tuples and array maps and, you know, anything i didn’t learn before high school are things i have to teach myself???

my upper division simulations class at least introduced bayesian maps at one point in the midst of flowcharting algebra problems, maybe by the end of the semester we’ll be ~advanced~ enough for netlogo -_-

i’m starting to realize that i taught myself almost all of what’s going to be my undergrad CS education by 13, right in time for puberty to hit and make me too depressed and dysphoric to do anything with it. thinking about how different things could’ve gone messes me up pretty bad. my major was such a mistake for so many reasons but here we are

ok that’s still stupid but at least the compiler is real and not fake. also if i didn’t have to avoid touching class libraries directly then this wouldn’t be an issue but… lol

basically i feel competent enough to try rolling my own codebase at this point having studied MV’s architecture and if i’m going to go to the effort to do that it’ll be in a saner engine. plus i’ll need to know unity next semester anyway and i have no expectation of that professor doing a good job of teaching it (he already confided in me that he expects it to go terribly lol) so i’m going to pretend that’s an opportunity and not just depressing

javascript is just a million layers of a language trying to work around itself, building up since the 90s like stratigraphic sediment. the ability to share memory between threads instead of parsing and sending strings around got official browser support last month, with only rudimentary atomic operations and next to no functionality for abstracting memory addresses and i was thinking about refactoring rpg maker to use it until i remembered that i am going to die someday


#58

I promise this one part gets easier as long as you let it

also I really wish CS undergrads would stop learning java if only because it’d lower the likelihood that I ever have to deploy and maintain tomcat apps.

I think android permanently ruined that chance though


#59

my web dev professor apparently couldn’t figure out how to get tomcat working on the university network which was the only reason we got out of having a unit on it

ASU, #1 in innovation


#60

academic libraries are for various reasons really militant about hosting all their own stacks even/especially when it’s totally impractical and it takes away staff/$$$ who could be doing more valuable things

the net result of which is a lot of badly configured solr instances


#61

when I’m not throwing up my hands and reimplementing things in flask this is an often-accurate summary of my approach to devops


#62

Yeah, I found my CS classes in college largely useless too. The early ones were too easy, there were a few in the middle I found pretty useful, and then the latter ones were useless again. My school had a mandatory co-op program though that got me money while I was in school and a job directly after, so I think it was a net positive in the end.

And yeah, Javascript definitely sucks too. Was trying to convey that there’s no magic bullet and every language has it’s issues, although that’s kind of obvious and I think you already knew that. After 8 years programming professionally that’s the platitude I’ve come up with!