Hacker News new | past | comments | ask | show | jobs | submit login
Portal 64 – A demake of Portal for the Nintendo 64 (github.com/lambertjamesd)
385 points by skibz on Sept 4, 2023 | hide | past | favorite | 121 comments



It's worth mentioning that the author has a YouTube channel[1] where he periodically posts videos showcasing updates he's made to the game over time. I'm surprised there isn't a link or even any kind of screenshots of the game on the Github repo, even if it is still very early in development.

[1] https://www.youtube.com/@happycoder1989/videos


Agreed, this repo is in desperate need of a few screenshots/video on the ReadMe to showcase what it looks like.


I personally have found there is something of an art to a good readme. So folks can make one that is informative and visual, others can't. I have a project or two that suffered because my readme designing skills suck, then talented friend PR'd a great readme with screenshots and such.


It may be an art, but I wouldn't say it takes much talent to include a screenshot, GIF or YouTube link! Most likely he just didn't give it much thought.


Weirdly even commercial software websites seem to do this a lot. Pages of text and some mostly-unrelated images with no screenshots at all. Sometimes you can learn more about a program from screenshots of it in Google Images than from the official website.


Agree totally - I want to see whether the controls for what I want to use the software for are in prominent positions, buried deep in some menu, or completely non-existent. I also want to see what other UI fluff is crowding out those controls and becoming distracting for me and my users, and how bloated the application is around other tasks that I have no use for.

It's not the sole way to evaluate usefulness of software obviously, but it can help save a lot of time if it's clear from screenshots or videos if its not a good fit for my needs.


Honestly half the time the site doesn't even describe what the software is for. They'll be like "CRE8TR TAKES CREATIVITY TO A NEW LEVEL", "Used by industry professionals worldwide!" If you've just come from a random link on Hacker News or something they can be incredibly vague.

Once again, a screenshot immediately shows me "oh, it's a UI wireframing tool."


Speaking only for myself, often a project is in a half-finished state, and any provided screenshot would quickly become out of date.


Your audiences imagination is probably even worse!


You could probably automate a tool to take screenshot for you.


This sounds like a slippery slope into yak-shaving…next thing you’ll open source your automated screen-shorting tool, and it will require a readme of its own!


Should I write a new screenshot tool for the screenshot tool's readme?


Sounds something like charm’s vhs: https://github.com/charmbracelet/vhs


Your are absolutely a software engineer. Counter point for counter point sake.


Sounds like a good opportunity for a pull request!


I opened an Issue on the Repo for it!


Can't edit my post but the ReadMe has been updated! Looks great now.


Was wondering the same thing. If you search "screenshot" in the issues, there are a few screenshots people have uploaded, primarily in regards to demonstrating bugs.

https://github.com/lambertjamesd/portal64/issues?q=screensho...


Looks much better than I expected. Hard to believe people are complaining about things this cool.


Looks terrific on the Vita screen


It looks so good it's a lot closer to a port than a demake.


I did not know this concept existed, Wonderful Idea, no doubt demakes would be a lot more frequent if we valued ecology and actually tried to curb digital obsolescence as much as possible, in a permacomputing way.

I imagine it would be much more straightforward to port pretty much any indie games to consoles like Xbox original onwards, PS3 onwards, Wii onwards, maybe Windows 7 average desktop and notebooks (lots of indies already use older direct x and are compatible with windows 7 , another win for the pc master race). The AAA Games would need to be done with less scale and no 4k dlss ray tracing whatever.


While I agree with the sentiment, and it's awesome that a lower-specced version of the game exists...

> port [...] to consoles like Xbox original

Uuh, in the name of energy efficiency, let's not. My smartphone is much more powerful and has a much lower power consumption than these systems. My Steam Deck even more so, though it's higher-power than a phone.

Targeting energy-efficient, low power hardware should be the goal, not porting to inneficient obsolete HW, IMO (though it's pretty cool, and demonstrates that you can do a lot with little computing power).

Still, I agree that something that runs well on old commodity hardware can run well on most existing hardware, reducing the need for hardware upgrades.

But my point is, running ond old HW is probably counterproductive if you only value ecology. At best, you could emulate old HW with much more efficient modern HW, and integrate most of the system on a single low power chip.


''running ond old HW is probably counterproductive if you only value ecology'' I could be wrong, but i think the opposite than you.

You are being reductionist, and only accounting for the factor of direct eletrical consumption during use, and not the total energy and natural resources spent during the equipments lifetime , specially its manufacturing (which i think is the real measure of ecological efficiency we should aim).

The old hardware was already produced, resources were spent and pollution and emissions were made, so it is a duty that we should use it as much as possible until irrepairable breakdown happens, and reduce our consumption of new stuff that would only replace it. Like your example of a new smartphone or new steamdeck replacing the old Xbox Original: it is almost certain that the electrical consumption gains would not compensate, in terms of total energy and resources spent and pollution made, the discarting of the original xbox (in fact, it would generate more waste that would need to be reprocessed, generating even more pollution).

Remember the 3Rs ? The 1st R is REDUCE, not ''replace stuff every 3-5 years to get slightly less eletric consumption''. It is kind of the point of the Permacomputing movement the OP mentioned: perma comes from perma-nent, make computers that last much longer lifespans than the current system. If people could repurpose old PS3s and Xbox for playing indies, and bigger games we demaked to it, people could keep using the stuff and buy less.

A Few texts for inspiration: https://solar.lowtechmagazine.com/2020/12/how-and-why-i-stop... https://www.iltascabile.com/scienze/sostenibilita-digitale/


> Like your example of a new smartphone or new steamdeck replacing the old Xbox Original: it is almost certain that the electrical consumption gains would not compensate, in terms of total energy and resources spent and pollution made, the discarting of the original xbox

Citation needed. We're talking about a huge difference in electrical efficiency.


The “embodied energy” of a new tablet like a Steam Deck is estimated at roughly 1 GJ, which is ~275 kWh. Original Xbox draws around 100W, so you’d need to play for more than 2000 hours to get anywhere close to the energy cost of creating a new device.

https://energyeducation.ca/encyclopedia/Embodied_energy#:~:t....


That's 500 4-hour days of gaming. I imagine a large number of gamers would easily do more than that over a few years of console ownership, so I imagine a large percentage of devices did use more power than the embodied energy.


2000 hours is very possible, I have 1000+ hours in single games, let alone on a single device with many games.


People ignore the energy and scarcity of the materials involved in creating the hardware. It's like recharging a car battery with power from a coal plant.


Charging a car with 100% coal fired electricity is about as dirty/clean as driving a hybrid. https://www.epa.gov/greenvehicles/electric-vehicle-myths#Myt... https://www.fueleconomy.gov/feg/Find.do?action=bt2

The most coal intensive region of the US is 67% coal.


Instantaneously that may be true, but what about factoring in the environmental costs of manufacturing, including mining the raw materials and transporting the completed product (mass) to its final location?


Worst case, the EV is only slightly better. Typical to best case, the EV is 2-4X better.

https://www.iea.org/data-and-statistics/charts/comparative-l...


You're now talking about the entire life cycle. I'd be interested to see how many EV drivers today are expected to keep their vehicles for that long before moving on to flashier, longer-range, etc. vehicles before they reach EoL.


Why wouldn’t the entire life cycle be the most important thing? As long as the used car market doesn’t become so saturated that good cars are getting scrapped, or everyone starts buying multiple cars just for fun, I don’t see how the duration of initial ownership matters. If anything, I thing a lot of people depend on the used car market. If everyone likes their EV so much that they never sell it and drive it until it dies, the used market will dry up and some people may not be able to afford cars.

As an anecdote, my car (ICE) was owned by someone else for about 6 months before I bought it used. I’ve been driving it for the last 16 years.



This isn't an issue. A lot of us who mod old hardware, etc... Once we get the project working, we'll play the game for like 10 minutes a few times a year at most lol.

Can't wait to fire up my 128mb ram modded og xbox today, to test the unreleased debug build of the need for speed game mvg dumpped yesterday. I'll probably play it for 10 minutes before I pack up the console again.


The typical modern gaming PC uses a lot more power than the original xbox. Yes maybe it's more efficient because it's doing "more", but in the end it's one person playing a game.


> But my point is, running ond old HW is probably counterproductive if you only value ecology.

Do you have a calculation for that? It's not entirely clear that this is the case if you factor in that the old hardware already exists and new hardware needs to be produced.


I will try to answer later with actual math, though a commenter above did a rough estimate. I would think it pays back relatively quickly. Moreover, this approach cannot really scale as old hardware and parts is scarce, and using it at a larger scale would make it scarcer (due to more normal failures). That's if you look specifically at one kind of system, but I believe the real value is in making code portable across a range of low-power systems, including recent and old ones.

You're also looking at it from the perspective of not needing new hardware, but I already have both my phone and my Steam Deck.

Incidentally, I bought a Steam Deck in part because it was cheaper than a GPU upgrade for my desktop PC, while being more powerful and efficient than my current setup. My PC has been collecting dust as I boot the same disk on my Steam Deck, at 1/10-30 the power enveloppe. As an added benefit, I don't have to turn this high-power system on while it's 35C in the room.


Since i wrote from a more abstract perspective, a systemic perspective, i am looking in the perspective of Reducing the rate of consumption for computing, and i feel the electrical consumption factor is a case of missing the forest because we paid too much attention to the trees. Too many state and NGOs lean into that.

The actual math of concrete examples we can come up will not change the underlying fact that consumerism fueled by corporations will always trump over whatever perceived or real efficiency gains, and i do not agree it ''pays back relatively quickly'': even the favourable example of replacing an Xbox Original for a Steam Deck demanded at least 2000 hours for the electrical consumption to match the incorporated energy, but this still had to incorporate whatever is needed to reprocess the xbox as the new trash it became (recycling and discarting). What will the math look like in the future ? because over time, the tinier processors demand more and more energy and resources to manufacture, over the older ones. How many hours of use will the (presumably) more eletricity efficient PS6 demand to offset the PS5 it will be set to replace ?

It does not matter if the Steam Deck, which is subsidized by Steam like almost all consoles and because of that it is cheaper for the end-consumer, consumes less electricity, it still made you pretty much discard a fully functional and capable computer and buy another one, a computer that will degrade with time and have less lifespan, that could have continued in use with a technically possible upgrade.

I feel a computing culture that sees normal to discard functional computers every 3-5 years because of minutiae like slightly less eletricity consumption or even more facial hair in characters will never really be sustainable. Eletricity consumption is being solved with renewable energy, hidro and nuclear , but the rate of material and natural resources consumption, and pollution, of non renowable stuff, is not being tackled.


No, I think you miss the DNA of the point ;;

We should have a digital-DNA-Lineage-for [CODE, GAMES, APPS] etc...

Where in 100 years, we can follow a digital evolutionary time-table-mind-mad that routes us through all the code, apps, games that got us [HERE]..

And it will connect logic of thought and problemsolving through generations.

This is a thing we should through a (NON-HALLUCINATING) AI at?


Let me know when you've built that non-hallucinating "AI" and shown that it cannot hallucinate.


Serious q - do you think all AI hallucinates


> I imagine it would be much more straightforward to port pretty much any indie games to consoles like Xbox original onwards, PS3 onwards, Wii onwards, maybe Windows 7 average desktop and notebooks (lots of indies already use older direct x and are compatible with windows 7 ,

Not a game developer, but given the lack of ports between current gen gaming systems I would assume that it is not straightforward. Sure, a game engine will magically pump out your game for different backends but even supporting Vulkan and Metal results in much gnawing and mashing of teeth (and a lack of games on Apple hardware).

Then there is the developer ergonomics. I know that I hate having to write code to maintain compatibility for even 5 year old standards. Each GPU and game engine is also a unique clusterfuck of incompatibility and subtle bugs that crash the shit out of games. If you want to support that old hardware, you will need to test on the actual hardware. Why bother with all that when there is no money in it and your team just wants to move on from a project that already took 5 years of their lives to develop?

Forward compatibility is something I strongly agree with but backwards compatibility is a logistical nightmare.


Forward compatibility is promising. - The computing systems are kinda standardized now, with consoles and pcs using X64-86 architecture, Xbox using a optimized windows os, and PS4 (almost certainly PS5 too) running BSD. Industry standards would bridge the gap even more, like making open software mandatory (everyone just incorporates their code). More companies investing in FOSS like Vulkan instead of the proprietary ones would be helpfull too. - The proton software on Linux makes a compatibility layer between the game and a newer system, and you can choose an older version.

I think we could eventually just leave the ''XYZ Game of the Year'' v.2.1.4 and never touch it again, and future gamers would at most have to select the proton layer version and vulkan-directx-other game engine version of the game release time, and it could be automatically done in the instalation.


This demake is an additional game. Seems like it will just add to the energy load required to run a computer programs. Which I think is fine, frankly. Perhaps some people will play it instead of portal but even still there is the overhead of developing it. I guess if we cared about ecology we'd shut down more game servers faster.


To 'save the planet' you want as many people playing video games, watching TV, or arguing on social media as possible.

If they're doing those things, consuming digital entertainment (eventually powered by renewables), then they're not out in the real world, travelling around using fossil fuels, consuming physical products, using up physical resources and emitting CO2.

Pretty bleak future though.


Or simply less people, busy doing what machine can't, with a bit less free time to spare. It's as bleak if we put ourselves in the shoes of the humans who wouldn't exist, but not that bleak for the ones who would...


Our free time is likely dwarfed by the labor spent on inefficient means towards inefficient ends if we're going to this level of analysis though


You raise an interesting question: how many people would you be able to bus how far into nature to spend how long with zero electricity consumption to make it net-negative compared to the consumption incurred in the course of their habitual lives?

My naive orders-of-magnitude guess is ~20 people in a bus going ~100 miles (each way) would only need 2-4 days before the net goes negative.

It's kinda crazy how much compute is dedicated to streaming HD video or serving an endless scroll of Instagram.


Those people out in nature are likely to be doing physical activities, even if just walking, and those extra calories will need replenishing too


> PS3 onwards

By most accounts the PS3 was not fun to write software for due to its unusual specialized processing units.


I was thinking the same - ecology. People need to have 3d Tetris with raytracing while there are millions of hours of old games to be played through. There are few titles that are avant-garde and IMO better in 3d, like GTA VC/SA, Minecraft is revelation of a sandbox game. But otherwise we don't need such good graphics and DLC, when we want story and playability. Recently we played with kids Pokémon fire Red - the world is huge and full of secrets. But I guess this only applies to me and my kids, because other kids I know (my brother's e.g.) don't like pixel games at all


The PS3 sucked. OTOH, targeting at most GL 2.1 for a game would be one of the best tools to avoid buying new machines.


By far my favourite demake of Portal is this one: https://www.ticalc.org/archives/files/fileinfo/451/45101.htm...



There's also a 2D demake for the C64: https://www.youtube.com/watch?v=pK140z-ZX4Q


Playable online at the Archive:

https://archive.org/details/portal_v1_ntsc


Cool.

Here's one for the Apple II [ http://www.deater.net/weave/vmwprod/portal/ ]

and the C64:

https://tasvideos.org/2122G


I think this Apple II version of Portal is the best thing I have ever seen. Is this the same guy who did the Apple II version of Myst?


yes


Is there any guide to getting this running on a real N64? I have an everdrive.


I went ahead and built the newest version of the ROM into a .z64 (happened to have a copy of Portal on hand). Here's a magnet link for it if you just want to use it:

magnet:?xt=urn:btih:5FAD6DBBF02D39AA40062D7F0F498F3F341F8DB3&tr=udp://tracker.opentrackr.org:1337/announce


Playable in the browser: https://www.neilb.net/n64wasm/


thanks! it worked on the house n64!


Lambert has also created new homebrew works that run on original hardware with the N64 SDK. His team has always been a finalist in the yearly jams.

[1] https://teamultrarare.itch.io/telocation-gemini

[2] https://teamultrarare.itch.io/mission-lost-control

[3] https://teamultrarare.itch.io/styx


Looks like you need a PC copy of Portal:

https://github.com/lambertjamesd/portal64/releases

(There's some older releases below as a ready-to-go .z64 rom image, though, which should be ready to run on an Everdrive)


Is distributing it as a patch of `portal_pak_000.vpk' meant more as a form of "DRM"? Because I doubt that BPS can manage to reuse a lot of bits from a file meant for a completely different version of the game...


My guess would be that it uses some data, probably voiceover audio, from the original game, and extracts them from there rather than putting directly copyright infringing files up on Github?


From [1]. " A demake is a video game remake on an older platform, or one which converts the game to an older graphical or gameplay style."

[1] https://en.wikipedia.org/wiki/Category:Video_game_demakes


This works on the new N64 FPGA core for the MiSTer


Sounds like a really cool project, but I would love to see some screenshots or videos.



Latest demo video by the creator, mobile friendly: https://m.youtube.com/watch?v=OCBHdgbickE


I so wish they remade the Portal games for 64-bit macOS!


I was just watching a video about this, it's pretty cool and honestly impressive that it could be done on N64. They don't even have Half-Life 1 on N64, which makes me wonder if recreating Portal 1 decently in Goldsrc is possible.


Sven Co-op got portals working on their branch of the GoldSrc engine but I think they abandoned development because of FBO issues.

https://www.youtube.com/watch?v=Lbniay4bfJU


The got tomb raider one demake running on a GBA recently. Anything is possible


The GBA it's just a tiny step down from a PSX.

The N64 can barely run Quake for PC. And SCummVM.


> The GBA it's just a tiny step down from a PSX.

The GBA doesn't have any 3D graphics hardware, yet it renders that Tomb Raider game with 3D graphics in real time using a software rasterizer, on a CPU with half the clock rate of the CPU in the PS1 and with a fraction of the RAM of a PS1. So no, this is not "just a tiny step down from a PSX".


PS' GPU barely counts as a working one. So-so.


Not having seen the info in the post. Is this a downport of the Half-Life engine, or using the Portal art in a different engine, such as the Goldeneye engine?


Would probably make it liable to DMCA, but I wish they could have the rotating 'N cube' passing through two orthogonal portals on boot up.

Looks like a great project. I'm going to have to give it a go on the emulator.


He should publish an emulated version on steam with an option to download the rom through it. Valve usually lets others use their IP then.


I suspect it's not Valve that are the cause for DMCA concerns.


Maybe an option to provide your own ROM with that asset would be a work around?


Pretty awesome project, cool to show what can be done downscaling and running a customized game engine with the original assets like this. Cool!


How long before versions are distributed ready to play?


Hopefully before the project is taken down due to a DMCA notice!


By what party? Valve is famously community-friendly.


I'm sure GlaDOS would give it a try... You are trying to kill it after all.


Nah, she's made her views clear on the matter.

    I'm not even angry
    I'm being so sincere right now
    Even though you broke my heart and killed me
    And tore me to pieces
    And threw every piece into a fire
    As they burned, it hurt because I was so happy for you

    Now these points of data make a beautiful line
    And we're out of beta, we're releasing on time
    So *I'm GLaD I got burned*; think of all the things we learned
    For the people who are still alive
(emph. mine)


https://github.com/lambertjamesd/portal64/releases

You need a file from the official Portal game, then it's an easy single step with an online tool to generate the demake ROM.

edit: or see bhaney's download link on this thread.


[flagged]


A lot of times a demake is a challenge. Video game technology has evolved significantly, and being able to take a (relatively) modern video game and remake it on much older hardware while still having most of the game's original features is an impressive feat.


[flagged]


The developer wouldn't be as talented if he didn't take on such challenging projects


Exactly.

I’ve spent many thousands of hours since my early teens messing around with retro games and gaming systems. I haven’t accomplished anything as “big” as this person, but I’ve gotten to work on some cool things, and through that process I learn so much more about computer architecture and low-level programming than I ever could through school or work. The time I’ve invested into that has paid off in job and educational opportunities that would not have been available to me otherwise.

A hobby project that is both fun and hard is in my experience the best way to gain experience and develop my skills, regardless of whether it’s “useful”.


Is the purpose of life to only work on "useful" things? I ask that genuinely.


No that’s fair. But “de”-make is going backwards. If that’s what you like that’s great more power to you but it feels opposite to what we usually do with is build new things. But I guess it could be argued he is building a new thing even though it’s an old thing on an older thing


I think there are two points here:

The first point is more-or-less: the OP should be using their talents for something "better". I don't think this is a really interesting question.

Them more interesting point is: "is this project useful?"

The end product likely won't directly serve some "useful" purpose, like making money or even being played by others.

On the other hand, building such a thing is _likely_ going to teach the poster a large number of useful skills that will serve them for "useful" projects.


I don’t think that’s why he’s making this and sharing it is just to learn stuff, but maybe I’m wrong.


By your logic, why bother playing sports? Why watch TV? Why play chess? Why build model airplanes? Why should anyone have any hobbies at all? Only work, no play.

This is fun for him. And it is intellectually challenging difficult work. It improves his problem solving and technical abilities but obviously he is enjoying it as a hobby.


Woof, glad we have you around to tell us what to do with our lives. We'd be lost otherwise!


Life isn't exclusively about being useful. Challenges like these are great for people, as it gives people a goal to reach that isn't work related.


This person thinks this is a good use of their time.

Why do we care what you think? You clearly don't care what person putting in the hard work thinks.


That’s fine. You don’t need to care what I think you can move along to the next post. I am legitimately trying to understand the concept of a “de”-make which feels to me like going backwards. If that’s his passion that’s the only explanation he needs but I’m allowed to ask the question.


and here you are commenting on HN. Nobody asked for your input on how others spend their time


It’s freedom of speech and my opinion. You can disagree and that’s fine


Pressure relief valve. People can't run at a 100% duty cycle for very long or they burn out. ASK ME HOW I KNOW


How do you know?


I BURNED OUT

it was fun

19/5 stars, recommended


Sounds like you want to hire them?

Or not pay them, and tell them what they can work on?


Openly opining on the (harmless) ways other people choose to spend their free time is generally seen as gauche.


Do you think it's a waste for a chef to make scrambled eggs to enjoy with his family?


CTRL+T, "demake", Enter

That was a quicker solution to your question than posting on here.


Yes and yes. It’s a hobby.


> demake

Maybe the author will explain what a “demake” is.

Nope, he doesn’t. No introduction section, just straight into compiler instructions. You have to make people care about your project, and right now I don’t.


If there are many Wikipedia articles, and Youtube videos with millions of views on a given concept, at what point is the burden on you the reader to already know the concept or be able to look it up and learn it quickly?


I mean, I've never heard of the term either but the context of the title alone was enough for me to figure it out.


A "demake" is just a spin on "remake". Instead of remaking a game to be newer and "better", you remake it to be "older".

Edit: adding that most demakes specifically involve remaking a game on much older hardware.


> Maybe the author will explain what a “demake” is.

First result on Google search for "demake".

> You have to make people care about your project

No he does not. This is a personal Github repo. A non-commercial hobby project. No one gives a f*** whether you care or not.


just curious, who made you the boss of what other people "have to" do with their hobby projects? seems like a big responsibility




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: