Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411500 Posts in 69373 Topics- by 58429 Members - Latest Member: Alternalo

April 25, 2024, 02:11:07 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)How I wrote my own 3D game engine and shipped a game with it in 20 months
Pages: [1] 2
Print
Author Topic: How I wrote my own 3D game engine and shipped a game with it in 20 months  (Read 4718 times)
Kirill
Level 0
***

kircode.com


View Profile WWW
« on: October 15, 2017, 06:05:33 AM »

I recently finished and released a 3D platformer called Speebot. I made a blog post about its development, I think some of you may find it interesting.

https://kircode.com/post/how-i-wrote-my-own-3d-game-engine-and-shipped-a-game-with-it-in-20-months
Logged

Twitter @kircode | Speebot on Steam | Hypnorain on Steam | Kircode blog
ferreiradaselva
Level 3
***



View Profile
« Reply #1 on: October 15, 2017, 07:48:39 AM »

Congratulations on the game release! Coffee

I find much more advantageous to work with a framework, instead of a game engine with built-in editor (e.g. Game Maker, Unity, Godot, etc.). Even if you end up making your own editor for that game, it's more effective, because it's specific for your needs and it doesn't come with a bloated code-base.
Logged

flavio
Level 4
****



View Profile WWW
« Reply #2 on: October 26, 2017, 08:38:21 AM »

Hi! Congratulations for the release! The game and the engine look very solid, and it is very interesting to see an entire game based on your engine, it is awesome!
Logged

oahda
Level 10
*****



View Profile
« Reply #3 on: October 26, 2017, 08:34:54 PM »

Saw this on Twitter! Super inspiring. Hopefully I can get around to playing the game soon enough!
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #4 on: October 27, 2017, 12:01:53 AM »

Congratulations for the game and in implementing all the game engine from scratch!  Coffee Expecially not knowing anything about OpenGL beforehand.

Just a few questions to create some discussion. I am fully agree with you about the reasons to build a framework all by yourself, as not having anoying bugs in features you not even using etc.

What about instead if you started creating you game using a commercial engine? Do you think the game would have still been released after 20 months? Or longer?

If you had to trade-off the workflow control of your framework with a all-in-one game engine, do you think you would have some aspect of you game had been improved? (graphics features, animations, AI behavior to say a few)
Logged

Games:

JWki
Level 4
****


View Profile
« Reply #5 on: October 27, 2017, 12:42:20 AM »

Congratulations for the game and in implementing all the game engine from scratch!  Coffee Expecially not knowing anything about OpenGL beforehand.

Just a few questions to create some discussion. I am fully agree with you about the reasons to build a framework all by yourself, as not having anoying bugs in features you not even using etc.

What about instead if you started creating you game using a commercial engine? Do you think the game would have still been released after 20 months? Or longer?

If you had to trade-off the workflow control of your framework with a all-in-one game engine, do you think you would have some aspect of you game had been improved? (graphics features, animations, AI behavior to say a few)

I'm of the (controversial) opinion that as a programmer, for smaller projects like this one (relatively speaking) it probably takes as much time learning the ins and outs of a commercial engine wrt the project requirements as it takes writing just what you need from scratch - this varies depending on your experience and know-how of course, but I think it applies in a lot of cases. When projects grow big enough that you actually need quite a lot of the features that a commercial engine has, things change of course.
Logged
J-Snake
Level 10
*****


A fool with a tool is still a fool.


View Profile WWW
« Reply #6 on: October 27, 2017, 10:43:43 AM »

"but there are a few key differences that justify early YUME’s existence. One of those things is my timestep system..."

How does it differ from a regular fixed timestep?
Logged

Independent game developer with an elaborate focus on interesting gameplay, rewarding depth of play and technical quality.<br /><br />Trap Them: http://store.steampowered.com/app/375930
oahda
Level 10
*****



View Profile
« Reply #7 on: October 27, 2017, 01:25:33 PM »

Congratulations for the game and in implementing all the game engine from scratch!  Coffee Expecially not knowing anything about OpenGL beforehand.

Just a few questions to create some discussion. I am fully agree with you about the reasons to build a framework all by yourself, as not having anoying bugs in features you not even using etc.

What about instead if you started creating you game using a commercial engine? Do you think the game would have still been released after 20 months? Or longer?

If you had to trade-off the workflow control of your framework with a all-in-one game engine, do you think you would have some aspect of you game had been improved? (graphics features, animations, AI behavior to say a few)

I'm of the (controversial) opinion that as a programmer, for smaller projects like this one (relatively speaking) it probably takes as much time learning the ins and outs of a commercial engine wrt the project requirements as it takes writing just what you need from scratch - this varies depending on your experience and know-how of course, but I think it applies in a lot of cases. When projects grow big enough that you actually need quite a lot of the features that a commercial engine has, things change of course.
What if you already know the ins and outs of the commercial engine beforehand?
Logged

InfiniteStateMachine
Level 10
*****



View Profile
« Reply #8 on: October 27, 2017, 01:34:21 PM »

Even then. I know the unreal engine quite well but the current game I'm working on I'm doing in c# with no engine because it's simple enough that the generic nature and ceremony of a larger engine slows me down too much. The downside is I have to implement my own editor but at the same time I can have an editor that does exactly what I want.

There's never a silver bullet.
Logged

rupy
Level 0
*



View Profile
« Reply #9 on: November 24, 2017, 01:43:29 AM »

I agree 100% with writing your own code. It's the only way to improve tools and your fundamental existence on earth!

I think it's a bit sad that the code is not open-source though.

