Patch 1.2 — Development Update

+
Status
Not open for further replies.
And it's fine if they don't know exactly...I would welcome the honesty and transparency. I just don't see how the current way they're engaging the community is winning them any good will.

But I am looking forward to seeing the game continue to improve!

You'd welcome the honesty and transparency and so would I. There are probably a ton of others who would. Then there would be another part of the community, a very vocal part, who would create a shitstorm out of it. You think those people think CDPR is made up of incompetents now? Guess how bad it would get if they came out and admitted to not knowing fully what will make it into the patch.

In big part because, as Gregski's image points out, development seems simple to outsiders. Which can be said of almost any profession out there unfortunately.

I sure got my share of "this seems very simple, should be easy enough to do" thrown at me to which my answer usually is silence... in complete disbelief but you get the idea. All the while thinking to myself "yes, I got 2 bachelor's and a master's for this position all three of which your tiny brain probably couldn't even wrap itself around BUT IT'S SIMPLE THANKS FOR REMINDING ME" but I can't say that. The simple fact is that explaining how complicated things can be usually doesn't help much. In my experience anyway.

Unlike CDPR though, I am not playing on the world stage, my words and actions aren't inspected and critiqued across the world and nowhere near dissected and analyzed to the extremes that some people have displayed over CDPR's statements and actions. If I was, I'd keep silent too :shrug:
 
I hope everyone is tired now of my arguments :cool:, but lets just put the latest version of "police chase 2d".

Again, those who've not followed, you can create a text file and name it "<file name>.html" for example "PoliceChase.html" and you're able to run this "mini-game".
Code:
<html>
<head>
<title>Police Chase 2D</title>
</head>
<body>
<canvas id="canvas" width="1200" height="600" style="border:1px solid #d3d3d3;" />
<script>
var canvas=document.getElementById("canvas"),G=canvas.getContext("2d");G.font="30px Verdana";var v={cl:canvas.getBoundingClientRect(),cw:canvas.width,ch:canvas.height,c:{gr:"#DDD",bl:"#000",g:"#0F0",b:"#00F",sb:"#AAF",y:"#FF0"},t:{m:0,c:1,p:2,z:-1},r:!0,add:500,ccr:40,cM:{s:null,x:null,y:null,ax:0,ay:0,axa:0,aya:0,w:20,h:30,ms:.2,r:1,id:null,t:null,ta:null},hP:Math.PI/2,m:{x:600,y:300},ca:[],fr:50/3,aL:0},f={a:a=>({x:Math.cos(a),y:Math.sin(a)}),d:(a,t)=>Math.sqrt(a**2+t**2),create:(a,t)=>{let c=Object.assign({},a);return Object.keys(t).forEach(a=>{c[a]=t[a]}),c},dB:()=>{G.fillStyle=v.c.gr,G.fillRect(0,0,v.cw,v.ch);for(let a=0;a<v.aL;a++){let t=30*a;G.moveTo(v.cw-38,20+t),G.lineTo(v.cw-22,20+t),G.lineTo(v.cw-30,35+t),G.closePath(),G.lineWidth=3,G.strokeStyle=v.c.b,G.stroke(),G.fillStyle=v.c.sb,G.fill()}},cA:a=>{if(null!==a.ta){let t=a.ta.x-a.x,c=a.ta.y-a.y,l=f.d(t,c);if(l>0){let t=a.ta.x-a.x,c=a.ta.y-a.y;a.ax+=t*a.ms*a.r/l,a.ay+=c*a.ms*a.r/l}}},cd:a=>{v.ca.forEach(t=>{if(t.id!==a.id&&f.d(a.x+a.ax-t.x-t.ax,a.y+a.ay-t.y-t.ay)<v.ccr){let c=f.a(Math.atan2(a.y-t.y,a.x-t.x));if(a.axa+=t.ax*c.x,a.aya+=t.ay*c.y,a.t===v.t.p&&a.ta.t===v.t.z&&t.t===v.t.m&&(a.ta=v.ca[0],v.aL<5)){let a=f.RS();f.naC(4,v.ca[0].x+a.x,v.ca[0].y+a.y,v.t.p,v.ca[0]),v.aL++}a.t!==v.t.m&&(a.r=.01)}})},cr:a=>{a.r<1&&(a.r+=.01)},mTD:a=>{a.ax+=a.axa,a.ay+=a.aya,a.axa=0,a.aya=0;let t=f.d(a.ax,a.ay)/a.mxs;t>1&&(a.ax/=t,a.ay/=t),a.x+=a.ax,a.y+=a.ay,a.ta.t===v.t.z&&(a.x+a.h<0?a.x=v.cw+a.h:a.x-a.h>v.cw&&(a.x=-a.h)),f.dC(a)},dC:a=>{switch(G.save(),G.translate(a.x,a.y),G.rotate(Math.atan2(a.ay,a.ax)+v.hP),G.beginPath(),a.t){case v.t.m:G.fillStyle=v.c.g;break;case v.t.c:G.fillStyle=v.c.y;break;case v.t.p:G.fillStyle=v.c.b}G.fillRect(-a.w/2,-a.h/2,a.w,a.h),G.strokeStyle=v.c.bl,G.lineWidth=1,G.strokeRect(-a.w/2,-a.h/2,a.w,a.h),G.lineWidth=2,G.strokeStyle=v.c.bl,G.strokeRect(1-a.w/2,-a.h/4,a.w-2,2*a.h/3),G.fillStyle=v.c.y,G.fillRect(-a.w/2,-a.h/2,a.w/4,a.w/4),G.fillRect(a.w/2-5,-a.h/2,a.w/4,a.w/4),G.stroke(),G.restore()},naC:(a,t,c,l,e)=>{v.ca.push(f.create(v.cM,{mxs:a,x:t,y:c,id:v.ca.length,t:l,ta:e}))},RS:()=>{let a=Math.random()*Math.PI*2;return{x:v.cw*Math.cos(a),y:v.ch*Math.sin(a)}}};f.naC(5,600,300,v.t.m,v.m);var l1=50,l2=120,l3=480,l4=550,rp1={x:v.cw+50,y:l1,t:v.t.z},rp2={x:-50,y:l2,t:v.t.z},rp3={x:v.cw+50,y:l3,t:v.t.z},rp4={x:-50,y:l4,t:v.t.z};f.naC(3,300,l1,v.t.p,rp1),f.naC(3,900,l1,v.t.c,rp1),f.naC(3,300,l2,v.t.p,rp2),f.naC(3,900,l2,v.t.c,rp2),f.naC(3,300,l3,v.t.p,rp3),f.naC(3,900,l3,v.t.c,rp3),f.naC(3,300,l4,v.t.p,rp4),f.naC(3,900,l4,v.t.c,rp4),canvas.addEventListener("mousemove",a=>{a.clientX&&(v.m.x=a.clientX-v.cl.left,v.m.y=a.clientY-v.cl.top)}),canvas.addEventListener("click",a=>{v.r=!v.r}),setInterval(()=>{v.r&&(f.dB(),v.ca.forEach(a=>f.cA(a)),v.ca.forEach(a=>f.cd(a)),v.ca.forEach(a=>f.cr(a)),v.ca.forEach(a=>f.mTD(a)))},v.fr);
</script>
</body>
</html>

This all made in 2 days office work time:
- Cars with acceleration toward a target point
- Collision recovery time
- Different maximum speeds (so that you're even allowed to escape)
- Extra police spawn logic outside of players vision
- Different car types and behaviors, civilians do not react to being hit, police cars switch focus if being hit by you
- Star system based on polices harassed
- Collision detection
- Collision processing
- Pausing system with mouse click

(In 1 extra day added I could do police shooting bullets and a health meter, maybe after getting destroyed, returning police back to following the previous paths (basically just storing earlier point before being hit, and then returning it back).

In 1 more day to that I could write some kind of "avoid collision"-logic that makes cars evade in advance the traffic coming their way. Basically would be same as collision detection, running just a vast larger circle of detection and making small nudges to the direction to evade you.)

In 1 more day to that you could have repair wrenches to restore car health and timer for police to give up slowly if not having contact with player for say 10 seconds, and losing 1 star.)


Granted this game is 2D and not an open world game which doesn't continuously maintain assets in screen all the time and many other differences, so I'm not saying it'd take the same amount of time, it's just not gonna be necessary some giant "DLC" to figure out fix to existing police chase.

I respect the work the developers are doing and I'm no way trying to downplay their skills. Creating a small game from scratch to run in 2D is a completely different than creating a multi layered game with 3D collision physics and running 30 different departments to run graphics and art and data streaming and so on, making them all work in perfect cohesion.

Just trying to make a point where I hear some people claiming the game is complete spaghetti code that is somehow unfixable or would take years to fix, it's likely far from that, even just based on the reality that game runs 99.9999% of the time without any hiccups on high end PC should tell that there's not that many problems. Once they adjust the graphical settings for the most optimal values for low end consoles, they should be able to make them run the game in a fluid 30fps. I won't promise that's gonna happen in 1.2, it might never be ultra optimal for base gen consoles, but it's gonna get better. Same goes for many visual glaring issues, there probably is 1-2 bugs or fixes required to get them to run smooth, it's not going to be 2 year project.
 
Last edited:
You'd welcome the honesty and transparency and so would I. There are probably a ton of others who would. Then there would be another part of the community, a very vocal part, who would create a shitstorm out of it. You think those people think CDPR is made up of incompetents now? Guess how bad it would get if they came out and admitted to not knowing fully what will make it into the patch.

In big part because, as Gregski's image points out, development seems simple to outsiders. Which can be said of almost any profession out there unfortunately.

I sure got my share of "this seems very simple, should be easy enough to do" thrown at me to which my answer usually is silence... in complete disbelief but you get the idea. All the while thinking to myself "yes, I got 2 bachelor's and a master's for this position all three of which your tiny brain probably couldn't even wrap itself around BUT IT'S SIMPLE THANKS FOR REMINDING ME" but I can't say that. The simple fact is that explaining how complicated things can be usually doesn't help much. In my experience anyway.

Unlike CDPR though, I am not playing on the world stage, my words and actions aren't inspected and critiqued across the world and nowhere near dissected and analyzed to the extremes that some people have displayed over CDPR's statements and actions. If I was, I'd keep silent too :shrug:

Well even a student fresh out of CS bachelors degree if they chosen programming knows that coding a list and functions to update said list by adding/removing/updating information in said list no matter what kind of data structure the list contains.

If it's just numbers or arrays or something more complicate like an object or abstract data type is actually not very hard to do in code, so failing simple thing like that points towards incompetence or making something simple too complicated which again points to incompetence and it does not have to be the coders fault, some fault might also be with the person in charge of that part of code or even a project manager, but it still points to incompetence.

What do I mean by a list ? Well the mission log and the updates and stuff, same for street cred and level xp which also could be a list even though it be much easier to just keep them as numbers, but who knows that is what I mean by sometimes you complicate simple things.

There will always be bugs and glitches in just about any software, but the thing here is that you can't accept this bad memory leaks that CP suffers from. If you still don't believe it's a problem go stand someplace safe and leave the game running and go sleep, let it run for like 12 hours now go back to game and you will experience all kind of strange problems and it might even be running in slow motion at this point if it has not crashed already.
 
Granted this game is 2D and not an open world game which doesn't continuously maintain assets in screen all the time and many other differences, so I'm not saying it'd take the same amount of time, it's just not gonna be necessary some giant "DLC" to figure out fix to existing police chase.

Can you make this Police Chase 2D work on the hardware of a simple calculator? Because that's what we are talking about in the context of Jaguar CPU and all these complex systems that are simultaneously working in CP2077. ;)
 
Can you make this Police Chase 2D work on the hardware of a simple calculator? Because that's what we are talking about in the context of Jaguar CPU and all these complex systems that are simultaneously working in CP2077.
Cheeky wink aside, we all know that is not true, it is just part of the narrative that certain PC owners like to trot out for various reasons that suit their personal agendas. Besides, since none of these supposed "complex systems" have resulted in anything beyond run of the mill fare on any system, then it would again be down to CDPR for making the game in such a complex way that the consoles struggle with when other games have achieved so much more and run perfectly fine on the hardware.
 
Can you make this Police Chase 2D work on the hardware of a simple calculator? Because that's what we are talking about in the context of Jaguar CPU and all these complex systems that are simultaneously working in CP2077. ;)

So basically what you're asking if I can I transform water into wine? No I can't.

My whole argument wasn't that "look I'm so great developer, why can't you make it", it's the exact opposite. I can't do miracles and I certainly am not qualified to fix the police mechanism.

But I can just guess based on my coding experience, knowledge of what is shown currently already existing and my feel of what is required for implementing the system.

It shouldn't take 10 000 hours of work to make that police car detect you in traffic you saw in

It also shouldn't be a problem to spawn some police cars in traffic to do similar drives this car did, and having some "collector" that tells to the police cars in traffic that player has committed a crime.

Sure there might be other issues related to the topic and I'm sure there is, but my hunch is that it is not like 100 pages of bug reports.

And since modders are able to spawn police cars + make them chase from a press of a button, it's not like some ultra hard difficult stuff to do.

So maybe they have some problems knowing where to spawn in launch day, and that's why they put the police persons spawning instead everywhere close to player because spawning logic couldn't figure out a roof from a road, and it would not make sense to spawn police cars in the roof... then again there already exists pretty good traffic spawn logic (granted some strange places they spawn little strange).
 
Last edited:
To be honest, even with the bad results, they may have been better off releasing it when they did. The big question is the long term effects.
The profits made now was not worth the reputation damage CD has gotten. I will not purchase a single product from them again. Until I see reviews saying the game isn't missing XYZ. I won't believe any form of marketing. Until they can prove they can market with material that's in the game. Not show us CGI things that don't exist. Or hype up aspects of the game that has no depth.

The companies are different in scale. But the dev tracker for Subnautica Below Zero. They list out what bug or change they complete. During their patches. So everyone knew what was being changed, fixed, or improved. Bar hidden story plot points. As soon as they marked it done.
 
Last edited:
So basically what you're asking if I can I transform water into wine? No I can't.
Don't get me wrong. I wish all you say was possible to do for CDPR. In this next patch. But I do not think it will. It's been three months since the game was released. There's a reason why all the systems in question were not significantly improved in this time period.

I guess we'll see who's right in the next few weeks. I hope I am wrong. :)
 
Saying a person will never purchase another CDPR product again, because of Cyberpunk 2077? This seems unlikely.

It's fair to say you'll be cautious next time, or that you will never buy without checking reviews first (we should -all- do that first), but never buy again?

As soon as CDPR's next game is great (odds are it will be) and those 9s return, we should be buying. Why wouldn't we? If the product is good, why not buy and enjoy it?

If their next product is good, buy and enjoy it and let that be the lesson.

As for Patch 1.2 - Take As Long As You Need is the lesson from December.

Post Edited for less snark.
 
Last edited:
Status
Not open for further replies.
Top Bottom