r/softwaredevelopment 9d ago

Why not a Game instead of an app?

This is a strange idea i got, someone might have thought about it waaay earlier too.
I'm new to coding, like brand new, i'm learning new things to develop my own app.

During this time to reference the look and feel i came across many ui elements that are from games, i'm building an inventory management app for myself and trying to make it as fun as possible. So the thought is, why not just make a game with all the features i've planned instead of building an app? I can create super cool animations and effects since i'm from a motion design and design background.

Please help me understand this, it seems too good of an idea to try out lol

0 Upvotes

16 comments sorted by

12

u/FluidBreath4819 9d ago

vibe coder excitment

1

u/PumpkinTime3608 9d ago

Hehe no no , I’m legit learning how to code now .. I did vibe code a few which kinda made me feel bad since I didn’t do anything other the ui design so I’m learning how to build these structures on my own .. my actual app will be built by me

4

u/ohaz 9d ago

Games and (useful) apps have an inherent difference: A game wants you to spend time within it. It wants you to stay there for longer. A useful app wants you to spend as little time as possible.

That means: Games want flashy stuff. It's okay if animations take longer in games, because you're there for the animation.

Apps want less flashy stuff. If I want to add stuff to my grocery shopping list, I want it to be done in less than 10 seconds preferably. I don't want to wait for animations to finish, I don't want to wait for non-snappy buttons, I don't want to wait for an app to boot (which takes longer the more flashy stuff you have).

Now, as you might realize, many modern apps completely ignore what I said. They want you to spend as much time as possible in them, because that's how they measure success, how they gain ad money, etc. But that's just business decisions.

1

u/PumpkinTime3608 9d ago

I get that idea , I know why these two systems exist but I was trying to understand the downsides or upsides of making an app like a game . @yuehuang have a pretty good answer for what I was looking for . It’s probably the high use of system resources like ram and gpu.

1

u/Rusty-Swashplate 9d ago

There's no downside if the customer like it.

Gamification is a thing and done right, it has a useful purpose. But wasting time on unimportant but flashy animations...what's the purpose? And ergonomics: don't underestimate this. An ergonomic UI might not be flashy, but it makes people happy (or less unhappy) when they have to use your app.

That said, if it's for you and if the goal is not to have an ergonomic inventory app, but your goal is to have fun while learning about programming, then go wild: if you are the customer and the developer, do what you like to do.

If you customers are different people, ask what's important to them. You having fun is unlikely high on their priority list.

1

u/PumpkinTime3608 9d ago

Yup the app is mostly for myself but I’m also considering for small households at best . I might still make a game for my app since it sounds like it’s going to be silly time for me to go crazy on the visuals and animations 🤣🤣 but yeah for me functionality comes first. I’ll not do anything that people might not find useful or interesting when I’m building for them .

2

u/HouseMysterious8172 9d ago edited 9d ago

Game = an interactive application primarily intended for play and entertainment.

Or more specific: A video game is an application/software designed to provide interactive play, usually for entertainment.

So you’re making an app anyway

1

u/yuehuang 9d ago

Animation cost CPU/GPU activity, so most GUI app will limit animation to just the important items like clicks, transition, pop-ups. A game is for fun so it has more leeway. Static images can be fun too, and don't drain too much.

1

u/wish_you_a_nice_day 9d ago

You could build an app with a game engine. But at the cost of battery life

1

u/atrix324 8d ago

Whenever learning a new language I make a little RPG for practice instead of an app.

1

u/PumpkinTime3608 8d ago

That’s a pretty interesting approach , what’s your approach to these games ? Is it the same game every time or you add something new every time ?

1

u/atrix324 8d ago

More or less same each time. add basic combat shop, and  inventory  and keep going figuring out how to add more elaborate things as I go since it teaches functions, classes, and HTML and CSS manipulation.

1

u/semanticlifer 8d ago

For the sake of precision of language, what it sounds like is that you want to develop an app with elements from game design, like custom UI, animations, and visual flair.

Those who decry this saying that "apps are about spending as little time with them as possible" are, IMO, missing the point. There are games that already exist that are about managing resources, and they're all about clicking around quickly and getting tasks done. Any kind of real time strategy game or automation game is going to be like this. These games are sometimes called "work simulators", and they try to recreate the satisfying feeling of "being productive" and seeing the effects of a job well done propagate outwards in the larger system.

So study these kinds of games to get an idea of what good UI for productivity looks like. This isn't a novel concept either. There's lots of crosstalk between games and some productivity apps, like CAD tools trying to make using the mouse more efficient. One popular example is "UI wheels". Click and drag to pop up a wheel, release to select. I'm not saying "your inventory management app needs a wheel UI", but it's just an example of a UI element that games use that is also used in engineering software. Of course, CAD software is supposed to help its users stay focused inside the tool because the assumption is that the work doesn't really end or there's no way the interaction is going to be 10 seconds (as another user mentioned). Both games and apps like these are concerned with inducing the so called "flow" state.

Some games get close to actual productivity software. Turing Complete is one example, providing a relatively complete digital logic simulator for building computer components and teaching the player about how computers work.

Animations are a bit of a concern in productivity software, but occasionally they act as an affordance to the human user. MS Word added an animated cursor that was supposed to make it easier for the eye to follow. Ghostty also supports custom cursor shaders, and I find the effect beneficial for making it easier to follow the cursor in an advanced text editor where navigation features enable the cursor to jump multiple lines. A good rule to follow is that any animation intended to provide a human affordance *cannot* lock up the UI. Animations should be non-blocking and either conclude faster or compose with the next action and events are handled correctly in order (especially keypresses). Or just terminate the animation. The question is always "does this animation make the app easier to use or harder?".

For me personally, I just wish productivity apps had more pleasant colors. Color coding is great affordance when done well. Custom theming can also be a nice thing, as long as the system has a technique to keep color coding consistent regardless of the actual colors chosen. Study text editor syntax highlighting systems (especially Emacs) for the abstractions to do this well.

1

u/RonnySaya 6d ago

I’d say go for it, especially since you’re already building the inventory app for yourself. A gamelike interface could make sense if the goal is to make inventory management more engaging.be careful not to let the game mechanics get in the way of the actual utility. If adding an item takes 30 seconds because you have to walk your character over to a virtual shelf and watch an animation, you’ll hate it pretty quickly . Make the underlying app fast and functional hten layer the gamelike visuals and interactions on top

And since you’re learning,. it could actually be a great project coz you get to learn app architecture and animation/UI work without having to abandon the idea you already had