/dpt/ - Daily Programming Thread

Last thread: What are you working on, Sup Forums?

Other urls found in this thread:

alistair.cockburn.us/Hexagonal architecture.
archive.org/details/Wolfenstein3d
youtube.com/watch?v=irvFiTsY05Q
twitter.com/AnonBabble

C is a shitlang

What do you anons think of this design pattern: alistair.cockburn.us/Hexagonal architecture.

>he uses a monospaced font even though he never needs to be concerned with horizontal alignment
yeah I get it, you want to feel like H A C K E R M A N

Objectively a bad idea, a triangular tessellation of 2-space is provably more stable than any higher arity tessellation. Additionally, you can't even tessellate 3-space at all with hexagons, and we live in 3-space.

>pass = "Af4kTGds32 ";

>he thinks being concerned with horizontal alignment is not objectively a virtue in and of itself due to enhanced readability
yeah we get it, you want to feel like scooping your eyes out with a spoon

Lucky 7th for you should use CouchDB.

>he thinks horizontal alignment leads to enhanced readability
yeah we get it, you're retarded

>he fails to use a monospace font for whatever reason
>he this this is ever justifiable
Yeah, I get it, you want to feel R E T A R D E D

>he thinks horizontal alignment doesn't lead to enhanced readability
>yeah we get it, you're retarded

see me on it

The bees disagree with you.

How hard is it to build a 2D game by yourself? Like say a RPG or a FPS

they hatin

sell*

>2D game
>Like say a RPG or a FPS
>FPS
In your case, impossible

Doom is a 2D FPS

I have some R scripts I'm using for data analysis, but I'm looking to implement my pipeline on my uni's Openshift platform. However, there aren't any options for R on openshift except for one random guy's custom docker image, and I don't have root access to install R manually.

What are my options besides rewriting my R scripts in Python? I don't do anything too complicated with R but I do lean heavily on R's data structures and I'd rather not fuck with numpy/scipy, so translating my scripts is going to be a pain in the ass.

Is it a bad idea to try to load some RHEL-compatible binaries for R into my git repo?

this anime sucks btw

>I am literally 12
Come back when you graduate high school kiddo

fuck you it's comfy

Hard? Depends on what you're trying to do, but often not really. Tedious? Most certainly. There's a reason why CS guys like the Stardew Valley guy turning around and making games are a minority, in part because writing you're own engine isn't something you do out of necessity but rather curiosity/enjoyment.

>RPG
A child can do it in RPG Maker. Easy enough, though a bit laborious, if you program it from scratch in something like Love2D. It's actually a good way to get acquainted with writing boring UI code.
>FPS
>2D
You mean a raycasting engine or something?

>2D
Much, much, much easier than building a 3D game by yourself. Requires exponentially less math, but still a substantial amount.
>RPG
Complicated by the sheer amount and diversity of types of resources you have to create, but still a little easier than making a good completely generalized 2D game engine.
>FPS
Not 2D.

Y-you too.

>Doom is a 2D game

Mechanically it is.

So tell us, user, what does a 2D FPS game look like? Do you project the world onto a 1D line? How does it work?

Do you mean in the sense that everything only moves along 2 dimensions despite the viewpoint being rendered in 3?

>I use only hex because it looks more hacker

archive.org/details/Wolfenstein3d

>Mechanically it is.

Octal is unironically better.

You shoot on one axis, yes.

>Wolfenstein3d is a 2D FPS game
Looks like /dpt/ is having another "doubles are a subset..." episode.

depends. do you intend to write your own opengl shit? or go with an already existing boilerplate engine?

in what way?

more like
>i use hex because some problems are easier to model in terms of members of the sequence 2^(3 + n) but i don't use it exclusively because most problems are easier to model in decimal

You aim on one axis. Shots are automaticaly aimed up and down if needed.

hello, i've never programmed before and im kinda dumb. should i bother learning or should i just stick to being braindead

Okay but that doesn't make it a 2D FPS. That just makes it 2D *in the sense of being an FPS*. It's still 3D *as a game*, both graphically *and* mechanically: other things, outside specifically bullets, can move vertically.

If you are planning to do something like that use an already existing engine instead of making your own. It will make the job 100 times less tedious

why are voxels so superior?

youtube.com/watch?v=irvFiTsY05Q

it's still shooting on one axis though, regardless of what corrections the game does to accommodate pseudo-3d.
Doom and co. may be 3d games, visually, but mechanically they are 2d games. This is not a hard concept to grasp.

yes, start with a high level language so you don't get bogged down in shit you shouldn't care about initially. Also, choose ruby instead of python because people will suggest python but they are to be disregarded as subhuman. Ruby's got problems, but python is disgraceful.

>That just makes it 2D *in the sense of being an FPS
Holy fuck, /dpt/...
>FPS.
>First-person shooter
>Shooter from a first-person view
>First-person view
>2D shooter from a first person view
>2D first-person view

You shooting on one axis in CSGO to, is it 2D shooter too now? Anyway pseudo 3D != 2D. You retarded.

|

proc isParallel(l1, l2: LineSegObj): bool =
return area(l1.peakPoints[0], l2.peakPoints[0], l2.peakPoints[1]) ==
area(l1.peakPoints[1], l2.peakPoints[0], l2.peakPoints[1])


proc intersects(l1, l2: LineSegObj): bool =
return (not(l1.isParallel l2)) and
(area(l1.peakPoints[0], l2.peakPoints[0], l2.peakPoints[1]) +
area(l1.peakPoints[1], l2.peakPoints[0], l2.peakPoints[1]) ==
area(l2.peakPoints[0], l1.peakPoints[0], l1.peakPoints[1]) +
area(l2.peakPoints[1], l1.peakPoints[0], l1.peakPoints[1])
)

No, because you're just choosing not to use the others. Doom (atleast vanilla) lacks the other dimensions. Jesus christ lad, just let it go and admit you're wrong.

I'm stupid: the post.

That's not what being 2D or 3D means. It doesn't refer to how many degrees of freedom you can shoot within. Consider, for example, that some games don't even HAVE shooting, and they can STILL be called 2D or 3D.
Regardless, from a development perspective, it's erroneous to lump the kind of """2D""" you're talking about together with other more mainstream meanings of the term. Making a game with a 3D presentation, even if you want to call it "2D" due to your irrational fascination with framing everything in terms of how many different ways you're allowed to point a gun, is FUNDAMENTALLY DIFFERENT from making a graphically 2D game, or even from making a graphically 3D game where ALL objects, not just the crosshair, can only move along the same 2 axes. You're trying to ask a question about two things that are completely incomparable.

You're a fucking retard who can't tell apart engine implementation details from the nature of the game. You could render Doom from a top-down perspective and it would mostly work, but it will not be remotely the same game. You are a drooling retard, as customary for /dpt/ posters.

how hard is to code a chat room (only text)?

1 hours tops.

It depends on your definition of a 3D game. Wolf3D looks 3D to the player, but it's all smoke and mirrors. The engine operates solely with 2D coordinates. It performs sprite scaling and raycasting against an array representing a 2D map. Even Doom and the Build engine games are "more 3D" because you have a height coordinate that matters, e.g., for whether a projectile hits you. In Wolf3D, not so much.

On x86 asm for bare metal?

Define chat room.

Depending on what you want to do and how much preexisting code you are okay with reusing it could either take all of 10 minutes, or you could be spending the next year and still not be anywhere close to done.

>2D raycast rendering engines are 3D
unless you wanna meme modern 3D engines are 2D because screens are flat.

>It depends on your definition of a 3D game. Wolf3D looks 3D to the player, but it's all smoke and mirrors. The engine operates solely with 2D coordinates.
CoD looks 3D to the player, but it's all smoke and mirrors. The engine renders solely a flat image. Clearly, 3D games don't exist. We'll have to wait for holograms. But I guess your "smoke and mirrors" shit only applies as long as it helps you save face after making retarded statements about 2D FPS.

What's the Linux equivalent of ASP.NET?
And don't say ASP.NET Core because my company is as far from bleeding edge as possible.
This is a tiny website with tiny load, but complex serverside data manipulation which would benefit from a high level easily modified language like python.

So django or another python framework? Or are those memes and not production worthy?
Otherwise Java or something? My company is so old fashioned that they'll go for php if I say nothing so... I've only done web with ASP.NET before, not helpful here.

are perspective drawings on pen and paper now 3D?

doom is 2D fucktard.

It's a literal shmup.

if it's a tiny website, consider flask.

Stay away from .NET
Simple.

What about Go?

O' Lord Spaghetti, show my thy wisdom on how to represent depth in such a """"""""""""""""""2D"""""""""""""""""" game.
Oh wait, you can't, because ALL RETARDED FIRST PERSON SHOOTERS ARE 2D BECAUSE THE VIEW IS PROJECTED ON A 2D PLANE - YOUR MONITOR IN THIS CASE.

HUUUUUUURRRRRRRRRRRRRRR DURRRRRRRRRRRRRRRRRRRRR
either go suck a dick, or stop posting

The other python framework? Interesting, I'll look into it.

Hm interesting. No one at the company knows Go though including me, whereas python might be an easier sell. Anything has gotta be better than php though...

>No one at the company knows Go though including me
Keep it that way
>python might be an easier sell
You can do better than Python

Literally can't be done. A chatroom client needs to be able to run on an arbitrary hardware configuration or it's completely pointless. The lowest level at which you could write a chatroom and still have a point to it would be a userspace CLI program in C or a comparable language. Even the "userspace" part is critical: you need an OS, because you need arbitrary drivers and you need a consistent interface to them.

yeah. it's great for tiny websites because you don't have to fuck with all the complicated shit django puts you through

Go.

>are perspective drawings on pen and paper now 3D?
Can you tell apart a cube from a square if I draw them on a piece of paper? Can you tell that one depicts a 3D object while the other one depicts a 2D object? Then why is it so difficult for your tiny fucking mind to tell apart a 3D rendering (the level in a "2.5D" game) from a 2D one (a tilemap, for instance)?

Like what. Cos all else I can think of is Java.

c++ is a fucking abomination

Clojure

And this guy can't write books for fucking shit

It literally takes a single day to become proficient with Go.

That's why it's a bad language for real world problems. It's too simple to be able to express maintainable solutions.

Not actually relevant because we're talking about how hard 2D games are to code and that question allows for only one contextual definition of 2D games and it's not the one you're suggesting.
For more information see:

Duke Nukem is Forever though.

That may be true but I work for a company of non-web developers who are scared by new things and already know some python.

Use Clojure, tell them it's a better JS/Python

> A chatroom client needs to be able to run on an arbitrary hardware configuration or it's completely pointless.
Nothing like that was in the task description. Also you can implement all the stuff you mentioned youself since time constraints where not mentioned either.

>DOOM is 3D because the rendering isn't top down 2D but first person view even while his gameplay is 2D

>first person (camera) top down shooters are now 3D games

>2D raycast engines are 3D because screens are flat

???

>linear algebra is hard
finish high school pls.

All vidya is 2D unless you play it using a 3D printer

Oh, go with Python than. You don't want to be 'that guy' who forced his/her coworkers into using some alien technology.

The constraint of not being pointless was implied by the mere fact that you were asking how to do something.
>>linear algebra is hard
>finish high school pls.
literally not related in any way to anything i said

>my team lead made us learn a new technology
>it's far simpler and easier to use and get right than what we were using before
>now I can put it on my resume
>it's all awful I tell you
>I'm a python developer and only a python developer

>photoshop perspective tool makes photoshop a 3D software
???

>he literally argues a raycast engine is 3D
>he thinks 2D perspective transformations of a sprite based on xy distance is the same as a 3D engine

Not if you cowokers aren't open to new ideas.

>gameplay is 2D
The gameplay is not 2D, you drooling fucking monkey, unless you want to claim that the perspective (being unable to see what's behind you, things blocking other things from view, visual and gameplay effects of height differences, etc.) doesn't change anything. You really need to kill yourself. I honestly can't fathom how anyone calling himself a programmer can display such a shockingly low level of intelligence.

Then you should get out of that team while you can.

>>linear algebra is hard
>finish high school pls.
Linear algebra is objectively hard, in the sense that even people who know everything about it still struggle with it. In other words, it's tedious. It's just as tedious to program as it is to do by hand, and as a result, it tends to dominate the source code of graphically 3D games, crowding out actual meaningful content.

>I'm a scientist all I wanted to do was refactor this live status page with some dynamically generated graphs away from shitty php that I don't understand.
>Why is he making me learn this clojure meme I have to learn from scratch and can't use for any of my other work when python has a web framework that would've worked I literally won't develop another webpage for years

I literally said none of this

python is a bad language and I cannot allow its use or even its proposed use to go unchallenged

I'm not , but you're right. Overly conservative coworkers are a recipe for disaster.

>streaching and smearing 2D operations are now 3D
finish computer graphics in your nigger college first pls.

>Doom is 3D because uses 2D perspective matrix transformations

>I'm a brainlet in a nigger comunity college in bumfuck alabama

You don't get it. That both end up on a 2D monitor doesn't matter for the distinction I am making. There is a difference between CoD's [3D world model -> rasterization -> screen] and Wolf3D's [2D world model -> raycasting + sprites -> screen]. Only one of those two pipelines works with 3D data at any point. Both games have a 3D perspective, but CoD is 3D in a sense in which Wolf3D isn't.
user, you are making my argument look bad by presenting a similar but obviously flawed argument. As says, perspective affects how you play the game, even in Wolf3D.