Hacker News new | past | comments | ask | show | jobs | submit login
S0lly's Cellivization – Civ 1 Clone in Excel (s0lly.itch.io)
200 points by doppp on Sept 8, 2019 | hide | past | favorite | 23 comments



This sort of thing is why I consider Excel a programming environment for non-programmers, likely the best ever created. Of course most users will never use it to it's full potential (which might well be boundless..) but it nevertheless is simultaneously powerful and user friendly in a way that lets people who are ostensibly non-programmers perform novel computations that the creators of Excel never anticipated. Many consumer applications, particularly modern ones, keep their users on rails. Predefined UX paths that execute pre-defined algorithms on data provided by the user. The user is typically hopeless to solve any problem not explicitly anticipated by the creators. They can't extend the functionality of the program simply by interacting with it. Conversely a program like Excel blurs the demarcation line between user and the developer by empowering the user with a novel graphical programming language (and tricking people who think of themselves as non-programmers into learning how to use it.)

Sometimes I wonder if spreadsheets had not been invented until today, could you convince the gatekeeping UX experts employed by major tech companies to let you bring such a product to market?


> Many consumer applications, particularly modern ones, keep their users on rails. Predefined UX paths that execute pre-defined algorithms on data provided by the user. The user is typically hopeless to solve any problem not explicitly anticipated by the creators.

I like to describe this is the difference between “tools” and “solutions”, in the sense of a company saying they “build solutions”. Most of these solutions are frontends to a database with views hard coded based on requirements during acquisition. In my place of work, it’s common to copy the data from the “solution” into excel so you can manipulate it in newly required ways. Excel is a tool.

I don’t think companies build short sighted solutions for lock-in reasons primarily. I think they and the acquisitions team think little of the office workers’ problem solving abilities. So they make “solutions” that try to let the office workers pile in data and pull out answers without thinking.

I think the answer is more Excel-like tools. Just about any office worker could learn to query a database if that became mainstream (and there was an intuitive interface.) I bet you could design an everyman API interface, too, that a non-programmer could get proficient at. (I haven’t used Apple Shortcuts but it sounds like that’s what they’re trying the design.)

If I ever get into a position in a company where I could test these ideas, I’ll probably try to pilot new tools for normies and see if they take off.


> I bet you could design an everyman API interface, too, that a non-programmer could get proficient at.

https://en.wikipedia.org/wiki/Yahoo!_Pipes came pretty close, IMO.


> Just about any office worker could learn to query a database if that became mainstream

How is Access doing these days?


Still in use, was surprised to see it come along in the most recent Office update.

Someone described Airtable as a "modern" Access and I can't unsee that now.


I built a full CRM for my wife's tutoring business like almost 2 years ago in Airtable. It only took a couple of hours and it's powered her business ever since. Airtable is an incredible tool.


Given this, have you or anyone else heard of a "programmer's spreadsheet" that allowed for more advanced computations? I know that the beauty of Excel is that it is ubiquitous, but there's a lot of historical baggage that could be cut out and it could be integrated with a more proper programming language (and potentially SQLite or another database as the backend).


Maybe org-mode in Emacs? I know that can function as a spreadsheet of sorts, and I expect it probably gives you access to the full power of elisp. (I have minimal experience with using org-mode in this manner though.) This gets a bit further away from the everyman-programmer ideal embodied by Excel though.

I have been personally experimenting with user-extensible software backed by sqlite designed for organizing files by tags. I've found that given the right primitives, the right DSL, extending the program to create novel queries is a lot of fun and possibly even approachable for 'non-programmers'.


User-extensible software to organize files, based on SQLite? Have you looked into Fossil SCM? It’s a version control system built on SQLite, but it has additional features like wiki, forum, scripting , and an extensible ticketing system.


I'm familiar with fossil albeit not the technical details.

Mine is not a version control system and it doesn't actually store files. Rather, it maintains an association between filenames (absolute paths) and sets of tags. There are some tradeoffs with such a scheme, but my priorities were that it should be non-invasive and keep filesystem access to a bare minimum. Something that you can use to organize a cluttered nfs-mounted NAS without actually moving the files (in case you later decide the system is not for you, everything is in the same place as before you started.)

It's basically a relational 'card catalogue' (https://en.wikipedia.org/wiki/Library_catalog)


Resolver One¹ /was/ an interesting take on a programmer's spreadsheet. Reading about it again still feels a little exciting.

I remember loads of people talking about it at PyCon, ƛdon, and -- I think -- AngloHaskell(Haskell confs often feel like ~50% quants to me). Don't really recall anyone actually using it for real work though.

1. https://en.m.wikipedia.org/wiki/Resolver_One


I don't know how well they live up to it, but my understanding from advertising is that AirTable and SmartSheet describe themselves as doing this.


Is C#.NET not a proper programming language?

The worst thing about excel is the standard Excel library, and the perlishness nature of the UI's "render text into data types by heuristics, not simple consistent rules"


Doesn't any data frame interface in Python/R/Julia fit the description? (pandas, data.frame, data.table, dplyr etc.)


The pandas python library? Its like excel, with no GUI, and extra features.


At my last job billions of dollars of revenue flowed through an ERP that had a problem: onboarding a reseller in it was a tedious, error prone process that if done improperly would cause the same system to grind to a screeching halt. Apparently a software company realized this and built a series of Excel sheets and macros that handled everything: a customizable interface if you wanted, bulk import, full validation and export - all in Excel.

It was probably the most loved part of the Oracle ERP implementation because it worked for everyone.

Excel files on a network drive will always be the lingua franca of business.


Okay... Now that's pretty spectacular.

The person has even written a ray tracer in excel!


"This is my first game in Excel, with the first iteration (v1.0) created in just around a week"

Okay, that's just wickedly impressive. Obviously not their first bit of Excel programming overall but still really, really impressive.


When LibreOffice can run this, then I know that they have won.


is 2019 the year of the Linux desktop?


This is great.

The excel sheet weights in at 8mb, while the original dos version only takes up 2mb.

https://www.myabandonware.com/game/sid-meier-s-civilization-...


Itch.io is looking very nice! Does anyone know if it's still written in lapis?


Which programming language is mostly used for doing games on excel?

C#? VBA?




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

Search: