code logs -> 2019 -> Tue, 13 Aug 2019< code.20190812.log - code.20190814.log >
--- Log opened Tue Aug 13 00:00:43 2019
00:37
<@Reiv>
Would anyone happen to have much in the way of advice on midrange android cellphones with as-close-to-stock Android as possible going? The previous phones I had were a Nexus 5 and an LG Nexus 5, so that kind of thing.
00:37
<@Reiv>
I had a look at the Nokia range, but god, their marketing team needs to be shot
00:55
< Pink>
I still really like the galaxy 5, but they're probably not as easy to find now
00:56
<@Reiv>
I tend to not like the Samsung stuff for their bloatware they put on the phone, but they do make excellent hardware.
01:01
<@Alek>
usually.
01:07 himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code
01:07 mode/#code [+o himi] by ChanServ
01:11
< Pink>
Agreed on the bloatware
01:12
< Pink>
Honestly, the thing I love the most is being able to replace the battery instead of the phone >.>
01:13
<@Alek>
Note 3, I can still replace the battery. but at almost 6 years, I still don't NEED to - it's not the battery that's having trouble, it's the phone using way more power than it should. -_-
01:13
<@Alek>
admittedly, it'd be more useful if I had a battery charger so I could charge my spare separately and swap if needed, but eh.
01:14 celticminstrel [celticminst@Nightstar-6an2qt.dsl.bell.ca] has joined #code
01:14 mode/#code [+o celticminstrel] by ChanServ
01:21
< Yossarian>
I'm new to smartphones, almost the length of my sobriety. My mum's old dumb phone's usb jack broke and finally got a smartphone for herself. So, I'm getting to experience "Oreo".
01:27
< Yossarian>
The previous smartphones were cheapy cheapsters
01:29
<@Reiv>
ah well, cheers anyhow
01:33 Degi_ [Degi@Nightstar-cmmei4.dyn.telefonica.de] has joined #code
01:36 Degi [Degi@Nightstar-5tmoha.dyn.telefonica.de] has quit [Ping timeout: 121 seconds]
02:06
<@Reiv>
Motorola G7 looks to be semi-suitable, reasonably affordable and also in the country. That's a start, at least.
02:37 Degi_ [Degi@Nightstar-cmmei4.dyn.telefonica.de] has quit [Connection reset by peer]
03:48
<&McMartin>
I have a philosophical question.
03:48
<&McMartin>
If you write a program that operates against a public web API, and you point it your (or, indeed, anyone else's; after all, public API, right) servers as you test, does that count as "testing it in production"?
03:51
< Mahal>
Yes.
03:53
<&McMartin>
Where's the line, when it's someone else's?
03:53
<&McMartin>
I can only think of one example of a site where they hand you access to a staging account.
03:53
<&McMartin>
er, staging server, rather
03:54
<&McMartin>
(PyPI)
03:59
< Mahal>
I feel like this is "don't be a dick" levels?
04:01
<&McMartin>
Well, yeah, but that's a *lot*.
04:02
<&McMartin>
"Don't do anything that would get your API key revoked", for stuff that uses API Keys, but as far as I know, for instance, Steam doesn't do that; it's just web scrapers or a publically available REST API for querying stuff
04:04 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [Connection closed]
04:04 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code
04:04 mode/#code [+o Reiv] by ChanServ
04:05
< Yossarian>
i'm tired as hell; i feel like if i don't nap and immediately after waking up - to write some code, that i might die
04:05
< Yossarian>
here goes the nap part
04:07 catalyst [Jessikat@Nightstar-5dv16h.cable.virginm.net] has joined #code
04:33 himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Connection closed]
04:39 himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code
04:39 mode/#code [+o himi] by ChanServ
04:50 catalyst [Jessikat@Nightstar-5dv16h.cable.virginm.net] has quit [[NS] Quit: Leaving]
05:52 celticminstrel [celticminst@Nightstar-6an2qt.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
07:26 himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Ping timeout: 121 seconds]
07:35 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
07:35 mode/#code [+qo Vornicus Vornicus] by ChanServ
07:53 Kindamoody[zZz] is now known as Kindamoody
09:52
<&[R]>
What's a good way to deploy to two servers in a nice automated fasion (so I don't update one without updating the other)?
09:52
<&[R]>
These are HTTP servers
10:00 gnolam [lenin@Nightstar-e3tf4i.priv.bahnhof.se] has joined #code
10:00 mode/#code [+o gnolam] by ChanServ
10:16 * Vornicus examines this segment of the code. it is copying 472 bytes from the character map. This is... 59 characters total. Wonder what those characters are.
10:37 Vash [Vash@Nightstar-sjaki9.res.rr.com] has joined #code
10:44
<~Vornicus>
it's actually kind of cute. it has to copy over 255 bytes so it just breaks the copy over two sections and does them in parallel
10:47 himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code
10:47 mode/#code [+o himi] by ChanServ
10:48
<~Vornicus>
Though I imagine this is a basic technique I simply never knew about because I am used to working in a world where index limits are larger than I could ever practically use
11:54 Degi [Degi@Nightstar-cmmei4.dyn.telefonica.de] has joined #code
12:30 Kindamoody is now known as Kindamoody|afk
12:32 Degi [Degi@Nightstar-cmmei4.dyn.telefonica.de] has quit [Connection reset by peer]
13:07
<~Vornicus>
this one appears to work... half a page at a time, which is kind of odd. half a page is 128 byes, enough for 32 character bitmaps, which is definitely what we're up to, because it's inside the 2k I just pointed the VIC at.
13:39 celticminstrel [celticminst@Nightstar-6an2qt.dsl.bell.ca] has joined #code
13:39 mode/#code [+o celticminstrel] by ChanServ
13:44
<~Vornicus>
--because it's going to be doing incredible violence to these things. so far: it pulls two characters, and for the second it shifts it alternately left 4 and right 4 to create a pair of characters that cross a boundary
13:44
<~Vornicus>
this next one looks like it might be reflection
13:54 celticminstrel is now known as celmin|away
14:24 Degi [Degi@Nightstar-cmmei4.dyn.telefonica.de] has joined #code
16:44
<~Vornicus>
Okay it's: 1. regular, alternate lefthalf, alternate righthalf, alternate; 2. those four, reversed to point left; 3. those eight, rotated. This then fills up all the ram from 0x2200 to 0x2800, the end of the 2 kilobytes of character ram.
16:48
<~Vornicus>
immediately after this are the 88 explosion sprites, 64 bytes each (yes I know they're 63 shhh); that fills out to 0x3E00. The last few graphics loads are then the five wall characters, which fit perfectly into 0x21fb through 0x21ff Okay! I know what it looks like now.
16:55 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code
17:16
<~Vornicus>
all right that's the graphics loads. Next: vic 2 control: pixel shift by 4 (so the 39-column mazes actually sit centered), background and border to black, no sprite scaling, enable all sprites, sprites in front of characters.
18:06
<&McMartin>
The unrolled loop a page at a time thing is indeed standard technique
18:06
<&McMartin>
The compute rotated character data in advance to give smoother animatino was a very common technique but *not* on the C64
18:08
<~Vornicus>
yeah that one is hairy, I haven't even figured out what to rename various labels to
18:11
<~Vornicus>
fortunately for my purposes I don't actually care! Now that I know it's init stuff, I can note the results in the memory map and move on.
18:26 Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
18:45 Degi [Degi@Nightstar-cmmei4.dyn.telefonica.de] has quit [Connection reset by peer]
18:49 JustBob [justbob@Nightstar.Customer.Dissatisfaction.Administrator] has quit [Ping timeout: 121 seconds]
18:50 JustBob [justbob@ServerAdministrator.Nightstar.Net] has joined #code
18:50 mode/#code [+o JustBob] by ChanServ
20:26 Kindamoody|afk is now known as Kindamoody
20:51 Vash [Vash@Nightstar-sjaki9.res.rr.com] has quit [[NS] Quit: Leaving]
21:15
< Yossarian>
I slept, but it wasn't a nap. I woke up and I didn't write code but I didn't die, either. I'm doing apartment search work.
21:15
< Yossarian>
Vornicus: working on MOS chips, are we?
21:16
<~Vornicus>
disassembling Crossroads, an action game for the Commodore 64, found in type-in ML form in a Compute!'s Gazette
21:16
< Yossarian>
Did VIC-20 and C64, C128 come with hardware or ISA manuals?
21:17
<~Vornicus>
https://www.commodore.ca/wp-content/uploads/2018/11/c64-programmers_reference_guide-05-basic_to_machine_language.pdf
21:18
<~Vornicus>
https://www.commodore.ca/commodore-manuals/commodore-64-programmers-reference-guide/ also includes wiring and timing diagrams, descriptions of the interfaces to the various I/O devises, a big ass fold-out schematic of the actual hardware
21:18
<~Vornicus>
This is the larger companion to the first serious book I ever read, the user manual: https://www.commodore.ca/commodore-manuals/commodore-64-users-guide/
21:19
< Yossarian>
If I had more time and ambition I'd look at older architectures and compare it to the advances made in P5 (Intel Pentium) and such and then try to apply those architectural improvements to say, I dunno, Z80 or the various M68k implementations
21:19
<~Vornicus>
I am learning assembler basically on the fly here, this is a thing I've never done and I'm told I've picked an ambitious target
21:20
< Yossarian>
A bit out of my league at the moment considering I'm afraid of my editor and compiler.
21:20
< Yossarian>
That's always good. I have to get comfortable with being uncomfortable.
21:21
< Yossarian>
C64 and the MOS stuff has a footing in demoscene stuff which is impressive coding all by itself.
21:23
< Yossarian>
When I get an apartment, I might want to get a fast Atmel or maybe even an FPGA of appropriate size and emulate PDP-8 front panel physically with switches... flipping to memory address to address and clicking in the instructions
21:23
< Yossarian>
I know there are lots of virtualizations of the front panel of PDP systems all in software
21:23
<~Vornicus>
I've only just now reached the end of the initialization sequence, where we generate 88 sprites on the fly, in four loops of following 50 particles with random speed and direction, translating, flipping, and rotating 24 character bitmaps into 192, and doing various other bits of setup
21:24
<~Vornicus>
My *actual* goal is to find the behavior models for the various species of monster in the game to see how they work
21:25
< Yossarian>
I picked up a C64 at yardsale sometime when I left 9th grade in high school and was trying to learn trigonometry and my computer was down and C64 supports trigonometric functions but I was lost between radians and degrees :P
21:25
< Yossarian>
that's cool
21:26
< Yossarian>
an interesting project might be to take all old games from that era and see how the AI behavior is written.
21:26
< Yossarian>
IMO, AI behavior is something that can be improved upon in modern games, on modern systems. The resources are there.
21:28
< Yossarian>
For instance, dev of a neural net to train certain aspects of AI behavior for games, a lot of data could be collected during the internal testing process.
21:28
<~Vornicus>
good lord no. Simple AI or burn
21:29
<@ErikMesoy>
If you want to improve things, try pathfinding
21:29
<@ErikMesoy>
Ordering units to move frequently has them rub along walls vaguely in the direction of where they are to go.
21:29
< Yossarian>
Well, I mean in a game like Civilization, the harder difficulties gives the AI build speed advantages and things of that nature.
21:32
< Yossarian>
Units cost less hammers to build, they get science bonuses, all those things. The AI systems are OK but the lack of long term planning... humans do it better obviously but I'd like to see AI plan 100 turns ahead.
21:34
< Yossarian>
Long-term goal doesn't have to be complicated, but I don't have any experience writing AI or neural networks. Something in a game like Civilization like the AI observing the fact they lack a strategic resource or they're in an adventageous position geographically to build defenses as apart of the weights
21:35
< Yossarian>
Actually, they do observe the fact that they lack strategic resources and they'll use a priori knowledge / game-state omnipotence to find out where it is. "Why'd they build a city there? *2/3 game later* Ohhh, large uranium deposit... only one they had close to start."
21:38
< Yossarian>
But I expect the game AI of older games, especially ones with the space constraints of cassette tape or 5 3/4" floppies to be relatively hackish or heavily heuristic'd. Someone should reverse engineer X-COM, the original, see the AI behavior.
21:39
<~Vornicus>
This is a shooty action game with lots of enemies
21:39
<~Vornicus>
the less things the enemy does the better
21:40
< Yossarian>
I see lots of improvement for turn-based game AI for starts given that AMD is forcing everyone with all these cores and for cheap.
21:40
<&ToxicFrog>
Yossarian: do not forget that in most games, the best AI is not the smartest AI, it's the most fun AI, which is often the AI that does the best job of looking smart while being just the right amount of stupid.
21:40
< Yossarian>
Real time action games, I couldn't say. I have to play more platformers
21:41
<~Vornicus>
the metool does one damn thing: if you get close it pops its face out, shoots three bullets, runs forward, and then hides again
21:41
<~Vornicus>
That's *it*
21:42
< Yossarian>
But we know in arena shooters and FPS, the AI does know where you are and as omnipotence of gamestate, same-o with aiming and as you ratchet the difficulty up their aiming gets really good, especially predictive of target movements
21:43
<~Vornicus>
the lakitu does one thing. the headcrab does one thing. mammoth tanks do ... two things, okay
21:43
< Yossarian>
Vornicus: nothing wrong with that, predictive AI is nice... the arcade game top-down Gain Ground.
21:44
< Yossarian>
The AI in Gain Ground is predictive but later on it doesn't matter because they start getting really fast and the bullet-hell level raises up
21:44
< Yossarian>
The Sega Genesis port is good. I recommend it.
21:45
<~Vornicus>
the moment your opponent does two things it stops being a regular monster and starts being a miniboss
21:47
< Yossarian>
In a bullet-hell type game? Yeah, maybe.
21:47 ErikMesoy [Bruker@Nightstar-r88323.bb.online.no] has quit [Connection closed]
21:47 ErikMesoy [Bruker@Nightstar-r88323.bb.online.no] has joined #code
21:49
< Yossarian>
[R] wants me to work on a project with him in... Allegro? I've only worked with SDL2 before, so I might really like Allegro and might create a bullet hell type game for funsies.
21:50
<~Vornicus>
Bullet Aw Fiddlesticks is more my speed
21:50
<~Vornicus>
if it gets to Bullet Gosh I'm out
21:51
< Yossarian>
Do you remember the NES game Gunsmoke? A sort of 2P Gunsmoke without the screen forcing the player(s) forward but linger too long and more enemies will come out
21:52
< Yossarian>
That sounds like it might be fun, there were some good XDA Xbox Arcade games in this vein, kinda fun.
21:54
< Yossarian>
Also, I've seen some web code that essentially runs a VM or emulator server side or so it seems...
22:01 Degi [Degi@Nightstar-cmmei4.dyn.telefonica.de] has joined #code
22:16
< Yossarian>
https://liballeg.org/a5docs/trunk/index.html this doesn't look so bad
22:17
<&[R]>
Yossarian: Allegro's API is very std-c
22:18
< Yossarian>
I noticed that, I bet if one wanted to make C++ like bindings one could, but I don't see why I should...
22:19
<&[R]>
Yeah, I don't think 1:1 bindings would be all that useful
22:19
<&[R]>
There are actual C++ gamelibs
22:22 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds]
22:23
<&[R]>
Yossarian: your website is still down BTW
22:27
< Yossarian>
I know I
22:27
< Yossarian>
I meant to wake up at 5AM and start writing code, in curses probably, but I woke up too late and I'm doing the apartment search
22:29
< Yossarian>
It's weird but I feel like if I don't write code I might get bored or never do it, so once I'm done this type of "homework" I might just write a diddy
22:31
< Yossarian>
"mouse.pressure (float)
22:31
< Yossarian>
Pressure, ranging from 0.0 to 1.0.
22:31
< Yossarian>
So if you have a touchscreen or screen with resistive with stylus you can do pressure detection
22:33
< Yossarian>
Also my mum's new smartphone (LG Tribute Empire, 5" HD, forget the specs) is a platform for me to see what writing an Android .APK is like.
22:37
< Yossarian>
[R]: the only big thing between Allegro's std-c and C++99 or whatever for me is difference between new() and delete() and ctors, copy constructors, and just good ol' malloc()
22:38
< Yossarian>
but C++ basically gives syntatic shortcuts with new, if you're describing an object
22:41
< Yossarian>
[R] and anyone else: here is an interesting question - if you were writing a CLI tool or script and it got a bit complicated and you wanted to offer a GUI front-end that was low-weight and agnostic of tons of dependencies you'd get with something like GTK+, what would you use?
22:45 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
23:18
<@Reiv>
People of Code
23:18
<@Reiv>
I have an Inspiration
23:19
<@Reiv>
What game engines should I be looking at sensibly if I am interested in doing ah, uh, match-3 game
23:19
<@Reiv>
I make no apologies, beyond acknowledging that I am terrible >_>
23:20
<~Vornicus>
gamemaker, love2d
23:21
<@Reiv>
hm, fair enough
23:22
<@Reiv>
Reckon I can pull off faux-3D in those engines?
23:22
<@Reiv>
(aka, 'looks vaugely 3D even though it really isn't')
23:22
<@Reiv>
This is in fact 'perspective tricks on a star map' really
23:22
<~Vornicus>
https://gyazo.com/3dcd414200efc771ae37503824fd44ae made in love2d
23:22
<&ToxicFrog>
If by that you mean "2d sprites/tiles drawn to look like 3d" then yes
23:24
<~Vornicus>
(literally the latest thing posted in the showcase channel on the love2d discord)
23:27
<~Vornicus>
layered perspective drawing a la parallax backgrounds in snes is easy
23:29 Degi [Degi@Nightstar-cmmei4.dyn.telefonica.de] has quit [Connection reset by peer]
23:41
<~Vornicus>
Also, apparently by the same developer, this masterpiece
23:41
<~Vornicus>
https://www.youtube.com/watch?v=lWCuIm5UGkQ
23:41
< Lamb3_1>
Vornicus: [YouTube] Spaced out (1m 42s) | Views: 36 | Likes: +5/-0.
23:41
<~Vornicus>
Lamb3_1: no
23:42
<&ToxicFrog>
Vornicus: whoever owns Lamb3_1 clearly isn't paying attention; we should just ban it.
23:44
< Yossarian>
http://www.fifengine.net/media.html isometric engine
23:44
<~Vornicus>
apparently
23:45 mode/#code [+b *!*@Nightstar-52ic2g.wechall.net] by Vornicus
23:45 Lamb3_1 was kicked from #code by Vornicus [Vornicus]
--- Log closed Wed Aug 14 00:00:45 2019
code logs -> 2019 -> Tue, 13 Aug 2019< code.20190812.log - code.20190814.log >

[ Latest log file ]