🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

My first real game (since 20 years)

Started by
3 comments, last by wurstbrot 6 years, 4 months ago

Or:

"How I almost accidentally created something fun to play in just four days, after many years of starting and never finishing countless overambitious projects."

Hello everybody!

Today I'd like to share with you something that I'm currently quite proud and even more just surprised of.

I see game development as a hobby of mine since a long time. The very first programs I wrote more than 20 years ago were games. They were very simple and very badly implemented, but still, they were games, and even finished ones. Back in the day, I completed a tic tac toe game, a pong clone and a simple 2D spaceship shooter (and also started a few things that I never finished - yes, even back then...). Later, my focus of programming interest shifted to other fields, but I returned to the hobby about 10 years ago. However, something very problematic had happened in the meantime: I became a much better programmer, and so my expectations towards myself and my projects rose significantly, and unfortunately they rose too high. While at least I was never unrealistic enough to have a "I'm gonna make the next World-of-Warcraft-meets-GTA-5-but-with-better-graphics MMOFPSRTS" phase, my projects were still too big. I even realized this early and stepped down a bit each time, but never enough. The result was a long list of started but sooner or later abandoned projects in different stages. Some never when further than a few concept thoughts, some progressed quite far, but none was ever finished. I think that a big problem was that my projects never reached a state where they became true games in the sense of something that provides a challenge and is fun to play. Each time, there was at least one part (usually multiple) that was too big, and without a foundation that was already enjoyable for the player, I became demotivated.

Until just right now. At the beginning of this week, I decided to start something really, really, really small. Something that is far below my theoretical technical capabilities, but ultimately doable in a time frame short enough to prevent that dreadful loss of motivation. At least I hoped so, and I was right. To be precise, the actual project wasn't *entirely* new, but I scaled down an older idea even further and reimplemented it in Kotlin, a very nice and productive language that I had just learned a couple of weeks ago. And here it is:

 

A graphically minimal retro-style 2D sidescrolling shoot'em'up with the working title "Vectro: Pathfinder".

"Vectro" is a portmanteau of "vector" and "retro", and "Pathfinder" has two meanings here: First, it describes what the game is about: Finding your path through an asteroid field. Second, it describes the purpose of the project from a technical point of view: Developing technologies and concepts for an eventual larger game which might be an extension of the current gameplay, or something a bit different. I have an idea for this, but that's something for another thread. Also, I deliberately try to avoid planning ahead for this as much as possible for the aforementioned reasons.

Finally, a few words about the technical side:

As already mentioned, the game is written in Kotlin, and it uses LibGDX for input and graphics (currently ShapeRenderer, maybe someday changing to pure OpenGL, if that makes sense). The foundation is a self-written ultra-light-weight entity component system (plus a just as ultra-light-weight event bus), which results in a very small, elegant and flexible code base with loose coupling all over the place. I have used the ECS pattern in one other (unfinished) project before, but I'm still sort of a beginner with it, and I'm very fascinated by its power. There's almost zero duplication of logic, features and behavior can be added, replaced and combined incredibly easily, it's a pure pleasure to work with. All entities in the game, from explosion particles to the multi-segment "cannonworm" enemy, are defined in a data-driven way, and I know that I have only yet scratched the very surface of the possibilities. In the case that my motivation stays as high as it is right now, and I keep working on it, I'll keep you updated on the further progress.

In any case, I have one big advice for everybody who, like me, frequently deals with motivation issues in hobby game development due to overwhelming tasks: No matter how much you know, start with something really really small. The feeling of accomplishment and the joy of actually playing your own creation, no matter how simple it is, is wonderful.

 

Advertisement
4 hours ago, wurstbrot said:

due to overwhelming tasks: No matter how much you know, start with something really really small.

The worlds best advice right here!

So many developer quit because they loose momentum as they realize how difficult game development is. Building a small game like this helps refresh the concepts learned and gives new hope.

 

Your game looks amazing really well done.

I like how you mentioned the part about becoming a better (more knowledgeable) programmer and that essentially causing you to go too big in scope and what not. I've had a similar experience - I recently tried to remake a game I made in high school, a game I finished the core of in a few days, and polished over the course of a few weeks. I never finished the remake. I "know too much" now, and it took away from just making the damn game.

Good to see you were able to finish a project. I'll check it out!

Hello Ninja and masskonfuzion, thank you for your replies!

And also thanks for the compliments :).

masskonfuzion, what exactly hindered you in making the remake? If it was the same or very similar on the outside, I assume that it should be much easier to do now. Did you want to use bigger technology, something like 3D, where creating just one proper model takes longer than writing the entire original game? :D .

I now believe that the iterative approach with a start at a very very low level might have a lot of potential even for bigger projects with a defined ultimate goal. At least for me, I think that the key is to have something playable and fun as soon as possible, so that you basically have a more or less "complete" game (almost) right from the beginning on. This also conforms with the Scrum philosophy, where you should ideally have a product that is ready for release after *each* iteration step, no matter how early.

Doing this consequently would mean even a lot more work than what is required for a "normal" large project, since you'd inevitably create a ton of things that will eventually be replaced by something newer/bigger/better, but if it helps to keep the motivation high, it might be worth trying.

For now, I keep working on Vectro. Even my girlfriend likes to play it, the first time ever for something I created ;). I added local multiplayer support yesterday and we played together, it was a blast!

This topic is closed to new replies.

Advertisement