Gran Turismo 4

  • Thread starter Thread starter Jonhline
  • 21 comments
  • 1,341 views
So this isn't coded with Ai?
Screenshot_20261013_011954_Firefox.webp

If so it might be worth advertising this since so many AI projects have came out recently. The possibilities of new cars and tracks are interesting and as good as GT4 can look nowadays I'm sure graphics improvements will be really nice.
 
So this isn't coded with Ai?
View attachment 1570946
If so it might be worth advertising this since so many AI projects have came out recently. The possibilities of new cars and tracks are interesting and as good as GT4 can look nowadays I'm sure graphics improvements will be really nice.
They upfront disclosed it was on the top of the repo's README.md:
The project is developed with heavy AI assistance.

The issue here, as with most recomps/"fan ports" that had "heavy AI assistance" like this, is that it ends up producing sloppy, spaghetti code that no outsider developer can understand to debug/analyze.
 
Last edited:
Certainly interesting how the line "No emulation" is used but there's a source file dedicated to Emotion Engine functionality (src/ee/ee.h) and EE syscalls all over the place. Why would you need that if you're actually porting the game to native code? Could we perhaps get a non-AI explanation of why?
 
Certainly interesting how the line "No emulation" is used but there's a source file dedicated to Emotion Engine functionality (src/ee/ee.h) and EE syscalls all over the place. Why would you need that if you're actually porting the game to native code? Could we perhaps get a non-AI explanation of why?
Fair question, src/ee is just for testing. I use it to run the original PS2 code and compare the results with my C version. The actual game doesn't use it. Some stuff like physics still uses the PS2 memory layout to make comparisons easier.
 
I must say I'm impressed if you can read and work with that code, as in my eyes it's minified to the point of unreadability with plenty of magic numbers and unnamed offsets in structures. Also, what's up with comments in the code like: 'Parts not rewritten yet run the original'?

You've also got bits and pieces scattered around that aren't actually from the game or even correct, like the 'ASSIGN_OLD' name for one of the adhoc instructions that was implemented by Nenkai in his disassembler to disambiguate it from an instruction in later versions, which is surely clear from just reading the name. What proportion of the code have you written yourself, and what's your own level of understanding of the internals of GT4?
 
I must say I'm impressed if you can read and work with that code, as in my eyes it's minified to the point of unreadability with plenty of magic numbers and unnamed offsets in structures. Also, what's up with comments in the code like: 'Parts not rewritten yet run the original'?

You've also got bits and pieces scattered around that aren't actually from the game or even correct, like the 'ASSIGN_OLD' name for one of the adhoc instructions that was implemented by Nenkai in his disassembler to disambiguate it from an instruction in later versions, which is surely clear from just reading the name. What proportion of the code have you written yourself, and what's your own level of understanding of the internals of GT4?
Thanks for the feedback, and sorry about the state of the code, you’re right about it. I’m honestly not very experienced with reverse engineering, I just really love this game and got a bit carried away. I’m already working on changes to make the code readable and easy to maintain without AI. I’d really appreciate a chance to show it can get better. I’m focused on making this a good project and bringing real improvements to the game, like new features down the line. Thanks again!
 
I’m honestly not very experienced with reverse engineering, I just really love this game and got a bit carried away. ... I’m focused on making this a good project

Not to be rude, but my biggest advice to make a project like this something genuinely of quality is to spend some time learning and getting really proficient in games development, C programming, and reverse engineering, then coming back and tackling it from scratch with your own knowledge. It will take years, but the only way to write quality and maintainable software is if you yourself fully understand the architecture of the application and the purpose of every line of code. If you take shortcuts and have a machine generate code instead, you won't be able to accurately judge whether that code is any good or not, fundamentally undermining all of your efforts.
 
Not to be rude, but my biggest advice to make a project like this something genuinely of quality is to spend some time learning and getting really proficient in games development, C programming, and reverse engineering, then coming back and tackling it from scratch with your own knowledge. It will take years, but the only way to write quality and maintainable software is if you yourself fully understand the architecture of the application and the purpose of every line of code. If you take shortcuts and have a machine generate code instead, you won't be able to accurately judge whether that code is any good or not, fundamentally undermining all of your efforts.
I completely agree with this. While the idea of a reverse engineered GT4 really excites me. We can already play GT4 perfectly fine on PC via emulation. So, to make a reverse engineered version of the game truly worthwhile, the code needs to be written and structured in a way that other people (not AI) can read, understand and edit it. That way, you can end up with a version of that game that can break the limits native to the PS2. A GT4 where you can have larger grids, no limit to the number of events. Import completely new car and track models and so on. When this finally does happen, it will be amazing, and I really hope you @Jonhline manage to achieve it one day.

Your best bet is to learn the code yourself. AI can make a lot of what I said above happen, but it will be an unreadable mess and you'll have to fudge the code with AI again and again to make every change you want. It won't be an open platform that other people can mod and add to. AI can certainly help, it can help you find errors, it can help you learn, but if it writes everything for you it won't.

I've used AI to help when I'm doing backend work on our workflow software at work, as I'm not a programmer and everything I learn about programming (which is fairly limited) is fully self taught. But when I need to change something and I don't know how, I research what I want to do and how to do it, I write the code and functions, then if it doesn't work I try to fix it. Depending on how I'm doing, at some point I may paste the code which I've written that I'm struggling with into an AI for suggestions. But the key is, I wrote the code and I understand the changes the AI is suggesting as a result. Some people may frown on that, but that's where I personally find the benefit of AI without it just creating something I don't understand and can't learn from.
 
Thanks for the advice and for taking the time to look through the code. I understand your concerns, and I know there's still a lot for me to learn. I've decided to take OpenGT4 out of the public eye and keep it as a personal hobby project, where I can continue learning at my own pace and enjoy playing the game. Thanks again for the feedback!
 
Thanks for the advice and for taking the time to look through the code. I understand your concerns, and I know there's still a lot for me to learn. I've decided to take OpenGT4 out of the public eye and keep it as a personal hobby project, where I can continue learning at my own pace and enjoy playing the game. Thanks again for the feedback!
No need to make it private, just share it elsewhere as this forum hates AI
 
Thanks for the advice and for taking the time to look through the code. I understand your concerns, and I know there's still a lot for me to learn. I've decided to take OpenGT4 out of the public eye and keep it as a personal hobby project, where I can continue learning at my own pace and enjoy playing the game. Thanks again for the feedback!
I don't know if this would help you or not but there's a new tool that can automatically decompile any PS1, PS2, PSP and some other systems games and is advertised to explain it's mistakes along the way. So maybe whatever ends up messy would be explained enough for a human that is skilled to fix it? Also I assume this means any version of GT4 could be decompiled and maybe even combine games like adding cars and tracks from GT3 and theoretically motorcycles from Tourist Trophy.
Here's the link to the tool https://decomp.wtf/ I haven't tried it myself but from what I've read people are liking it so far.
 
Not that controversial most places, this forum just has a weird crusade against ai
That's because people are willing to accept slop, and I mean that in general, in life, people will chose a quick and easy moment of gratification over long term success that took a while and hard work to obtain. It's the path of least resistance.

Not all use of AI has to be slop of course, but when even the person behind creating the code cannot explain any of it, it's usually slop. What modding communities need and thrive off is research and explanation. When one guy makes a breakthrough, that's not just his mod that benefits, it's the whole community, because the breakthrough can be explained and shared and understood.

When someone uses Claude or whatever other AI, sure they can create something fun, something perhaps interesting, but it is one use, it usually is full of bugs and flaws and it cannot be used or learned from or benefit the wider community.

If someone can decompile GT4 for Windows in a way that opens it up to the wider community to be able to change memory allocations, add more opponents without breaking the game, bypass or remove limits to numbers of events, cars and tracks and then to be able to import all new cars and tracks into it, that will be massive. But that won't be achieved by AI.
 
Not that controversial most places, this forum just has a weird crusade against ai
No need to make it private, just share it elsewhere as this forum hates AI
"This forum" does nothing of the sort.

People are entitled to have and express their opinion on this matter. You are allowed to be in favour just as much as others are allowed not to be. Neither of these things represent the site as a whole.
 
"This forum" does nothing of the sort.

People are entitled to have and express their opinion on this matter. You are allowed to be in favour just as much as others are allowed not to be. Neither of these things represent the site as a whole.
Yes, and it seems the vast majority on here hate AI and everything it helps create, even if the results are incredible. This is not the case in any of the other forums I frequent. It's either 50/50 or most people are excited about these new developments
 
Yes, and it seems the vast majority on here hate AI and everything it helps create, even if the results are incredible. This is not the case in any of the other forums I frequent. It's either 50/50 or most people are excited about these new developments
Which still doesn't confer any particular opinion on "this forum".

Again, you're allowed to like it and say so as much as those who don't are. It's a matter of personal opinion and has nothing to do with the site or forum at all. Please do not suggest otherwise again.
 
Which still doesn't confer any particular opinion on "this forum".

Again, you're allowed to like it and say so as much as those who don't are. It's a matter of personal opinion and has nothing to do with the site or forum at all. Please do not suggest otherwise again.
It's really not hard to understand that I'm refering to the majority of people on the forum, the users are what make a forum. You're being defensive for no real reason
 
It's really not hard to understand that I'm refering to the majority of people on the forum, the users are what make a forum. You're being defensive for no real reason
It's really not hard to use words that actually mean your intention rather than ones that don't. One can only read the words used, hence my initial response.

If you want to refer to a (perceived) majority of users, then do so. You will not conflate that with the entire site again.

This isn't a discussion, it's an instruction. It requires no response.

Edit: Of any kind. You erred, you have been reminded not to. Grow up.
 
Last edited:
Back