« first day (1815 days earlier)      last day (3221 days later) » 

 
9 hours later…
user92578
9:02 AM
Good Day
 
9:48 AM
\o
 
user92578
procrastination is in progress again
 
user92578
I've been thinking about adding actions to triggers, but I'm not sure if that's something I'll need
 
user92578
12:29 PM
I'm writing a Python script to make Tiled fullscreen
 
user92578
Starting to feel like shit like this should be included with the application
 
12:50 PM
@Tyyppi_77 Do you have something else to provide this?
How do you trigger the booby traps when the player walks through the tripwire?
 
user92578
Well probably with these actions
 
user92578
Otherwise I'd have to do if (trigger->GetName() == "TriggerTripwire") BoobyTrap(); in the player class
 
lol fuck that!
 
user92578
which works okay for stuff like ladders & damage
 
Unless you only have like 5 different gameplay classes in total combining all those things... lean towards the data driven approach
 
user92578
12:53 PM
fuck what?
 
If booby traps are the final gameplay feature, and then you're done though.... Hack it right in!
Fuck hard-coding the triggers and actions
 
user92578
Well I've already got the base classes for the actions done
 
user92578
I just need to add those to a test level and try to see how I'm going to load them
 
user92578
But first I need to finish this fucking script for making a window fullscreen
 
I can't imagine the horror of trying to develop your levels if you need to re-compile, re-load, and get up to the point in question, every time you change a level
 
user92578
12:55 PM
Thanks Tiled for not implementing a fucking F11
 
user92578
That's not what's going to happen
 
user92578
The Trigger data is going to be in the level file
 
user92578
So everytime I change a level, I can just reload the level ingame
 
user92578
I don't even have to restart the game
 
So only the trigger and action names are hard-coded?
 
user92578
12:56 PM
Yeah
 
It seems a bit silly to me to call them triggers and actions, if you hard code tripwire and trap into there
Just call them "tripwires" and "traps"
Tripwire0 -> Trap0
But it's just triggers and actions again
I would just not hard code the names
 
user92578
I don't think I'm getting your point (please don't get mad because of that)
 
I'm literally, infinitely more mad that you said that last part. (As I was not mad at all, originally)
 
user92578
Sorry
 
@Tyyppi_77 I have allured to several points, and not nailed any one of them down concretely.
 
user92578
1:00 PM
It's just that we've had tricky moments where I've not completely understood your point
 
user92578
So in a general level, how would you do those then?
 
I'll just spew examples... Lets say you have an trigger and you want it to do 2 actions, you're gonna either need to put a list of actions on every trigger, or you're going to need something like a "splitter" action, that triggers 2 triggers
The latter would be horribly awkward, like choosing brainfuck as a scripting language
 
user92578
lol yeah
 
Lets say you have a trigger for a checkpoint, do you want to call it a "tripwire". Even if you don't mind stretching it, do you want to call saving a checkpoint a "trap"?
 
user92578
no
 
1:03 PM
So to me, that would be my argument for having it configurable, and not hardcoding any names in
Otherwise you'll end up with a huge list of every possible name for anything you've used somewhere in any level
 
user92578
The names are of course defined in the level editor
 
user92578
but that's not what you meant, i just got that
 
Yeah I'm losing track of what we're on about anymore
 
user92578
lol yeah
 
I vaguely remember we were talking about hard coding events or something? lol
 
user92578
1:04 PM
So basically as I add a trigger in the level editor
 
user92578
I'd add a few XML child elements to it, one for every action I want it to execute
 
Ah ok thanks jesus
 
user92578
I would probably use something like <Action type="SpawnAction" type="Enemy" position="Relative" />
 
user92578
Well probably a bit different, but you get the idea
 
user92578
At loading, I would attach all the actions to the trigger that owns them
 
user92578
1:06 PM
And when the player first time collides with the trigger, the trigger would loop trough all the actions and execute them
 
I had a similar approach, except I made the <Action> tag into something like a named script function, and then the <Trigger> tag could have a list of action names.
Basically, added one extra layer to the way you did it
Because, an entity could have child entities, and could access their actions just like local ones, using "childName.actionName" instead of just "localActionName"
You could achieve the same thing with your structure, by adding a <SendTrigger> action instead
 
user92578
You had scripting available, right?
 
I actually ended up cutting out scripting languages from the core
And packaging it as an optional addon
I'm not saying my way is the right way, at all
It's just how I'm doing it these days trying to make my god damn game happen
The decision making behind ditching scripting goes very deep though
1. It's not actually necessary so long as the event system is turing complete
2. You often need boilerplate code and dry text copied from samples
3. The popular languages don't give me the freedom to screw with the runtime fully, I want to implement a global distributed execution context between server and all clients, with a "thread" per client, like I did for my web dev language
 
Jon
what the heck
 
user92578
My script works fine if I don't have a folder called "Tiled" opened in the windows explorer
 
1:22 PM
lol, follow the HWND all the way up to the HINSTANCE, then from that get the path to the executable, make sure it's the right one
 
user92578
oh
 
sorry my windows is rusty, haven't WinAPI'd in years
 
user92578
It's a tricky process
 
Jon
kinda ilke hacky sack
 
user92578
I'm doing this in Python, so finding a good WinAPI function isn't enough, I then have to locate the correct PyWin32 module
 
1:24 PM
Can't python just import a C function directly from the OS?
I just assumed all languages that people don't instantly bash to death could do that
It seems like something to bash a language to death over, if it can't
 
user92578
No idea
 
user92578
It'd be easier to just find a window by a process name
 
Seems easier to do it in C++ to me lol, just call a couple WinAPIs and quit
 
user92578
handle = win32ui.FindWindow(None, "Tiled")
 
user92578
This is what I do now
 
user92578
1:26 PM
I can't find from the docs what happens if there are two windows with the title "Tiled"
 
looks about the same as the C++ version except with extra typing :P
 
user92578
Yeah
 
Oh!
 
user92578
It's almost the same code that I use in GunHero for changing a window to fullscreen
 
Search by window class, not by title
 
user92578
1:27 PM
What's the class?
 
That should give you better odds, it's just some weird string you can supply
People like to supply it I think, it's usually just some short simple thing that kinda half-ass makes sense for each app
 
user92578
That's something the executable specifies?
 
Also, you could just switch to an EnumWindows loop, and check every open window too
 
user92578
True
 
Yes
I made a program that let me make windows translucent on XP back in the day
I made it so that the hotkeys targeted whatever you were moused over
You could probably do something like that, to make a generic full-screen hotkey
 
user92578
1:32 PM
Could do that
 
@Tyyppi_77 What are you trying to achieve with Python?
 
user92578
I think I'll just use GetForegroundWindow()
 
user92578
Making Tiled fullscreen
 
Isn't tiled open source?
 
user92578
Yeah
 
user92578
1:35 PM
But it's annoying as hell to do stuff in
 
So you make a script for it? :P
 
user92578
Yup
 
That sounds annoying as well
 
user92578
Who the fuck would develop an application that doesn't have F11
 
Well.
 
1:37 PM
@Tyyppi_77 everyone?
Who the fuck wants an application in fullscreen?
 
user92578
everyone?
 
Not me
 
user92578
who the fuck wants to see the title screen?
 
user92578
level editing is nice with a big view
 
1:38 PM
Noone, but the taskbar is pretty handy
 
Wait, is this entire script about the difference between maximize and fullscreen?
 
user92578
which you can get by moving your mouse to the bottom of the screen
 
Not if it's full screen
 
user92578
 
user92578
Windowed fullscreen is a type of fullscreen mode
 
user92578
1:40 PM
So yeah
 
user92578
The script launches Tiled, waits 5 seconds, and then fullscreens the current active window
 
I won't be ridiculous, trying to argue against your opinion lol
 
user92578
Windowed fullscreen is awesome
 
but... I severely doubt that the time spent developing this script, can pay for itself in time saved developing levels with like 2 cm more screen space :P
 
user92578
No blinking, taskbar, etc.
 
user92578
1:40 PM
@MickLH true, but I like that things look cool
 
It might pay for itself emotionally lol, but then that's a whole can of worms to open in a discussion
 
Time to decide on my central data repository for my Unity project
 
user92578
hmm the tiled icon is not working on the shortcut on the taskbar
 
user92578
anways i gotta go vahcoom, bb in ~20mins
 
@Almo SQLite
 
1:45 PM
hahah i don't mean storage, I'll just use some data files for that
I mean like where are the user's custom colors stored for use at runtime
probably a singleton of some sort
ok game object set NOT DESTROY and on start up it checks if it exists. if not, make.
should be good enough
 
Unity has such a wierd way of creating singletons
 
Jon
When people ask me what I do with computers, I send them this
 
2:19 PM
That has to be the best way to explain everything unambiguously and directly.
 
Joe
hes good!
 
ok dat's enough unity dev for now
got my color table implemented, saving and loading
and instantiated when the game starts
 
Joe
happy birthday to the ground
 
Jon
@TheMuffinCoder that is why I like to leave the art to an artist
 
@Jon lol i was trying to make a low poly shiba inu (doge) bue I failed :P
He made that dog so easily ; - ;
 
user92578
@Jon awesome
 
user92578
maaaaaan, this ain't my dad
 
user92578
3:47 PM
this is a cellphone
 
4:01 PM
@Jon My Dad's not a phone.
 
Jon
You can't buy me hotdot man
 
user92578
I also love how the story teaches me a nice thing about life
 
user92578
you can't trust the system
 
Patrick Wyatt: bit.ly/1MtqO5C
he programmed the player network for blizzard games
 
user92578
Turns out Tiled's custom properties don't support nesting
 
user92578
4:15 PM
which is really odd
 
user92578
Build an interface ontop of XML -> Don't add nesting -> Make your users happy -> ??? -> profit
 
user92578
It really fucking sucks
 
user92578
Because now I can't specify any parameters to my actions
 
Jon
i just created a level I really like
 
user92578
nice
 
Jon
4:18 PM
level creation is going to take some time, as it is basically just me tweaking random scenes
maybe I should write something that would lay down random prefabs and I could refresh until I get a good starting canvas
 
@TheMuffinCoder well it's easy if you cut out the years of experience he has
 
user92578
I might have to do this stuff manually in XML... but I'm not even sure if that'll work
 
user92578
Or do some weird parameters-depend-on-order stuff
 
what I love about blizzard in all their software is in-house save openGL
 
user92578
So looks like I gotta do this: <property name="Actions" value="TriggerSpawnAction (count=1; x=100; y=100; xRange=16; yRange=0;), TriggerAction"
 
user92578
4:26 PM
and then parse the stuff in the parenthesis while I load the actions
 
4:37 PM
@ShenRuki Hearthstone is done with Unity
 
Joe
@Jon did you ever find a better fix to this: answers.unity3d.com/questions/835132/…
 
wasn't aware of that. any other games? data maybe
dota*
 
user92578
Dota is Valve's game
 
the dota mod was just a warcraft III mod
dota 2 is source engine i think
 
I tried hearthstone. wasn't entertaining for me
 
user92578
4:42 PM
yup, source engine 2
 
user92578
parsing strings is so much fun!
 
user92578
NOOOOT
 
Jon
@Joe yeah
 
Joe
PlayerSettings? or something else
 
Jon
that github link is a plugin that fixes the behaviour
just drop it into your plugins folder
actually, import the package
anyways, gotta go, bbl
 
4:52 PM
sdl or libgdx
 
Joe
cool ty
 
hm libgdx comes with cool tools
 
user92578
i gotta go
 
user92578
string parsing continues tomorrow
 
libGDX is awesome
 
4:58 PM
doesn't minecraft use it
 
i doubt that very much hehe
 
yeah you're right I read something wrong.
 
5:21 PM
I was thinking lwgl
 
but libGDX is still awesome, you can build cross platform games very fast
 
my emulator damn slow
Rendering failed with a known bug. Please try a rebuild.
 
6:03 PM
falling in love with lwgl
 
 
3 hours later…
Jon
9:07 PM
falling in love is crazy man.
next thing you know, you are divorcing, and lwgl is taking half of everything you learned
 
9:33 PM
hahah
 
@Jon yeah
that was good
 
🎂 Much baking 🎂
🎂 Such delishus 🎂
🎂 wow 🎂
help am being corrupted by doge memes
 
Jon
10:04 PM
Yahhhhh
 
Jon
Yahhhhh
 
I finished making the back legs for my doge model...
Now the scary part of continuing...
 
Jon
10:47 PM
just wing it man
also, why>?
you putting a doge in your game?
 
11:35 PM
@TheMuffinCoder Why did i read that in Arnold Scwartcheneggers voice?
 
xD
@Jon nope just for practice :P
 
My brain hurts
 
Good
 
11:51 PM
If I want the player to remain static in the center of the screen, I have no other choice than to move all other elems when player moves right
 
What are you making this in?
 
HTML Canvas
 
you could have a camera move with it the character
 
^
Just about to write that
 
ok, so I keep track of the x/y offset on the 'map'. That could work
 
11:55 PM
Trying to make the new Agar?
 
?
 
Just googled it, yes it appears so
 

« first day (1815 days earlier)      last day (3221 days later) »