( ffxv endgame spoilers )
- Aug. 31st, 2017
okay i have now played through final fantasy xv and i can conclusively say: wow this game isn't good.
( ffxv endgame spoilers )
- Aug. 28th, 2017
private Optional<Function<LayeredMap,Consumer<PcState>>> useAction;
listen, my java code is immaculate.
(the joke here is that in haskell this would just be
Maybe (LayeredMap -> PcState -> ()). tho that's not a useful type signature to have in haskell, so actually it'd be something different)
in theory. in practice things are generally a bit thornier and more elaborate. but it's a good foundation, probably.
in other news the spider plant that i only got a few months ago is starting to send out a growth that i think is the stalk for a flowering part
and apparently spider plants are self-fertile, so i could just use a cotton swab or w/e and fertilize it and end up with lots and lots of spider plant seeds
i really need to get some seed trays or smth, since i guess i could do this trick with my peace lilies too, since the big peace lily plant is starting to flower again. most of these propagate by cuttings anyway; i am gonna end up with a billion plants if i keep this up
- Aug. 27th, 2017
maybe i lied about not doing any more sprite art. well, what i have right now is just this (gasp hotlinking tumblr), which is a basic consistency test. one of those sprites is reffed off of cray's sitting sprite, but since he only has that sprite from one camera angle i had to totally invent all the rest. that's also a full eight sprites, since it's an asymmetrical pose. wow turns out sprite animations are like, a lot of work to do.
ugh i've been feeling kinda under the weather for these past few days tho so i haven't really been getting much done. probably just lack of sleep; i've been staying up pretty late and getting up pretty early and that has not been super pleasant.
i constantly have about a million projects in the air at any given time, and generally i like it that way but sometimes it feels like being buried under a giant pile of half-finished mostly-abandoned projects, which is not really a great feeling.
e: okay i lied heres a dick sprite, yw/sorry.
- Aug. 26th, 2017
- Aug. 23rd, 2017
working on a farming sim got me started playing stardew valley again. generally i give up around the second winter, with the Ghost Evaluation deadline looming, even though it's not actually... at all relevant. so we'll see if i stick through it.
i mean the other thing is that playing stardew valley kinda invites a direct comparison between it and the farming game i'm working on now, which, given that stardew valley had like seven years of development work + another year or so of patches, and this game has had, uh, two weeks. like, there's no way that that comparison comes out in my favor. which is fine, i mean, obviously it's not a realistic comparison, it just kinda sucks in the moment.
it's been nice working on something that is small and tightly-defined though, where i don't actually have to do all the design work to my own neurotic specification. and like, even if i wanted to do some hugely complex thing, that hugely complex thing would have a large code overlap with this small, simpler thing. i mean, plus, a game is mostly content; focusing on building the engine forever is precisely how to avoid actually making a game.
- Aug. 21st, 2017
i'm watching the old stardew valley dev log videos and it's wild. randomly-generated, persistent, fully-destructable mine levels. copper veins in the walls and underground farming bases. one video showing working multiplayer w/ 100k hits and comments disabled. old versions with half-body sprites instead of portraits.
just seeing the evolution of the ui and how the crafting system changed and how some of the music was only added in at the very end whereas some of it was in there since 2012.
one post with a bullet point that's just "Added several new types of mine level (some with suspension bridges spanning across deep ravines)."
like it's always kinda wild what stuff gets cut and edited and altered
so i made a jar and it came out about 50mb. "that's kind of big", i thought.
unzipped, it's 113mb, with 30104 distinct files. that's not good. a solid 46mb of that is in com.google, with the biggest chunk being internationalization code, but including all sorts of stuff (a dom builder, a java emulator, a
CssGenerationVisitor, etc). my favorite path is
com.google.gwt.thirdparty.guava.. there's also what appears to be large chunks of apache (the webserver) and sqlite (the database engine). my only guess is that libgdx includes the stuff needed to build the html version in the default build.
i have since managed to managed to get a version that only includes the desktop launcher, which is a comparatively-slim 28mb. a large chunk of that is apple robovm, which is... i guess needed for the iOS launcher? or for something about the app store? and looking it up, robovm has been discontinued AND its grace period has run out, so it's actually entirely useless. i'm sure the size would halve itself again without it. so much cruft.
- Aug. 17th, 2017
between starting with java by using forge to write a minecraft mod, and now dipping back in by using libgdx to make HELL FARM (thats not the actual title) my assessment of java is that it's a perfectly serviceable language that its users seem to love tying in absurd knots
it definitely has some warts (it's impossible to statically initialize, like, anything, which means doing something as simple as
\x -> x `elem` [2,3,4,9]becomes an exercise in frustration), and the impression i get is that it's made a bunch of steps from ~1.6 onward to be less of a nightmare language, and that is just absolutely not reflected in the userbase or libraries.
one of the first things i remember reading about java was actually in eevee's post about stupid classes, where he points out that since java doesn't have first-class functions, the only way to have a mutable function member is to make a default class and then just
extendit with a new subclass every time you want a different function. (this is no longer true; java 7 has semi-anonymous function class instances and java 8 has lambdas.) but that approach is endemic in minecraft/forge; i haven't dug into libgdx enough to tell if it's also true for it. the main libgdx issue i've been having is just that it's huge, and that a given feature's functionality is split up between a dozen different classes with no seeming rhyme or reason about it. that's enterprise engineering, i guess. i am absolutely having to make new objects to encapsulate the slurry of a half-dozen libgdx objects interacting under the surface.
because of my HASKELL BACKGROUND i use a coding style that's let's say callback heavy; i've been using functions and lambdas all over the place, and i have yet to find a problem (save for the static initializing thing) that can't be solved in a fairly simple and straightforward fashion, with only a little wrestling with the language. wrestling with the libraries, though...
so idk it's been going well. for an ostensible game developer, basically none of the languages i know are super well-suited for actual games. java is definitely more mainstream, but it's still not the besttt for realtime stuff. but wow i don't think i'm ever gonna go back to a c-family, and rust sounds like a half-formed nightmare, so i guess it's java for this thing.
- Aug. 16th, 2017
in unrelated news the gears of war fic i sometimes pick at has reached 97k words. that is. long. the longest single thing i have ever written. andddd it's just a bunch of disconnected gross sex scenes.
that's what it is sometimes i guess.( Read more... )
- Aug. 15th, 2017
okay so libgdx has a builtin map data structure, right? so. that map data structure is just a container for a
MapLayersis just a list of
MapLayeris actually an abstract class; it has instances of
TiledMapTileLayeractually has some data in it: a map height and width, with some functionality to set and get tiles, and an iterator. but it's not just storing abstract data; it's storing, specifically,
TiledMapTile, as well as rotation and flip data(??) for the cell.
so to make a spritesheet of
TiledMapTiles, first you make a
TiledMapTileSets. then you make a
TiledMapTileSet, and add it to the tilesets set. then you put tiles (which are either
AnimatedTiledMapTile) into the tile, by initializing them with a
java was a mistake
like, i was planning on replacing my janky map code with the engine-supported map code, but, i mean,,,
- Aug. 14th, 2017
i start writing java code again and immediately have to reimplement
java i appreciate your efforts but you are not working from a strong foundation here
i installed a java ide (intellij) for reasons, and as ides are wont to do it has a column next to your code for warning icons like "hey this code is doing something you might want to keep an eye on", or whatever. and one of them is a little lambda in a red circle and it's like, "oh god oh fuck you're providing a function callback, jesus this is functional programming, be careful"
like uh, thanks.
- Aug. 13th, 2017
like honestly my biggest worry with hell game is just the thought of it... never coming together. since i started working on it basically just as a "well i'll just throw some stuff together" project, and then i threw some stuff together and realized i hadn't really planned out a basic gameplay loop.
and i mean to be fair i don't... really care about a slick, well-constructed gameplay loop, because sometimes things just kinda evolve and have their own natural charm, rather than being ruthlessly engineered to have no slack or spare parts. but given that this is a PRODUCT i'm SELLING i guess that might matter to, you know, the hypothetical audience. hence, the worry, since my patreon is actually making a chunk of change now.
anyway which is why i'm trying to actually do a bunch of outlining. i mean i guess i've said that bit a lotttt, b/c it's been weighing on me lately. i've been really wanting to make a big project, and part of that is... to actually have a project concept that is both fleshed-out and sufficiently big (while not being TOO big). aaah.
or like one of the biggest criticisms of in-dev game patreons is that they're an eternal treadmill of crumbs of content, b/c the authors know that to finish is to have to move on to another project and presumably lose a big slice of audience. so they just keep scraping away at the same thing forever. and that's kinda the rut i've fallen into with hell game. i mean, in part because i'm not working on it that much, because i'm limiting my work to 1. what i think is actually long-term sustainable for me and 2. what i'm actually getting paid. so progress is prettyyyy slow, since i am not, in fact, getting paid all that much. so all this outlining stuff is kinda a test of a different kind of approach to game development, namely, by actually having a solid plan.
anyway thats why i'm emotionally invested in making a design doc for a pornographic(??) farming game. in case you were wondering.
- Aug. 12th, 2017
anyway here's what the latest revision of the design doc looks like.
i think i need to get a lot more specific about small parts of the game, b/c right now it's still pretty high-level.
i'm still messing around with farm game outlining stuff, just kinda trying to collect ideas and get everything worked out. but this is involving a lot of looking up stuff to see how it works. "how do you actually make olives edible" "what's the difference between wild olive and cultivated olive" "how do you make glass" "what's a marshmallow actually" (i mean the plant)
so back in the day to make glass they blew a big bubble and spun it around to flatten it, and then they cut rectangles out of it. this is why the glass in real old houses can be thicker at the bottom and thinner on the top. the way we get flat modern glass is by floating molten glass on top of a bed of molten metal
also glass made just from sand is likely gonna be discolored, yellow glass or green glass or whatever. modern clear glass is generally soda-lime glass, so named because in addition to the actual silica it's got soda and lime in it. i have no clue how you'd refine those. and it's not really relevant i think b/c that's substantially outside the bounds of "farming game"
also olive trees are real complicated, let me tell you
also i guess candied marshmallow roots were a thing, that eventually got supplanted by an eggwhite merangue flavored with rose hips, leading ultimately to the modern marshmallow confection.
- Aug. 8th, 2017
i'm still kinda picking away at stuff. doing a bunch of hell game map generation stuff, though at this point i should put down the generation (and the drawing of new map tiles) and just start working on getting the maps 100% playable, since that's kind of a huge step.
ALSO i'm still picking away at that farming game 'design doc', which is now living on my server. it's weird actually... planning a thing. gotta actually fit the pieces together before i start carving anything, which is not really the way i've done things historically.
i don't reallllyyy know how interesting any of that would be to an external observer, since... i mean, there's the general interest question, but more specifically if i keep working on this, it's gonna have the same problem as some of my sprawling perma-wip stories, which is, i'll post a new version and somebody will go "okay but what specifically has been added in this massive disorganized document" and i'll go "uhhh some stuff?? i wasn't keeping track".
- Aug. 4th, 2017
it was less obvious when there were just the eight encounters, but the more i write hell game encounters the more obvious my tastes get. there are some definite categories.
- things made from/covered in weird (optionally toxic) sludge
- pitch black (with eyes or galaxies or w/e budding out of them)
- humans w/ giant animal dicks
- no face
- fire/red hot metal
- arcs of electricity
- lol gear fetish
just mix and match those and that's pretty much every single encounter
i mean a large part of the point of hell game was to provide a backdrop to give me space to write stuff i'm into but that is usually rendered in an awful way. like i'm kinda cautious about posting porn ft. animal-shaped monsters since it attracts the crowd of furries who are into literal bestiality (oh excuse me, 'zoophilia'), and that's... not great. but hell game is pretty upfront about how, you know, everybody is talking and cognizant and all that. and then conversely i think a lot of gear stuff is... forced? i guess? "i'm dressing in my fetish gear so i can go out on a fetish romp", and it's OBNOXIOUSLY POSTMODERN to write about characters playing out a bdsm scene. that kind of thing.
i talked about it a whileeee back, about how the systemization inherent in games kind of lessens the intentionality of it? like, i was the one who made a [COCK] tf node and i was the one who let you attach it to yr [MOUTH] node and i was the one who wrote the description for having a cock-tongue. (i mean, pending. most of that is half-written and half-coded.) but since it's in a place of INTERFACE SYSTEMS it's less specifically built b/c i think it's hot and more a natural outgrowth of the body tree combinatorics. and i think the same thing goes with encounters: i mean, yes, they are all weird fetish fantasy monsters. but they're also video game random encounters. it's sleight-of-hand in a way: redirecting the audience from my own actions by putting a mechanical framework in front of it. not that i think it's, you know, actually hiding anything.
- Aug. 2nd, 2017
like b/c nobody is using dreamwidth and b/c of the awkwardness of the crosspost format dreamwidth is kinda calling for longer posts. hence why i'm making longer posts and trying not to be SELF-CONSCIOUS about it
i say in this, ironically the shortest post,
i think i'm gonna approach this whole SEXY FARMING SIM game as just... an exercise of planning/outlining skills, with the end result being a 100% complete design doc, rather than committing to making an actual game. since uh testing out DESIGN AND PLANNING SKILLS is not a thing i do much and i could stand to have some practice runs here.
(and of course w/ the understanding that if i do decide to make a game out of it, it would be a lot easier to do that with a complete design doc than without.)
so with that here's the mess of notes i have so far.( Read more... )