Jump to content

I wanna be a dev and help but...


Riviute

Recommended Posts

Hey Guys Guardies here,

I am currently struggling a little bit when i think about my future, cause I'm currently in a job thats very far from my dream. I wanna be a game dev no matter what with the idea of someday creating my own little indiegame and supporting the devs of Skylords Reborn. (And yes I'm fully aware that thats gonna take a long time)

This whole project that you guys brought back from the dead and you still keep it alive is absolutely mindblowing. I somehow wanna help but i just lack experience in this field. I worked a little bit in the past with GameMaker Studio 2 but thats it. Still my desire to do this is very high.

ย 

So my question right now is directed more towards the devs here, basically: How did you startย with programming? What is a good way to start? Which game engine is used for this and which programm language?ย 

I hope that I'm not bothering you guys too much with this, but I'm kinda desperate here ๐Ÿ˜•

Link to comment
Share on other sites

Hey Riviute,
I am glad to hear, that you are interested in learning more about game development and about the behind-the-scenes of BattleForge/Skylords Reborn in particular!

The developers of Skylords Reborn come from all kinds of different backrounds, not neccessarily related to game development. I for my part learned programming in Java back in the beta days of Minecraft to write some plugins for a minecraft server in back in 2011. Most of my programming knowledge comes from scientific programming in physics though, which is quite different from game development.

I tell you this to take away some of the fear that some people might have about applying to a dev role in this project. When working as a client developer for Skylords Reborn, you will have to write a bit of XML and LUA.
The XML is used for defining how the UI looks. It is mostly about changing some numbers to change the looks of existing UI pieces and adding new widgets to the UI, which can often be copied over from other places.
For the LUA part, a bit of programming background is desirable, but the language is secondary. LUA itself was designed to be very easy to learn, and the tricky part of developing for BF is more often finding out how to work with the existing code/interface.

When developing, you will also need a bit of additional knowledge about programming conventions and tools, mostly how to use git, but that is something where the basics can easily be picked up.

If you are still interested, feel free to also check out this post and to leave an application where you can introduce yourself. Maybe we can offer you a trial task to see, if we have a fitting role for you.

Riviute, UltDragon and Ultralord like this
Link to comment
Share on other sites

Hello @Riviute,

Creating an indie game, and having a job that have nothing to do with development is pretty common. If you would want to make games for a big company it would be also very different from making an indie game, and might also be far from your dream. If you would would like to earn enough from making an indie game(s) you will either need to target scam kind of games for phones, which isn't much about the development itself, but about the marketing and studies how to best hide the fact that it is legally allowed gambling with real money for children, OR make another technological advancement like Minecraft. Unfortunately these are scales, but with big empty space in the middle ๐Ÿ˜ž

When I started with Skylords Reborn I did have almost 0 (or actually 0) experience in reverse engineering, server development, networking, server management, game development, ...

I stated programing so many years ago, first in some game-ish things where I give a wizard visual instructions, and wizard then followed that "program" to complete some objective, but I find the command pallet kind of limiting, so I looked up actual programing language on the internet (which is much easier these days, and you can find much better languages). It was C++ and I started creating programs and games I did know at that time.

I would say good way to start is decide what you actually want to do. There are options to make games from purely aesthetic point of view without writing a single line of code, or from purely design point of view without doing any art, or the "engine code", or you can do purely the coding part, follow some simple or existing design, and use free art, or buy the art, or you can do it all, or you can join some team.

We use no game engine, and EA did use some old internal engine, that to my knowledge does not have a publicly known name.

We use multiple programing languages for different things like Rust, C++, LUA, C#, ...

Metagross31, Riviute and Dallarian like this
Link to comment
Share on other sites

I have a very bad habit of commenting even if I know nothing about the topic.

ย 

3 hours ago, Kubik said:

need to target scam kind of games for phones

3 hours ago, Kubik said:

make another technological advancement like Minecraft

There is also a third way, which involves lots of luck and patreon.
For example Keystone in Starcraft 2 is a Heartstone inspired card game, with (in my view) way more interesting deck building, mechanics and okayish gamemodes (3v3 is awesome) - great experience created with lots of love and dedication.
The creator currently earns ~300 dollars for releasing and balancing a few cards a month (I make it sound easy, its not!), as a side project he does next to his actual work. He has put a lot of effort, time and dedication to get where he is now.

obraz.png.f0e27597b99ac7b1080f12df9e260a88.png

Another interesting example on priv.

ย 

If you have passion for creating amazing games and don't expect them to cover your bills, eventually you will build experience and projects large enough to make them profitable; but if you want to do games because they sell well and drop your current job for it, it may end up ugly.


About game engine
I believe Unity is free until you earn 100 000$ a month, it's widely used within industry and can create amazing things. There may be other engines you may find easier (but more specific) to use, I played a few decent cashed games from RPG maker for example.
But I guess you should do a solid research outside of this forum before you start work.

About coding languange
Once I watched a great video explaining which one is the best. (sorry, I spent 35 minutes looking for it and couldn't find source ๐Ÿ˜• )
Each languange is a tool, and is better for different kind of tasks. Do you want to make your game with hammer or screwdriver? Well, that depends on what game it will be.

I heard something with front and back-end capabilities could be worth consideration, but again I know nothing about coding.
Do solid research about what languanges are good for.

ย 

Oh, and most importantly, if you want to help, dedication to work on the project for months and capability to invest lots of time in it are two most important things you need, you can learn the rest on the fly.

Riviute likes this
Link to comment
Share on other sites

There are also ways in SR to be a developer without programming.ย 

F. E. map artist "only" needs to be able to use the map editor or balance developer the internal entity editor.ย 

I have no formal programming education. Back in the day i tought myself some basic lua so i could do some basic map scripting and tryed around stuff in the editor. A lot of trial and error. Its still...ย  ๐Ÿ˜…

There are some tutorials around

f. e. on you tube about lua language.ย 

Kind regardsย 

Edited by Emmaerzeh
Riviute likes this
Link to comment
Share on other sites

7 hours ago, Dallarian said:

There is also a third way, which involves lots of luck and patreon.

You misread my post I guess, because I listed 4 options, and even mention that is is a scale that.

11 hours ago, Kubik said:

Creating an indie game, and having a job that have nothing to do with development is pretty common.

๐Ÿค” was it too long so you forget first sentence by the end? I can list them in short here:

  • Have another job, and make games in free time. (job does not need to be full time if game(s) is(are) successful enough)
  • Do games for a big company.
  • Prioritize mobile scam games with gambling addictions. (pay well, but not everyone can be doing scam)
  • Make new technological advancement. (I hope you know that Minecraft did more than one https://youtu.be/fjZAgoxFKiQ )
7 hours ago, Dallarian said:

I believe Unity is free until

I really have no clue why people suggest this one, it almost eliminate the option to make an new technical advancement. Unreal Engine is also free until 1 000 000 $ / year, and isn't as locking as Unity, but still best way to make an advancement in technology is to create a new game without using game engine. Because if there would be a feature that you can just enable in the engine by flipping a switch someone would already done it. Picking a game engine is usually easy if you know what you want to make.

7 hours ago, Dallarian said:

Each languange is a tool, and is better for different kind of tasks.

That is inaccurate at best. Most languages are used for legacy reasons combined with cost of change. You can compare languages in this way:

  • Fast: Rust, C++, ...
  • Garbage Collected, but relatively fast: .NET (C#, ...), JVM (Java, ...), GO, ...
  • That require one of the above to help them: LUA, ...
  • So bad, that you should not compare by any performance metric: JavaScript

But most importantly how fast language you need depends on what game you want to make. If the game is doing nothing until player do some action, then do one change, and wait again, then language does not really matters, and even the bad JavaScript can do it. If you want to deliver complex updates more than 33 times per second (that why Minecraft have 20 ticks per second) you should go for the first category.

Riviute and Metagross31 like this
Link to comment
Share on other sites

Hey guys thank you all for your answers. Its very interesting to read how you started and ended up here. There is a lot to learn and I think it will also be a lot of trial and error just like @Emmaerzehย for me. Could anyone ofย you maybe show some coding that is behind skylords for example a script for an ability, a coded event in map or something like that, just too see how things look like. I'm very curious if I could understand what that script is for. Not sure if I'm making sense right now, but just wanna get a clear picture of how things should be.

Or just in general examples of your work that can only be seen if youre dev.

Hopefully I'm not confusing you too much ๐Ÿ™‚

Link to comment
Share on other sites

10 hours ago, Riviute said:

Go ahead overwhelm me ๐Ÿ˜„

You wanted it ๐Ÿ˜›

Spoiler
Quote

CGdAbilityBase__cancel proc near
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  pushย ย ย  esi
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  esi, ecx
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  cmpย ย ย ย  dword ptr [esi+44h], 0 ; Compare Two Operands
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  jnzย ย ย ย  short CGdAbilityBase__cancel+3A: ; Jump if Not Zero (ZF=0)
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  ecx, [esi+4Ch]
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  dword ptr [esi+44h], 1
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  eax, [ecx]
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  edx, [eax+14h]
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  pushย ย ย  esi
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  callย ย ย  edxย ย ย ย ย ย ย ย ย ย ย ย  ; Indirect Call Near Procedure
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  ecx, timed_event_manager__instance
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  pushย ย ย  esi
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  callย ย ย  timed_event_manager__remove ; Call Procedure
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  ecx, CGdIdAdministration__Instance
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  pushย ย ย  esi
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  callย ย ย  CGdIdAdministration_inner__cancel ; Call Procedure
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  movย ย ย ย  dword ptr [esi+4Ch], 0

CGdAbilityBase__cancel+3A: ; CODE XREF: CGdAbilityBase__cancel+7โ†‘j
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  popย ย ย ย  esi
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  retnย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  ; Return Near from Procedure
CGdAbilityBase__cancel endp

ย 

ย 

Dallarian and Riviute like this
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use