valhallen
valhallen
Flailing
469 posts
Lost in the land of Pygame
Don't wanna be here? Send us removal request.
valhallen · 10 months ago
Text
real homies respect trans people! /gen
Tumblr media
110K notes · View notes
valhallen · 11 months ago
Text
Tumblr media
I wasn’t crazy about this piece so I wasn’t intending on publicly posting it again, but it keeps getting stolen every five minutes so I figured I’d put it here so people at least know who to attribute the original thing to lmao
[Digital illustration, Procreate App, 2020]
148K notes · View notes
valhallen · 11 months ago
Photo
Tumblr media
15K notes · View notes
valhallen · 1 year ago
Text
Tumblr media
"If Taking A Shit Hurts" — Well that seems highly unpleasant
Original title: "Night of the Warlock" by Raymond Giles (1974)
393 notes · View notes
valhallen · 1 year ago
Text
Oh yes
Tumblr media
Immensely powerful thrift shop find, google drive to follow
99K notes · View notes
valhallen · 1 year ago
Text
Tumblr media
La Femme Chauve-Souris (The Bat-Woman) 1890
— by Albert Joseph Penot
31K notes · View notes
valhallen · 1 year ago
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Antony Gormley: 'Quantum Cloud' Series (2000) medium: steel
7K notes · View notes
valhallen · 1 year ago
Text
Tumblr media
H.R. Giger: New York City (1983)
2K notes · View notes
valhallen · 1 year ago
Text
Tumblr media
(by JD Andrews)
3K notes · View notes
valhallen · 1 year ago
Text
Tumblr media
accelerator
86 notes · View notes
valhallen · 5 years ago
Text
Snippet - CPV from Image in Maya
I needed to get file-based information into Bifrost through color per vertex (for some depth and procedural reasons) ... so o = "ground_base" cmds.select(o, r=True) cmds.ConvertSelectionToVertices() o_pnts = cmds.ls(sl=True, fl=True) cmds.select(cl = True)for eachPnt in o_pnts:    cmds.select(eachPnt, r=True)    cmds.ConvertSelectionToUVs()    pnt_UV = cmds.polyEditUV(q=True)    pnt_col = cmds.colorAtPoint("file1", u = pnt_UV[0], v=pnt_UV[1], o="RGB")    cmds.polyColorPerVertex(eachPnt, rgb=pnt_col) Where “ground_base” is your geometry and “file1″ is the texture ... Some notes: I am using a plane, planar mapped in the y, your UVs are important here This is not fast (80,000+ points, loops through them all), but is too early in the morning for API
4 notes · View notes
valhallen · 5 years ago
Video
Service by Jason Brown Via Flickr: Processing Autumns photos still :)
2 notes · View notes
valhallen · 5 years ago
Video
Anxiety by Jason Brown Via Flickr: Future Unsure
2 notes · View notes
valhallen · 5 years ago
Link
Shot something today :)
1 note · View note
valhallen · 5 years ago
Link
I had more screenshots to show you this week, but things precipitated, and Glittering Light 2 is now gameplay complete! So as planned initially, I released it right here and on Itch, where it quickly accumulated an impressive number of views and plays, not least due to a signal boost from Leaf on the official Twitter account. Thank you!
Tumblr media
As noted in both places, while the game is fully playable, it’s also completely silent now, so I’m not counting it as finished quite yet. Audio to come soon.
In other news, we have a retrospective of Loom, with my own comments on world building and game design lessons, then a couple of headlines with little comment. Click through for details.
3 notes · View notes
valhallen · 5 years ago
Text
On BSP
Lets begin at the beginning, since I am treating this like some kind of dev log or something. About 3 years ago, I was becoming ever more disillusioned with VFX work, I had just finished a hell contract and was taking a couple of months, living off savings and just generally recovering. It was a much needed break. During this time I started fishing around for what to do if I didn’t want to go back to the grind that is modern VFX work, and since I was staying with my parents at the time, I started to think about how I had always wanted to make games. Why had I not done that?  I was there at the beginning, I had family who would write their own Amiga assemblers, I had friends who worked on crazy shit like Duke Nukem Forever when it was a 2d platformer. I’d always wanted to, so why hadn’t I? Turns out it was laziness, with a sprinkling of fear.  I decided there and then that I would start making games.  Three years ago, and nothing.  Like I said, laziness and fear.  I did start.  I researched hard, I chose what I thought would be a simple project, I wrote some things in python.  Then I got another job, VFX adjacent, and stopped. What I chose for my “start simple” project was a roguelike.  Because I like roguelikes, because I was playing a lot of Pixel Dungeon at the time, because PCG has always fascinated me and because I had no idea how complicated a roguelike really was. Fast forward to now.  I find myself out of work for an extended period of time, and, well.  I picked it up again.  What I had already accomplished back then was a reasonable dungeon generator, with some basic lighting.
Tumblr media
That’s where I left it, and this is how I did it. One of the things that surprised me about a roguelike was just how involved it was to make a level.  I looked at many resources, and drew on my vfx background before deciding to go with a BSP system. BSP (Binary Space Partitioning) suited my needs the best because I really wanted to channel that Pixel Dungeon/Old School DnD mapping vibe. BSP is simple in concept - start with an area, randomly choose a position, split the area either horizontally or vertically at that position, take the resulting two areas (called “leaves”, “BSP Tree”), split them, get the four results, split them ... until you are either out of areas to split, or you have some other rules for stopping (there are infinitely many of these - leaf size, leaf area, arbitrary positioning ...).  This introduced me to recursion ... you get something like this:
Tumblr media
And here’s the code for that (very early version)
rootLeaf = Leaf(w*0.5,w*0.5,width-w,height-w) leaves.append(rootLeaf) #recursive leaf generation canSplit = True while canSplit:    canSplit = False    for l in leaves:        if l.child_1 == None and l.child_2 == None:            if (l.split()):                leaves.append(l.child_1)                leaves.append(l.child_2)                canSplit = True
This is assuming you already have a “leaves“ array. Once you have your BSP laid up, you can add rooms to each leaf ...
Tumblr media
This is pretty much random size, random placement and random existence (very early stuff)
def createRoom(self): #make a room in the end leaves    if(self.child_1) or (self.child_2):        if(self.child_1):            self.child_1.createRoom()        if(self.child_2):            self.child_2.createRoom()    else:        #should we add a room?        # randStep(mn,mx,st)        if (random.random() < 0.75):            roomW = randStep(self.ROOM_MIN_SIZE, min(self.ROOM_MAX_SIZE, self.w-1),w)            roomH = randStep(self.ROOM_MIN_SIZE, min(self.ROOM_MAX_SIZE, self.h-1),w)            roomX = randStep(self.x, self.x+(self.w-1)-roomW,w)            roomY = randStep(self.y, self.y+(self.h-1)-roomH,w)            self.rx = roomX            self.ry = roomY            self.rw = roomW            self.rh = roomH            self.rc = (self.rx+(self.rw*0.5),self.ry+(self.rh*0.5))            self.room = pygame.Rect(roomX,roomY,roomW,roomH)        else:            self.room = None
#building the Rooms for each in leaves:    each.createRoom()    if each.room:        newRoom = Room(each,each.rx,each.ry,each.rw,each.rh,each.rc)        roomArray.append(newRoom)        roomCenters.append(each.rc)
This took me about a week to work out how to do.  Recursion, while not new, was confusing to me.  With some tweaking to make things look nicer, I was ready to go onto joining up those rooms - at this stage I had no idea how I was going to put a player into this mess of pixels, but the learning was good. Next Time:  The unholy mathematical mess that makes corridors
Tumblr media
2 notes · View notes
valhallen · 5 years ago
Text
Raising the Dead
So I’ll post things here until I forget to and then rediscover it some years hence.  I want to make games apparently. So I’m doing that.  Here’s where I will post what I have learned, resources, tutorials, stuff™
1 note · View note