Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (538)
Games in Android Showcase (132)
games submitted by our members
Games in WIP (600)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Making everything by yourself. And loving it!  (Read 1001 times)
0 Members and 1 Guest are viewing this topic.
Offline Hermasetas

Senior Devvie


Medals: 6
Projects: 2
Exp: 3 years


I do gamez, yes!


« Posted 2014-03-10 09:04:19 »

Hi all here are some things I have been thinking about for some time after reading a few topics on this forum.

I am currently making a game with LWJGL and I am making everything from scratch!
A lot of people on the forum is talking about "reinventing the wheel" and how you should use something like libGDX so you can get to making games faster.
I understand how people can have this opinion but I think that some of them forget that writing engines can also be fun! Smiley

For me personally I really enjoy writing low level stuff!
This is why I left using slick2D because I was not using any of the built-in functions.
An example being pathfinding where I found it really entertaining writing an A-star class from scratch.

I love learning all of the stuff included in creating a game! Displaying graphics, playing sound, making music, drawing custom textures, everything!

For some people it's about ego when they write everything themselves but for me it's for the fun of it Smiley
This does mean that I will probably spend 3 times as long to create my game, but who cares? It's just a hobby and hobbies are just about having fun Cheesy
Offline SilverTiger

Junior Devvie


Medals: 5
Exp: 2 years


がんばってください!


« Reply #1 - Posted 2014-03-10 09:37:26 »

Good to see, that I am not the only one with this opinion Smiley

On the one hand reinventing the wheel could be a waste of time, but on the other hand you'll learn a lot of things through reinventing the wheel!
I don't think it would be a waste of time, and if you learned how to build that wheel you still can take some high level api if you want to.

Now I've got to go, lecture is waiting Smiley
Offline Stranger

Senior Devvie


Medals: 9



« Reply #2 - Posted 2014-03-10 09:42:09 »

Yes, you have no need to reinvent the bicycle unless it is the pleasure itself.  Smiley

Anton
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Troubleshoots

JGO Knight


Medals: 36
Exp: 7-9 months


Damn maths.


« Reply #3 - Posted 2014-03-10 09:42:36 »

For the past month or so I've been using LibGDX and for the 3 months before that I was using LWJGL, attempting to create my own game engine. Though I wouldn't say that that 3 months was a waste, as I learnt a lot of the maths and the jargon, I would say that attempting to create my own game engine was a painstaking long, and in the end boring process. After switching to using LibGDX everything became much more fun as I'd actually started making a game.

In the end you'll eventually get bored. Have fun at the start though. Smiley

Why are all OpenGL tutorials written in Brainf**k?
Offline Grunnt

JGO Kernel


Medals: 95
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #4 - Posted 2014-03-10 10:33:09 »

Yeah I know the feeling. Working with LibGDX is a pleasure, especially for deploying both to desktop and android, but there's something very nice in building a framework yourself and learning in the process.

Offline JVallius
« Reply #5 - Posted 2014-03-10 11:08:13 »

When building a house, I don't care who made my saw and hammer. Maybe I could craft them by myself but it takes a lot of time from the house itself and I guess my saw won't be so sharp than one purchased from a store.

Nothing wrong with forging hammers as a hobby, though.

Offline Gibbo3771
« Reply #6 - Posted 2014-03-10 11:23:54 »

Nothing wrong with forging hammers as a hobby, though.

I always struggle to find my hammer, so perhaps this life style is for me.

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Offline StrideColossus
« Reply #7 - Posted 2014-03-10 11:25:55 »

Different strokes for different folks Smiley

If your interest is purely in creating a great looking game without getting too deep into the nitty-gritty of OpengL, LWJGL, etc. then using something like libgdx is a no-brainer.

If you do want to get into the nitty-gritty then crafting your own 'engine' is a great way to learn.

I'm definitely in the later camp.  OK so the stuff I build is purely for my own interest and will almost certainly never see the outside world, but as a couple of other posters have noted, it's a hobby.

That said I think the 'reinventing the wheel' point is still valid - I could (for example) write my own code-generated Java API from the underlying C-based DLL, but LWJGL does that, it's tried and tested, so I use that.  Ditto logging.  Ditto image loading libraries. etc.
Offline Varkas
« Reply #8 - Posted 2014-03-10 11:31:43 »

It's just a question of goals - if you want to make a game and focus on the "game" aspect, you'll want to use all tools and shortcuts which let you focus on game creation.

If you are interested in the mechanics of games, and not so much the game made with the machinery, you surely want to find out how to make such machinery.

Usually the former approach results in games, and the latter results in (game) engines.

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline Grunnt

JGO Kernel


Medals: 95
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #9 - Posted 2014-03-10 12:16:35 »

To use the house building analogy, there's different degrees to "doing everything by yourself", e.g.:
1. Build an axe from pieces of stone and wood. Cut down trees. Mine iron ore. Build a smelter. Forge nails. Forge hammer. Build house. Enjoy the result.
2. Buy some high quality planks, nails and some tools from the local supplier. Build house.  Enjoy the result.
3. Buy a prefab house construction kit. Assemble house. Enjoy the result.

I'd say thats pretty comparable to game development approaches. Some people like to build a game literally bit-by-bit in assembly code, some people use a framework that put in place the basics but allows a lot of freedom (e.g. LibGDX, LWJGL nuances), some people just like to assemble ready-made pieces (e.g. game maker). Every approach is valid, although I tend to think that the more a developer "does everything herself" the more unique a game will become, as fewer people will go that route and manage to actually complete something.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Hermasetas

Senior Devvie


Medals: 6
Projects: 2
Exp: 3 years


I do gamez, yes!


« Reply #10 - Posted 2014-03-10 13:54:08 »

I really like the house analogy Cheesy

Of course I am not doing EVERYTHING by myself.
I wouldn't want to go mine up silicon to make a micro processor Tongue

But I just wanted to air the idea of open-mindedness Smiley

And it seems you all get my point Cheesy
Offline Varkas
« Reply #11 - Posted 2014-03-10 14:00:23 »

And it seems you all get my point Cheesy

Long ago I also made my own graphics libraries, my own UI toolkits and the like.

I still do some of that. So I can say "been there, done that". But the people who warn about reinventing the wheel have a point. One really tends to spend a lot of time on "cool code", which a while later won't be of any interest anymore.

I assume it's a thing of "age" - starting developers need to learn and also understand how things work, and doing your own versions of all sorts of low level and support code is good for that.

Later you know all that, got tired of it, and the result (the game) comes more into focus.

Maybe I'm wrong there, but at least for me it worked this way. At times I feel uncertain though what's quicker - looking for a premade solution or doing it by myself. In some cases searching takes long, and if it's unsuccessful one still needs to do the work oneself.

On the other hand I'm often surprised what is there already, wioth fair licenses and just for you to use. Unfortunately it's often hard to faind :/

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline Grunnt

JGO Kernel


Medals: 95
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #12 - Posted 2014-03-10 14:09:57 »

Its also a matter of learning to choose the right frameworks and libraries for you. I wasted a lot of time by reinventing the wheel. I also wasted a lot of time figuring out how to work around some obscure weirdness in some framework or library that is essentially a black box for me. After developing a couple of (simple) games / applications I get an increasingly clear idea on where the sweet spot is for me: libraries that do the essentials that I'm not too interested in (i.e. LWJGL doing low-level bindings) leaving me free to do the part of making games where I can have fun, be productive and flexible (e.g. making my own shaders but not writing my own C interfacing code).

Offline Longor1996
« Reply #13 - Posted 2014-03-10 19:39:12 »

libraries that do the essentials that I'm not too interested in (i.e. LWJGL doing low-level bindings) leaving me free to do the part of making games where I can have fun, be productive and flexible (e.g. making my own shaders but not writing my own C interfacing code).

That is exactly what I am doing all the time. I love to tweak/tinker around with LWJGL, and incrementally developing my engine.

My workflow is basically this:
1  
2  
3  
4  
5  
+ Find a interesting topic.
+ Learn about the topic.
+ Make a bunch of prototypes about the topic.
+ Clean the best prototype up...
+ Push  it into my game-engine.


By doing so I got a few dozen ten-thousand (FEW * 12 * 10000) lines of code.
Numbers could be off by +- a zero.
Gotta go and let the code-line-counter application run through my workspace!

Have a nice day!

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

rwatson462 (28 views)
2014-12-15 09:26:44

Mr.CodeIt (19 views)
2014-12-14 19:50:38

BurntPizza (37 views)
2014-12-09 22:41:13

BurntPizza (73 views)
2014-12-08 04:46:31

JscottyBieshaar (34 views)
2014-12-05 12:39:02

SHC (46 views)
2014-12-03 16:27:13

CopyableCougar4 (42 views)
2014-11-29 21:32:03

toopeicgaming1999 (110 views)
2014-11-26 15:22:04

toopeicgaming1999 (96 views)
2014-11-26 15:20:36

toopeicgaming1999 (29 views)
2014-11-26 15:20:08
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!