Giter VIP home page Giter VIP logo

Comments (10)

crgimenes avatar crgimenes commented on June 15, 2024 1

Hey!
I have good memories of that cat and ended up writing my version.
I'm collecting material to create a nice README.md with references.
Please have a look https://github.com/crgimenes/neko

from neko.

eliot-akira avatar eliot-akira commented on June 15, 2024

Hi Evert,

Thanks for letting me know! No problem about the images and attribution - I think we can consider this whole Git repository as public domain, except if there's a specific license for each Neko implementation.

I enjoyed reading the article, and looking at jneko. I especially liked the part about how you extracted the image data from .xbm format. I had to do a similar deep dive with .ico format - I wish I had written down the details.

"Software pet" is a fun concept, and I feel like it has creative potential - maybe as part of a bigger "software garden". Even better if the gardens could be interconnected across websites somehow.. I love that it's pixel art, and an animated character like in a game.

That reminds me, one of my hobby projects these days is a custom version of MicropolisJS, which is based on the original SimCity Classic code, ported over several generations/platforms until it reached the web. The heart of it is similar to Neko, as a state machine with behaviors and animated icons.

from neko.

evert avatar evert commented on June 15, 2024

Thanks for letting me know! No problem about the images and attribution - I think we can consider this whole Git repository as public domain, except if there's a specific license for each Neko implementation.

Nice! seems to be in the spirit of Neko =)

"Software pet" is a fun concept, and I feel like it has creative potential - maybe as part of a bigger "software garden". Even better if the gardens could be interconnected across websites somehow.. I love that it's pixel art, and an animated character like in a game.

Honestly I've been thinking a lot about how I could combine something like this with Hypermedia. Maybe for starters a tamagochi concept as a hateoas endpoint :P

That reminds me, one of my hobby projects these days is a custom version of MicropolisJS, which is based on the original SimCity Classic code, ported over several generations/platforms until it reached the web. The heart of it is similar to Neko, as a state machine with behaviors and animated icons.

It's wild because I've also looked into this. I have this folder sitting on my computer since February to extract the assets:

image

And another one from the last time I had this idea in 2014.

My wild idea was to make a version of this game with an extremely large map, and let people build their cities in a shared world map.

But I keep giving up because it's hard to work on things for a long enough time + I'm not good enough with Canvas

Definitely interested to hear about your progress!

from neko.

eliot-akira avatar eliot-akira commented on June 15, 2024

how I could combine something like this with Hypermedia. Maybe for starters a tamagochi concept as a hateoas endpoint

Tamagotchi as an API, yes I can see that. Like a "game server" where players can POST to create a creature, GET the current state of its life cycle, PUT actions like feed, water..

Another angle I'm thinking about is creating an actual little piece of hardware based on ESP32 with CPU, memory, WiFi/Bluetooth; and an e-ink mini-display. Something like:

esp32 e-ink display

It could run compiled Arduino code with a loop that maintains persistent state with wireless interaction.


While reading about the history of virtual pets, I saw this early version of a Japanese toy called Digital Monster.

tamagotchi-connection

Aww, I sure love the retro pixels.


Over the weekend I started organizing the code for my custom Micropolis fork.

https://github.com/eliot-akira/microcity

I figured out a way to load alternative tile sets, so it looks like a weird mutant city, haha.

The original codebase was quite difficult to customize, so I'm slowly taking it apart, so I can rebuild it how I want - especially the control panel, tools, zoom in/out, overviews..

Well, I see a good hobby side project is like tending a garden, it can take its sweet time to grow.

from neko.

eliot-akira avatar eliot-akira commented on June 15, 2024

Nice! Thank you for letting me know, @crgimenes. I'll enjoy studying your Go version of Neko - I'm only a beginner with the Go language, so I imagine it will be good learning material. Please feel free to use any of the information from this repo and my article.

I see, with the use of Go and Ebitengine, your version of Neko can be compiled to a wide range of targets, including as desktop accessory on various operating systems and on the web with WASM. It's probably the most cross-platform implementation of Neko. It's fun to see how the cat continues to live many lives.

from neko.

eliot-akira avatar eliot-akira commented on June 15, 2024

I've updated the README with links to new projects. Thanks! @evert @crgimenes

from neko.

evert avatar evert commented on June 15, 2024

😎

from neko.

eliot-akira avatar eliot-akira commented on June 15, 2024

By the way, I've really enjoyed looking at some of your projects (like curveball, a12n-server, oauth2-client), and also reading other articles on your site. Good stuff! Useful and educational.

My wild idea was to make a version of this game with an extremely large map, and let people build their cities in a shared world map.

I can imagine. I've had similar dreams where the shared world state lives on a central server, and everyone who visits the website/game connects via WebSocket; and each person can see and receive only a "slice" of the state at a time, within a limited perimeter and viewport, to make it scalable. Would be fun if the world was drawn in "isometric" style (like tilix and isometric).

from neko.

evert avatar evert commented on June 15, 2024

Thanks so much for checking my stuff out!

Actually since then I made something:

http://world.evertpot.com/client/index.html

I haven't worked on this in like 2 months (got distracted). But I got some of the ideas in. It's not very fast when you zoom out, but you can search for any place in the world and it will give you something.

from neko.

eliot-akira avatar eliot-akira commented on June 15, 2024

Wow, that is a large map indeed. I see every view of the map is generated by the URL endpoint /map, and it returns 10MB of data. I imagine that can probably be reduced somehow by viewport size, resolution, position.

I like when you zoom in, the map is made of millions of SimCity tiles, R for residential, roads, train tracks. The canvas navigation works, that's nice. I was able to zoom in/out, drag and move quite a distance to visit continents.

It makes me wonder, how to efficiently "run" such a huge game world simulation and communicate its state among users. It could even be distributed, so that different parts of the map are generated by other servers. And what if it's populated with intelligent agents that uses machine learning or large language models to communicate amongst themselves.. Another idea I sometimes think about is a user-scriptable world and characters, where people would write scripts that interact and create/destroy collaboratively.

It's sure fun to think about. Now I want to try building a scrollable canvas with shared persistent state among its visitors. Maybe with something like ShareDB or Yjs.

from neko.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.