I wonder why that's so rare when it comes to game engines?
« Last Edit: November 24, 2017, 01:57:48 AM by rupy » Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #10 on: November 25, 2017, 12:52:45 AM »

I agree 100% with writing your own code. It's the only way to improve tools and your fundamental existence on earth!

I think it's a bit sad that the code is not open-source though.

I wonder why that's so rare when it comes to game engines?

Making games is mainly a business, making a game fast with less budget as possible is the main choice if you do not want your game unfinished. If you are making a game in the free time beside you main job, then a game engine could speed drammaticaly your development if you want to release your game.

I think that the reason an engine is not open-source is because technology is a resource, and you do not want to share it to your competitors.
Logged

Games:

bombjack
Level 3
***

That's me :)


View Profile WWW
« Reply #11 on: November 25, 2017, 01:20:28 AM »

If you are making a game in the free time beside you main job, then a game engine could speed drammaticaly your development if you want to release your game.
Being graphic programmer for more than 30 years, I can confirm that it take so much time to create your own engine. It could be valuable for specific games where the technology is very unique. But most of the time using an existing engine is way much faster.
I built many game prototype and engines in those 30 years and never released one because I was overwhelmed by the task. Writing a game in spare time is a very hard task.
I'm finally about to release my first game thanks to two things: determination and Unity.
I really understand the will to create your own engine but using an commercial one will probably make you finish your game.
« Last Edit: November 25, 2017, 01:28:00 AM by bombjack » Logged

rupy
Level 0
*



View Profile
« Reply #12 on: November 27, 2017, 03:21:18 PM »

I think that the reason an engine is not open-source is because technology is a resource, and you do not want to share it to your competitors.

We're not competing? It's reusable ideas! Something is really off with the community.
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #13 on: November 28, 2017, 12:59:28 AM »

I think that the reason an engine is not open-source is because technology is a resource, and you do not want to share it to your competitors.

We're not competing? It's reusable ideas! Something is really off with the community.

Ideas are free. Code. graphic assets, musics are resources made by people that, if you invested in the project, you need to pay. I like a community where open-source and free help is common not only on forums, but the world is ruled by money, and we should not forget that our hobby could also be a business like everything else. Or you would never play that Assassin's Creed or Uncharted or next AAA with super-uber graphics  Smiley
Logged

Games:

oahda
Level 10
*****



View Profile
« Reply #14 on: November 28, 2017, 01:23:32 AM »

I guess when developing something in-house, especially with few people, a less capitalistic reason not to want to release it publicly is that, basically, stuff that proprietary tends not to be very polished for general use and requires some tricky setup and workarounds that one isn't prepared to help people with, and perhaps the even the code a little bit embarrassing to show because it hasn't been streamlined for mainstream consumption. Saves a lot of time not having to reply to issues and emails about something that wasn't meant to be maintained for others anyway. I'm happy to share my code/tools, but I don't really have the time to explain it or clean it up for you. /:
Logged

JWki
Level 4
****


View Profile
« Reply #15 on: November 28, 2017, 01:29:59 AM »

I guess when developing something in-house, especially with few people, a less capitalistic reason not to want to release it publicly is that, basically, stuff that proprietary tends not to be very polished for general use and requires some tricky setup and workarounds that one isn't prepared to help people with, and perhaps the even the code a little bit embarrassing to show because it hasn't been streamlined for mainstream consumption. Saves a lot of time not having to reply to issues and emails about something that wasn't meant to be maintained for others anyway. I'm happy to share my code/tools, but I don't really have the time to explain it or clean it up for you. /:

Yeah, going Open Source usually means people are going to bother you with requests for fixes, updates, support, etc.
There's not really a point releasing something that's not fit for others to use when you can just share ideas and concepts and implementation details if necessary.

The capitalistic reasoning still applies on top of that though. Hobby/learning projects are not touched by this probably but commercial products are commercial products. I've never quite understood the hate against proprietary software tbqh.
Logged
rupy
Level 0
*



View Profile
« Reply #16 on: December 03, 2017, 08:42:34 AM »

@ordnas There will be open-source high quality graphics, music and sounds, it's just a matter of time.
@Princessa&JWki That is a poor excuse for not sharing, you don't even have to share who or where you are. If you are ashamed of what you make, you probably should not make it in the first place.

Still waiting for good arguments to be selfish and greedy here.
Logged

powly
Level 4
****



View Profile WWW
« Reply #17 on: December 03, 2017, 09:21:19 AM »

If you are ashamed of what you make, you probably should not make it in the first place.
Being ashamed of what a piece of code does and being ashamed of how it is written are two completely different things.
Logged
JWki
Level 4
****


View Profile
« Reply #18 on: December 03, 2017, 10:12:13 AM »

@ordnas There will be open-source high quality graphics, music and sounds, it's just a matter of time.
@Princessa&JWki That is a poor excuse for not sharing, you don't even have to share who or where you are. If you are ashamed of what you make, you probably should not make it in the first place.

Still waiting for good arguments to be selfish and greedy here.

It's not about being ashamed, it's about not bothering with supporting your stuff for other people to use. Which has nothing to do with being selfish and greedy, it's a fuckton of work to just support a very small library, let alone a game engine. You can't be expecting everyone to do that just because they made something you'd like to use. Also, maybe this is not what you'd call selfish, but some people may just feel a little bit of ownership over their work.
Logged
rupy
Level 0
*



View Profile
« Reply #19 on: December 03, 2017, 10:55:36 AM »

I see open-source as being a free teacher. You don't have to support anything! If you want to use the code you'll have to figure it out. Closed-source is like hiding free knowledge though... it's bad! And gaming is full of it.
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic