Jump to content
  • Advertisement

Iltis

Member
  • Content count

    19
  • Joined

  • Last visited

Community Reputation

12 Neutral

1 Follower

About Iltis

  • Rank
    Member

Personal Information

  • Role
    Programmer
  • Interests
    Education
    Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. May I ask the reason why you would want to make everything from scratch? The reason is very important to make good suggestions! It sounds like you want to learn programming by doing everything, while not having much experience at programming/art to begin with. What you want to do actually has a name: Not invented here syndrome. Let's put aside the typical sarcastical comments about how you'd need to make silicone from sand, create your own chipset and architecture and own programming language, operating system, etc. We are, depending on the quality of game you want to achieve, talking about several months, years, even decades or centuries in man-hours of work for a 3D game. The artistic side, the story telling and all that stuff also takes time. It's not just the programming! A simple mobile game, which uses premade libraries, frameworks and so on, takes a small team several months to create in full-time. I assume you know how little content most of the mobile games actually offer. Take away the premade libraries and frameworks and you already reached at least a year, most likely several, of work. A game like TLoZ Breath of the Wild involves dozens of developers working over several years, leading to dozens of years of man-hours of work. [It should actually be in the regions of several centuries, but i don't know how many people worked for how long, so.... yeah.] For solo-devs you can generally say: The scale of a Zelda game is out of scope. EDIT: Assuming art is also part of the doing yourself stuff ( @Rutin sorry, should've stated that more clearly ) One example of a veteran programmer creating everything from scratch would be Handmade Hero (putting aside controversy about his programming style). 478 videos of on average 1.1 hours length amount to approximately 66 days of 8-hour work to get to the current state, and it's far far far from finished. In case you really do not want to use anything: Since you are only left with the C++ standard library, the Operating System's API (multiple, if you want portability) and maybe a graphics API (OpenGL, DirectX, Vulkan, ...) I would suggest to start with a text-based RPG, on a single platform (maybe unix based, since those can at least easily be ported between different unix distributions later on). Text-based means that the game happens inside a console window using ASCII art, leaving the rendering to the OS, instead of writing one with the graphics API. One of the best known examples might be Rogue [from 1980]. There's a whole branch of game development named after this game on reddit. In case you want to learn game programming: Either grab seperate libraries for different tasks (rendering, input, sound, animation, ...): hard a framework (SDL2, SFML, ...): less hard an engine (Unity, UE4, Godot, ...): medium Even if you use an engine like UE4, and software like Maya for 3D modelling, making a game the size of Ocarine of Time as a solo dev still takes a very long time. You have to compose music, model every mesh, texture every model, animate players and NPC's, write a story, .... As well as creating the game logic of course. (Which I asssume is what you are actually interested in learning)
  2. Iltis

    Professional Game Programming

    No answer yet? That's quite rare. Take the following with a grain of salt. No warranties. As you've already figured out, there is nothing like a universal qualification to get you into AAA game programming. Depending on the programming tier/level/field you want to work on, different experiences are required. Quoting EA (the *insert what you want* development studio) for a Software-Engineer position: "Bachelor degree in Computer Science or related field, or equivalent training and professional experience". If you already study, or have studied, Computer Science: You're good to go. If not, the second part comes into play: "equivalent training or professional experience". The following doesnt care what engine or framework you use, or whether you've written everything yourself. What matters is that you have something to show. This could for example mean that you have already released games, either as a solo, or part of a group (where your work is noticeable), the more successful the better, not necessarily monetized absolved an internship at the same or another game dev studio, including indies contributed source-code to open-source projects (e.g. via merged pull-requests) of significance (only changing variable names or adding comments for readability is not enough) written code in a field closely related to the position you want to join (Should clearly not be a simple rewrite of something already existing like the OpenGL tutorial): a Renderer, or a wrapper API for multi-backend rendering a collision framework platform abstraction layer ... Another very realistic option is having connections to workers in the industry. Those can either come from family and friends, from game-jams or hackathons you've participated in, or something simple like leaving an impression on the online lecturer of a programming tutorial or a professional roaming the forums, visiting an exhibit, .... Should you already have a company in mind that you would like to join, try to find out which programming languages, frameworks or engine they use. The easiest example would be Epic, which uses its own UE4 and mostly C++. Working for a company like square enix or nintendo as a non-japanese might prove more difficult than joining an american contendor such as EA, or the french Ubisoft. There's also companies like Havoc, that do not make games themselves, but provide necessary frameworks used by game companies. Landing a job there could eventually allow you to switch over to a partner company.
  3. I can see what your artist means. Without shadows it's pretty hard to tell at which z-level your red box is currently at, since it could be at the high front, or low back. With shadows it should be much clearer though
  4. The screenshot links appear to be dead (at least for me), which could be Discord's fault. Using a discordapp-link is not a good idea, instead upload them from your PC.
  5. It may or may not be a helpful resource, since it's a beginners introduction, but the very first page already hints at how to avoid this: SPECS It does not have a map in the entity. The entity is just an ID (+generation if the ID was already used but deleted and a new Entity with the same ID gets created). Caveat: It's in Rust, but the basic idea should work in other languages,too. How it works: - Every component type defined ( independent from how often it is used ) has a vector containing all ID's of the entities that have a component of this type. - you can `.join()` different components together (using a BitSet), and for all involved components the vector described above is checked, and if an ID shows up in every ID-vector, the corresponding entity is going to be manipulated by the system (means the Entity has to have ALL of the Components involved, but can have more). EDIT: Fortgot the Link, thanks @SyncViews
  6. Iltis

    where to start pls help

    Learning a new language pretty much starts with this site. It's your biggest friend in programming. Assuming you search for C# beginner tutorials: For absolute beginners in programming and C# LearnCS.org might be a good starting point, although it only teaches the basics and syntax of C#, not how to structure projects, create API's or write a game. Also it's very short, it only takes a few hours. Microsoft's official course on C# is much more in-depth about the basics of C# and includes a variety of small projects emphasizing what you currently learn / already learned. But it's still only a beginner's tutorial and does not cover advanced topics. Youtube is a good choice, too, just search for 'C'# beginner' and you are going to find a bunch of tutorials/playlists to teach you the basics.
  7. Iltis

    where to start pls help

    Hate to be the bearer of bad news, but one month is hardly enough to build up a portfolio if you've never created games before (which i assume from your question), and especially so if you do not have programming experience (which is indicated by your question as well). On the other hand I doubt that a game development school requires a portfolio of games. If you already had a portfolie of multiple games, what would be the point of attending this school anyways? It is reasonable for them to expect you to have some programming experience though, but even that might not be the case. Three questions: Did you select these languages you tagged yourself, or are they prerequisites of the school? Is programming experience required by the school? Do you have programming experience or is this your first contact with programming? If these languages are required by the school: Unless you already have experience in programming, you are not going to be able to learn C++ AND C# AND Java in under a month, not even the basics. The most difficult part is not to learn the syntax of a specific language, but learning how to split a problem into such small parts that a computer can solve them. Instead you should focus on ONE language first, getting accustomed to its syntax just enough to then learn the principles of programming, which apply across multiple languages (e.g. Object-oriented-programming works 'the same' for C++, C#, Java, Python and other languages that support it, nearly the only thing that changes is how you have to type it). As Gnollrunner suggested, give C# a shot (used for example by Unity3D). Java is great for Android-development though, since it's the native language of Android. If you chose these languages yourself: Consider learning a simpler language, e.g. Javascript (programming industries biggest language currently, according to Stockoverflows 2017 survey at least) and use it to write simple web-based games.
  8. Well, you cannot have them completely seperate, there has to exist SOME connetion between the two. It's not necessary to seperate them, either (UE4, Unity, etc, don't do this either). If you really want to, you could of course create two classes, and put them as members inside a "masterclass", that manages the interop between rendering and the gamelogic. As long as you only pass the information needed for rendering to the renderer you are fine. Avoid having your renderer ASK for information, PASS it instead yourself, and tell the renderer "You know everything you need, go render it.".
  9. Iltis

    Survival Notepad Game Update

    This is still not the right forum. This is for 'General and Gameplay Programming'. Your post does not include any code or coding issues, but instead an Announcement (Project or progress related) Therefore it belongs in the Announcement Forum
  10. Iltis

    Finding and Choosing Libraries for C++

    A full list of C++ libraries might not help you at all, since there are so many. I doubt you want to spent weeks of reading every libraries description. You can narrow your scope step by step, though. The first thing to consider when choosing libraries is the operating system you want your game to run on. Not every Library supports every OS, which invalidates the use of some of them right off the bat. Then you have to make a very personal decision: Is your goal the game, or the journey (learning experience)? The former means that you most likely don't intend to spend much time on low-level hardware programming, without significant progress on your game per week. The latter could mean, that you want to know as much as possible of the code required to create a game, including the low-level stuff. In short, how code affin are you? Depending on your code-affinity you can use Libraries: different libraries for different things (e.g. a library for input, one for sound, one for graphics, ....), not necessarily cross-platform friendly Frameworks: a collection of pre-combined libraries, as well as cross-platform compatibility (e.g. SDL, Monogame, SFML, ...) Engines: which have 'pre-connected' libraries for audio, video, input, .... as well as a GUI and tools to aid development, like Source Control or Pick'n'Place Map-editors (e.g. Godot, Unreal Engine, ...) The provided functionality tends to get more abstract with each step down that list. That means you have to do a lot of 'boilerplate' and 'platform'-code yourself when using only libraries, to connect all these services. You'll have much more control over your project like this (and even more, if you use no libraries at all, but that's just nuts). It will most likely take way longer to finish your game, though. An Engine like Godot on the other hand just provides all of these functionalities as a bundle, and you don't have to worry about connecting audio, video, input and Library compatibility.... Engines are potentially easier to learn and shorten development time (unless you have a hard time learning and accepting that the 3rd party doesn't tell you everything that happens). When you've made your choice on HOW you want to program, there's not much left to do. If you want to use e.g. libraries, just google 2D-library, Audio-library, ... and pick one of the top 5 google results. There's a reason they are up there; and pay attention to community activity (a dead community cannot help you in times of need).
  11. Well, it's a form of multiplayer, so there should be a host. Either a server or one of the players has to hold the mainworld, while the others interact with it via internet, seeing only a replication of said mainworld. If you do not require instant updates on those note, you could have the game 'refresh' on start-up or other conditions, loading all changed/added notes to the billboards and removing deleted ones. Then the player's wouldn't need to have a server-connection all the time and could play offline, while occasionally getting 'updates' on the billboards once they enter WLAN again. EDIT: you would still need a server/host to hold the shared information, however.
  12. Well, my opinion (the way i do it) would be to combine both methods, but with emphasis on what @Kylotan said. Data-driven is typically better than using many different functions. Since this is basically about objects you want to hold in your hand, you could create a parent-class 'HandEquippableObject', that holds Data shared between all such items, including bows, shields, 2handed and 1handed, special items and so on. Said data contains for example weight or slot-usage (for weight-based or slot-based inventory), a mesh, thumbnail, name, description, durability, preferred hand, etc.... This would allow to specify that ONLY such Objects can be held in the hands, and you can cast for them, if you want to (some people do not like run-time casting though). Derived from the 'HandEquippableObject' is a 'WeaponBaseClass', that adds common data of weapons, like damage, attack speed and DamageType,... After that either derive different weapon types like bows, swords, and so on, or add an enum to the WeaponBaseClass that the player can switch on, to distinguish different weapons (avoiding a deep hierarchy). It's a choice of preference. Furthermore I typically only create functions for data-getters (since i wrap each layers data in a struct that'd make only 2 getters by now) and animation/presentation purpose (like playing a swing-sound for a sword, spawning flame-particles, Event to play a breaking animation on durability-loss, ...). The character needs a way to access the data, and the rest is handled by him (calculating actual dmg and attack speed, due to buffs, potions and stuff). One exception are bows, since those need to be drawn, and other 'aimed' weapons, but that's not relevant right now.
  13. @amade Sounds like you prefer 2D-oriented art? Like @Scouting Ninja stated, RPG Maker is a reasonable choice, although an RPG might be a little too big to start with. An easier genre to practice 2D art would be Idle- or Clicker-games. These typically don't require as much code (if any at all, depending on your engine choice) and have fairly simple gameplay, therefore you can make them rather quickly. You could start with only using splash arts, then add animated sprites in your next project and slowly build your way up to complex 3D modelling/texturing, etc. Another option are old fashioned, text-based dungeon crawlers, using your art as background illustration for the story. You also could try to make a visual novel 'game'. Scouting Ninja's other suggestion, GameMaker 2, is a good and popular 2D engine, which doesn't focus on a specific genre and does NOT require code at all (but you can add some later on) https://www.yoyogames.com/gamemaker There's a free, endless trial (with limited functionality of course, but that shouldn't matter for a beginner), as well as tutorials and quite a big community, so you can expect to find people to help you. EDIT: If you decide to pick up something that involves programming or scripting, feel free to send me a DM, containing your programming/scripting language of choice. If I happen to know that language, I could provide assistance to get started
  14. Iltis

    Pixel artist looking for Programmer

    Well, if you already have a GDD, that's good. Just post a compressed version of it, or something that has a little more content than your original post.
  15. Iltis

    Pixel artist looking for Programmer

    Draft version 0.01 from December 2015, and it's a five-liner at that. This doesn't convince me of your seriousness (not trying to be mean here). I suggest, you write up a "more detailed" Game-Design Document. there are free templates out there you can use. A GDD looks more appealing than just a five-line "description" and helps with promoting your game-idea. EDIT: Writing a novel is not required, but 6-8 pages are easily filled, even more so if there are sketches of e.g. a possible UI or environment included. Typically the following stuff is found in those templates: What game do you want to make (most important part): Is there a story? Genre? RPG with character development, RTS-like city builder, Survival game, economics-simulation, ... setting? stone age, middle age, post-apocalyptic, futuristic, alien environment or realistic, .... 2d /3d ; top-down, sidescroller, first-person, ... Single or Multiplayer? (online / offline multiplayer) if online multiplayer: communication between players (gestures only, proximity-chat, world-chat, guilds, ...) Inspiration/relation from/to other games (you already scratched that, be slightly more specific with what element from which game) Basic Gameplay mechanics if theres a leveling system, how would it work? (passively like Runescape where you advance by doing, actively like many MMORPGs where you spent Skillpoints on skilltrees) Equipping system / customisation of your character How do you interact with the environment and what Interactions define your core-gameplay (minecraft is based on manipulating the landscape, Witcher 3 is based on interaction with NPC's/AI, Assassin's creed has an extensive climbing and parcour system, Dark souls revolves around Combat and diverse boss-fights, etc etc... ), anything that seperates it from other games should be explained more detailed) What development environment (not as important as the game-design itself, but still important, since not everyone can use every programming language or engine, same for other software): Target platform (can be multiple; porting from Windows to XBox is quite easy, from Mac to Switch might not be so easy) any specific engine you WANT or MUST use, for whatever reasons; can also be "whatever you can work with" (Unity, GameMaker, Cocos, Unreal, ...) [Personally, I'd advice against a custom, self-written engine. Maybe if you were creating a complex Physics driven simulation game, or other heavily specialized scenarios. They require years of experience to do right] Moddability of your game (some engines cannot provide high moddability, or are very limited) estimated scale of the project (most certainly a wrong guess, just throw in a game of comparable complexity as a reference a small team can do something in the likes of Minecraft, terraria, Undertale in a reasonable amount of time (still talking several Months to ~2 years, though [Clones of such complexity can be created much faster of course, but we are talking about an original game here, so this should be a realistic assumption]) I like the turle profile-pic. Kind regards, Illtis
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!