Jump to content
  • Advertisement

All Activity

This stream auto-updates     

  1. Past hour
  2. You started to be negative, impolite and arrogant as reaction to a harmless and informative post. This is why you get these reactions. There is no answer to this, what is best depends on the development team, budget and time. Of course you get different answers; every Programmer is different and has different experiences. Nobody here has a clue what your game really is like and without reading your concept and asking 1000 questions nobody can judge the scope and requirements of your project. Yet alone if you are willing to spend 10k or 500k. You need someone that has experience and a track record of shipped titles, ideally similar to your project. The more you are willing to spend the higher the chances are that it will work out well. But to find that one is up to you, it can be like roulette. I know you don't want to read it but having "0 experience" is the #1 reason projects like yours will fail. It is not about if it is theoretically possible to achieve a complex project with a few people or if the concept is actually good. Projects fail because the lack of experience in handling them. If you have never completed a project the chances are high that you make wrong decisions. Communication is a big issue which is often underestimated. Bringing your ideas into the heads of your team can be harder than you might think. Also Programmers need to tell you what works and what doesn't within the budget and time frame and when you start being that aggressive to "nay sayers", which good programmers tend to be, it will be disastrous for your project. So my real advice, as someone who has seen many projects failing is: get small games done, maybe work with different people on them. Once you find a team that works well get on to the big dreams. Every step towards finishing a project is a potential pitfall for someone unexperienced and you better fall low.
  3. tyree

    run attack

    katty attack 4 https://youtu.be/YdeOZeNcFe0
  4. Hey Joe! Your offer sounds really interesting, but unfortunately we have to reject it at the moment, because we'd like to keep the team size low to facilitate communication and organization. It may be, that this will change with time, and we'll be glad comming back to you in that case.
  5. @VoxycDev and everyone else reading this; as this is already going a little offtopic, I try to keep this short: A universal engine might be a good point, it won't ever be standardized unless everybody is willing to follow certain standard. Take a look at the C++ "standard", in real there is no standard! Anything that the standard says is how is code compiled and what is inside the STL, it doesn't point to coding style (that is horrible and royally 90's in my opinion) and even dosen't offer platform independent OS features like .NET does for example. Code is written re-written every day (as I mentioned in this topic, humans (including me) tend to think they can make stuff better) so there will always be someone getting to that standard engine and try to customize it to his/her current needs or start writing an own one. Don't get me wrong, I really like the idea of an open, clean and modular game engine and this is the reason because I started to make my own one (and already partially published some parts of it on GitHub). What I did was thinking in packages, for code, for tools, for everything and getting to a highly modular code base (after 6 iterations), so it might already count as flexible/ reusable as you described above but with the exception that Water.cpp is a Water Package/ Module. The problem is that it isn't reusable as long as the API it is build on top isn't standardized in naming and functionality; you'll otherwise end up using #ifdef's not just for platforms but also for different APIs. I got to at least 6 but 8 basic packages that are necessary to build a game/ an engine from Common; C++ platform abstraction and common used classes like Memory, basic Types, Delegate, Stream and some more Math; general math abstraction like Random but also 3D math, hashing and crypto math Storage; general file I/O and file system operations Threading; since 2005 we have access to multiple cores so why not use them, synchronization structs, threads and a task/job system Input; for not being pinned to OS messages, this abstracts the HID drivers on PC and Mobile/ standard input features on Console platforms Graphics; might be something GL, Vulkan or DirectX but I prefer GL/Vulkan, covers API functions and utilities like Window/ Surface creation/ management Text; working with strings and text assets should be optional so this goes here Network; not every game is a network game but this covers TCP/UDP capabilities and IOCP for PC and Mobile platforms The package solution also requires some kind of custom building/ package management tool to setup a project correctly so this has to be standarddized too. TL;DR it is very difficult to establish such a standard because everyone expects something different from those standards and depending on experience, has a different priority and implementation culture for it. Feel free to send a PM or Discord message if anyone wants to talk further at this topic
  6. for (int temp = 0; temp < cube.coordinates.size(); temp++) { cout<< "temp" << temp << endl; if ((cube.coordinates[temp] == true)) { sDirection = true; if (Count <= 90) {... In the first line, you loop over all cubes. In the third line, you compare an array member to true. Not sure what your intention is. If your coordinates array would store pointers, this would be a check for a nullptr but since you used cube.coordinates[temp].x I guess it does not store pointers. Don't know how your class/struct that is stored in coordinates compares to true, but from the output, you described, it always yields true. Then finally you compare to the count which yields always the same result for each loop iteration. So if the first branch is intended to check if a ball should start rotating, the reason why all are rotating at the same time must be that (cube.coordinates[temp] == true) always yields true. Find out why. if (Count <= 90) { ... } else if (Count > 90) { ... } else { sDirection = false; } Maybe I am suffering from a low caffeine level, but the last else statement can never be executed. The first else is only executed if Count is not less or equal than 90. In other words, if Count is greater than 90. In this case, your second if can only take the true direction since no value that would lead to the else condition passes the first branch. So you never set sDirectionton to false. The else statement for your keypress event is therefore also never called, once sDirection is set to true. This still does not explain why the switch always takes the path as if 'r' was pressed. I guess you messed up the whole event handling system of glut. The best way to fix that is to set a breakpoint at some key locations and check the call stacks. Place them somewhere in the display function and also in the key callback. Check which function is calling them. For the display function, I guess that it is called directly after window creation and therefore the for loop is executed without any key being pressed. The question is, who calls the SpecialKey function and why is the 'r' key path always taken to increase the angle even if no key was pressed. Check this and post the results. Greetings
  7. Today
  8. Acharis

    Did I really remake Minecraft?

    It does look like Minecraft (textures). Also things like "An exotic planet with mushroom biomes" do not help (why do you insist on mushroom biomes when mushroom biome is one of the unique Minecraft biomes? Why not, I don't know, tentacle biome or crystal biome?) BTW, I would also reconsider if you need a payment processor in the first place.
  9. If all of our engines were put into a single repo, the merging process would look something like this: all code is custom code (1) at first, then we identify pieces that are compatible or interchangeable and slowly migrate them into general code (2). I'm willing to start the sorting process, I just need everyone's Github repos.
  10. Hi Is there any way to determine function type based on what is available from ID3D12FunctionReflection ? (I mean D3D12_FUNCTION_DESC probably) I want to automatically extract [shader("miss")], [shader("closesthit")] etc. from passed library (that is not known at compile time) and do not depend on the mangled names of functions to determine what they are, is there any way to know their type (or at least to annotate them with some custom string that is available during reflection ?)
  11. VoxycDev

    First Person Catcher!

    Meet the whole trio of positive vibe-exuding NPC's. The Proto-Kitten: The Proto-Pony: The Proto-Bunny:
  12. ADDMX

    How to create IDxcBlob ?

    OK, fine for me, I'v asked because the old compiler api has D3DCreateBlob, so I thought there will be something similar in new API Thanks!
  13. FishingCactus

    The Sunken Caves: New biome revealed!

    Thank you! We are working hard on it! These are concepts for POI so it's shiny and all. The real challenge will be to have a cave that doesn't look boring.
  14. Kossori_aka_Jordan

    City Builder Mobile

    Hello, my name is Jordan and I am looking to assemble a small team to create a mobile game that is similar to Dragon City, Dragonvale, Tiny Monsters, etc. Basically a city builder, Monster breeding/collecting game where you can create a beautiful village of many uniquely designed creatures and feed them to make them evolve from a baby to an adult. I am in need of: Script writing/coders, visual Artists/animators & Concept creators. If you fall into one of the above mentioned criteria and are interested in joining my team, please message me at (512)-733-4798 PS: This is not a paid job, this is meant to be a volunteered team effort and a way for us all to make good friends with similar interests all while making a fantastic video game!
  15. Hodgman

    Where to find freelancers

    https://www.google.com/search?q=igda+meetups+yourcity
  16. Tom Sloper

    Where to find freelancers

    https://www.gamedev.net/contractors/ https://gamasutra.com/contractors/contractor_display.php https://en.wikipedia.org/wiki/List_of_video_game_developers
  17. I want to try. I'm not a professional, I'm not a beginner
  18. Hello PantherNZ: I am a pixel artist as a second title but a programmer first and foremost. I want to work with an experienced programmer to gain better practices. If I contribute art will you allocate programming work to me as well? If the answer is yes I can only contribute my resources for a month. All I desire is to become a better programmer. If I must craft art to convince you, I shall. For my experience, I worked on Sonic Advance Revamped SAGE 2018 Demo as a pixel artist. I made the Blaze the cat sprite sheet used in it. I know you do not want pixel art but I may be able to apply my pixel skills to a different form of art.
  19. I have a vector saving 5 cube coordinates in oxy plan. Task: 1st cube roll 90 degrees, then disappear then 2nd cube roll 90 dg … until the last cube in the vector. Problem: whenever the program runs, all the cube will appear and roll the same time. Q: How can I solve this problem? I checked the value in for loop (temp), and value of (count) as below: angle 1 count 1 temp0 temp1 temp2 temp3 temp4 temp5 temp6 temp7 angle 2 count 2 temp0 temp1 temp2 temp3 temp4 temp5 temp6 temp7 => I do not know why the for loop does not wait for for the “presskey” action to increase the angle value before move to the next temp value. int Count(0); void Display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); SetLight(); glPushMatrix(); ConclusiveAxis(); DrawGrid(); for (int temp = 0; temp < cube.coordinates.size(); temp++) { cout<< "temp" << temp << endl; if ((cube.coordinates[temp] == true)) { sDirection = true; if (Count <= 90) { glPushMatrix(); glTranslatef(cube.coordinates[temp].x - 0.5, cube.coordinates[temp].y - 0.5, 0.0); glRotatef(angle, 0, 1, 0); glTranslatef(-0.5, 0.5, 0.5); glColor3f(0.5, 1.5, 1.0); glutSolidCube(1); glPopMatrix(); } else if (Count > 90) { angle = 0; Count = 0; } else { sDirection = false; } } else { } } glPopMatrix(); glutSwapBuffers(); } void SpecialKey(unsigned char key, int x, int y) { switch (key) { case 'r': //condition for next check if (sDirection == true) { angle++; glutPostRedisplay(); Count++; cout << "angle " << angle << " count " << Count << endl; } else { glutPostRedisplay(NULL); } break; } } void OpenGLCallBackAnimation(void) { GLSettings0.PickObject = PickObject0; OpenGLInitialize(0, GLSettings0, 300, 150, 1000, 650, "window"); glutDisplayFunc(Display); glutMouseFunc(MouseButton); glutMotionFunc(OnMouseMotion); glutPassiveMotionFunc(PassiveMotion); glutKeyboardFunc(SpecialKey); //keyboard call glutMouseWheelFunc(OpenGLMouseWheel0); glutReshapeFunc(OpenGLReshape0); //glutTimerFunc(0, time_callback, 0); OpenGLPostprocessor(GLSettings0); }
  20. jbadams

    First Person Catcher!

    Interesting concept, it's always good to see someone trying to provide players with an experience that uses some different verbs than usual.
  21. So. Can you get the coordinates in world space ? Are these coordinates right ? Then you have most probably a matrix that can transform from the so-called model space to world space. If that's it, simply multiple your coordinates in world space by the invert of your matrix and that's it. From your first post it might be that you are tying to do something like this. And as such, try to use a math library (glm is well known for example, but there are many others). This will be simpler than asking to debug this invert matrix, which looks to be a copy / paste of some any licensed soft (not to name it).
  22. In my mind, code in an engine can be separated into two categories: 1. Custom code closely related to the game: the editor, level loading, saving, scene graph. People will keep re-writing these parts to make them fit their particular project, maybe forever. And let them do it. 2. General code that could easily be the same in every game: rendering, skeletal animation, lighting, physics, input, audio, model/texture loading. So what I propose is this: make things modular in such a way that everyone can have their own custom code (1), but have an easily plug-able code base of general code (2) to pick and choose from. What do y'all think?
  23. GoliathForge

    Help, a question regarding Game Development..

    That sounds suspiciously similar to this recent discussion. Interesting idea. Welcome @incogni7o. From your list of libraries, I happen to like monogame. The content pipeline actually makes me happy. Most of the grunt work is done for you and the same executable can run on multiple platforms. (i.e. mono onMac but built from windows) SFML would be my second choice. "Unity makes it easy, but it isn't" <-- that's golden. But it does. See you around.
  24. Building your free-to-play game is just one piece of the puzzle. You still face the problem that’s plagued everything on the app store since its inception in 2009: How do you get paid? Monetization in the mobile market has gotten better since those digital wild west days, but how it is being done evolves quicker than it’ll take you to finish reading this piece. Put simply, there are some big trends to track in the mobile ad space, right now: Real-Time Bidding (RTB) and app-ads.txt — to name a few. But to see where things are headed, you also need to take a quick look back. A developer creates their perfect ad server In 2009, some apps were $50. Others sold for 99 cents. There were no best practices, just lots of experimentation. A developer — one of the earliest on the App store — realized that it’s really hard to advertise your app if you’re not featured. JRBO understood the real life need for a performance ad network and monetization tool that works well. So, after some tinkering, the team created an ad server for their own games. That offshoot project did so well, it spun out a whole new company: AdColony. Since then, AdColony has pioneered a number of technologies and approaches to the market that have earned them trust with developers and advertisers, alike. “‘How are we going to port this premium console game to mobile?’ is the question we had to quickly ask ourselves,” says ForwardXP CEO, Steve Nix. “Guilt Battle Arena came out on Switch, Xbox One, PC, and PS4 in 2018 and we thought having a free to play version would be a better route. When we started thinking of monetization partners, AdColony immediately came to mind. They put a lot of effort into their SDK over the years.” Nix continued, “There are a lot of great tools in their SDK and a lot of great ways to optimize your monetization.” “In fact,” Nix adds, “Any competent game developer with familiarity in Unity, iOS or Android can implement the SDK without any real problems.” Grab the latest version from AdColony’s SDK page. SDK downloads are on the AdColony Github — where you can also find samples and documentation. Brian Truman Executive Director, Digital Ad Revenue and Operations at GSN Games adds, “AdColony’s technology has always been pretty solid. Five years ago, when we first started working with them - it was a no-brainer if you were putting ads in an app. Other developments have come along as well as other solid competitors, but I’ve always felt good about working with AdColony. They have people that know what they are doing, keep investing in their platform, and they continue to push the mobile ads industry forward.” Trend 1: An eye on Real-Time Bidding RTB monitor media solutions is one of those big pushes you’re going to see in the next six to 12 months. Its unrealistic to expect AdColony — or any single network — to be on the only SDK in most apps. It does happen occasionally, but most people are going to want a few different options. After all, if you’re selling something on eBay, you don’t want just one bidder in on the action. So you integrate a mediation partner. Here’s where things will dramatically change. Up to now, mobile has seen a waterfall setting for the bidding of ad inventory. Let’s just take an example here: You got three networks bidding and the app developer’s saying they want to sell this view for $2 at a minimum. Instead of going to everyone at once, “Hey what have you got for at least $2?” they’ll go to waterfall auction one, first. The bid is below the threshold, so the developer moves to the second bid that just so happens to be at $2.25. Great, but what about number three’s bid for a $6 ad? That request never makes it down because bidder two hit the baseline. With RTB (sometimes called advanced mediation) everybody gets a bid, happening in real time. “With RTB, it becomes much more efficient.” Truman adds.“It also provides a more competitive environment where all the networks have bids for every impression. We started testing with AdColony late last year — one of the early adopters of this technology. Them, along with Facebook, have been really out front with this.” RTB is the best way for advertisers and brands to reach more devices. An added bonus is that it will increase transparency for who will be delivering the best value for monetization. Needless to say, moving to RTB is really important. Sit on the sidelines too long and publishers will start seeing non-RTB traffic dwindle and get much lower quality ads over time. Trend 2: Third party authentication with app-ads.txt The other important trend to watch is the implementation of app-ads.txt. This has been a long-time standard for the web, designed to check that someone selling inventory on a site has permissions to do just that. The IAB released their standards in March for app-ads.txt. So publishers who are using monetization platforms that don’t support app-ads.txt are going to see a huge drop in demand. It’s going to take a while to be ramped up before that comes to a head — 2020, by some estimates. That said, there is no reason to delay making the change. It’s a low-effort switch that unlocks a lot of revenue for you in the future. AdColony’s SDK has that support planned on the near-term roadmap. Better still, the SDK provides OTA updates for some features - and this change is one of those things that will soon get automatically baked into what people are already using. Taking advantage of AdColony’s $5 million AMP fund As you continue eyeing the ever-moving goal posts in mobile monetization, AdColony recently announced a $5 Million Advanced Monetization Program (AMP) to give a taste of what the SDK and tools can do for your apps. The program is aimed squarely at incentivizing publishers, offering 100 percent revenue share for 90 days, a 15 percent user acquisition credit, and up to 10 percent bonus on first position waterfall deals to those who participate. “I hope that developers take advantage of it,” says Truman. “What makes it really appealing is that there are some acknowledged risks when you’re an app developer and you’re going to spend time to integrate an SDK. That may mean you have to choose between a network you’re familiar with, so there’s an opportunity cost. The AMP fund mitigates that cost and perhaps give some additional benefits if it works out for the developer.” The other thing to consider is the experience you get working with any ad network. Truman says that AdColony “has some unique tools and settings in an easy-to-use dashboard compared to other networks out there.” So far, AMP has attracted a huge influx of people - groups that are both large and small. The goal, quite frankly, is to make that decision to monetize a whole lot easier. Nix adds, “We don’t have a lot of development budget to optimize our game for free play and if there’s something available to help maximize revenue from the game through AdColony’s platform, even better.” If you’d like to learn how to sign up for the AMP fund, read this story on the AdColony blog.
  25. Yesterday
  26. Since many of us are working on our own C++ engines, let's come up with a standardized way to move features around. Goals would be: Everyone benefits from everyone else's work No one has to reinvent the bicycle, unless they want to The best implementations of everything are used All code is compatible, but can be easily decoupled (example: Water.cpp makes water, and can be used on its own in a simple Hello world game project, as well as inside any of our engines). Everything is so modular that there is no more distinction between engines or frameworks, but there are "features" that can be plugged in or out This way, in a few years, we won't even need the U-engines. We'll have complete control and transparency over all the code. Cat's out of the bag. You can't make money with engine development anymore. So let's not try to. Make money with the games instead.
  27. I support D3D11 as well, but have an API that pretends that there are 8 "resource list" binding slots. A "resource list" is an API object kind of like a constant buffer, but it contains an array of resource handles. In D11, this can be implemented as an array of views at binding time, and a contiguous block of t# registers in the shader. In D12/Vulkan is can be implemented as a group of descriptors, bound by different mechanisms... GCN doesn't have any special handling for different buffer types - cbuffers, SRVs, VBs, etc are all just buffer descriptors. The difference is whether you're indexing them with a scalar/uniform value, or a value that varies per thread/vertex/pixel. CBV values will be scalar loads (unless doing varying array indexing into a cbuffer), but if you load from an SRV using a scalar value such as the draw ID, then it will also use the scalar load hardware path. The draw ID itself is likely supplied as a root/push-constant on some hardware platforms 😉 If you need more than ~60 bytes worth of data, then a typical fetch is probably better than the push constants.
  1. Load more activity
  • Advertisement
×

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!