Jump to content
  • GameDev.net Members! Click here to learn more about the new contest from IntelⓇ and GameDev.net. Ends December 21!

  • Advertisement
    1. Past hour
    2. TheComet

      Some optimized driver code

      I don't know how many of you are familiar with driver code, but I'll leave this little treat here. #include "hal/mux.h" #include <msp430.h> /* * The following macros define the bits that would enable the connection from * the MSP430 USS output Tx or input Rx to the sensor. * * C\d[AB]\d[RT] * | | | | * Channel idx --+ | | | * Group A or B ---+ | | * Subsensor index ----+ | * Transmit or receive --+ */ /* Vertical channel 0, mapped to port 4 */ #define C0A0T (1u << 0) #define C0A0R (1u << 1) #define C0B0T (1u << 2) #define C0B0R (1u << 5) /* Sensor group A, channel 1, mapped to port C (ports 5 and 6) */ #define C1A0T (1u << 15) #define C1A0R (1u << 12) #define C1A1T (1u << 3) #define C1A1R (1u << 5) #define C1A2T (1u << 9) #define C1A2R (1u << 13) #define C1A3T (1u << 1) #define C1A3R (1u << 7) /* Sensor group B, channel 1, mapped to port C (ports 5 and 6) */ #define C1B0T (1u << 2) #define C1B0R (1u << 4) #define C1B1T (1u << 10) #define C1B1R (1u << 8) #define C1B2T (1u << 0) #define C1B2R (1u << 6) #define C1B3T (1u << 11) #define C1B3R (1u << 14) /* * Maps the entries in the mux_mode_e enum as offsets so table lookup is O(1) * c - Channel index * s - Subsensor index */ #define CHANNEL_MAPPING(c, s) \ C##c##A##s##T | C##c##B##s##R, /* MUX_UP | MUX_TRANS = 0x00 */ \ C##c##B##s##T | C##c##A##s##R, /* MUX_DOWN | MUX_TRANS = 0x01 */ \ C##c##B##s##T | C##c##B##s##R, /* MUX_UP | MUX_RECV = 0x02 */ \ C##c##A##s##T | C##c##A##s##R /* MUX_DOWN | MUX_RECV = 0x03 */ #define CHANNEL_T_MODES(c, s) \ C##c##A##s##T, /* MUX_UP | MUX_TRANS = 0x00 */ \ C##c##B##s##T, /* MUX_DOWN | MUX_TRANS = 0x01 */ \ C##c##B##s##T, /* MUX_UP | MUX_RECV = 0x02 */ \ C##c##A##s##T /* MUX_DOWN | MUX_RECV = 0x03 */ #define CHANNEL_R_MODES(c, s) \ C##c##B##s##R, /* MUX_UP | MUX_TRANS = 0x00 */ \ C##c##A##s##R, /* MUX_DOWN | MUX_TRANS = 0x01 */ \ C##c##B##s##R, /* MUX_UP | MUX_RECV = 0x02 */ \ C##c##A##s##R /* MUX_DOWN | MUX_RECV = 0x03 */ static const uint16_t map_to_port_4[4] = { CHANNEL_MAPPING(0, 0) }; static const uint16_t map_T_to_port_c[16] = { CHANNEL_T_MODES(1, 0), CHANNEL_T_MODES(1, 1), CHANNEL_T_MODES(1, 2), CHANNEL_T_MODES(1, 3) }; static const uint16_t map_R_to_port_c[16] = { CHANNEL_R_MODES(1, 0), CHANNEL_R_MODES(1, 1), CHANNEL_R_MODES(1, 2), CHANNEL_R_MODES(1, 3) }; /* * Multiplexer state can be stored in a uint16_t, such that the lower * byte directly indexes an array offset for the transmitter state and the * upper byte directly indexes an array offset for the receiver state. * * Usage: * state.data --> Gives you the mux state as a uint16_t * state.group_a.[mode|subchannel_idx] --> mode and subchannel index access for group A * state.group_b.[mode|subchannel_idx] --> mode and subchannel index access for group B * state.group_a.offset --> Array offset for map_T_to_port_c[] * state.group_b.offset --> Array offset for map_R_to_port_c[] * state.channel_idx --> Access to channel index * * See mux.h for a detailed overview of what is meant by "Group A" and "Group B", * what subsensors are, and what the different mode bits are supposed to do. */ union mux_state_u { struct { union { struct { union { struct { unsigned mode : 2; unsigned subchannel_idx : 2; unsigned pad_1 : 4; }; struct { unsigned offset : 4; unsigned pad_2 : 4; }; } group_a; union { struct { unsigned mode : 2; unsigned subchannel_idx : 2; unsigned pad_1 : 4; }; struct { unsigned offset : 4; unsigned pad_2 : 4; }; } group_b; }; struct { unsigned pad_0 : 4; unsigned channel_idx : 4; unsigned pad_1 : 8; }; }; }; uint16_t data; }; /* -------------------------------------------------------------------------- */ void mux_init(void) { PCDIR = 0xFFFF; PCOUT = 0x0000; P4DIR |= 0x27; P4OUT &= ~0x27; } /* -------------------------------------------------------------------------- */ uint8_t mux_channel_count(void) { return 2; } /* -------------------------------------------------------------------------- */ mux_state_t mux_convert_to_state(uint8_t channel_idx, uint8_t group_a_subsensor_idx, uint8_t group_b_subsensor_idx, uint8_t mode) { union mux_state_u state; state.channel_idx = channel_idx; state.group_a.subchannel_idx = group_a_subsensor_idx; state.group_b.subchannel_idx = group_b_subsensor_idx; state.group_a.mode = mode; state.group_b.mode = mode; return state.data; } /* -------------------------------------------------------------------------- */ void mux_convert_from_state(mux_state_t state_u16, uint8_t* channel_idx, uint8_t* group_a_subsensor_idx, uint8_t* group_b_subsensor_idx, uint8_t* mode) { union mux_state_u state; state.data = state_u16; *channel_idx = state.channel_idx; *group_a_subsensor_idx = state.group_a.subchannel_idx; *group_b_subsensor_idx = state.group_b.subchannel_idx; *mode = state.group_a.mode; } /* -------------------------------------------------------------------------- */ void mux_set_state(mux_state_t state_u16) { union mux_state_u state; state.data = state_u16; if (state.channel_idx == 0) { uint8_t bits = map_to_port_4[state.group_a.mode]; /* vertical sensor only has one subsensor */ PCOUT = 0x0000; P4OUT = (P4OUT & ~bits) | bits; } else { P4OUT &= ~0x27; PCOUT = map_T_to_port_c[state.group_a.offset] | map_R_to_port_c[state.group_b.offset]; } } /* -------------------------------------------------------------------------- */ void mux_disable(void) { PCOUT = 0x0000; P4OUT &= ~0x27; }
    3. There are two options: 1) The login server makes a long random token, and stores it with its authorization in a database. Player provides token to each other server connection. Each other server checks token in the same database. Main benefot: Every server has an up-to-date view of who can do what. Main drawback: database becomes a choke point. (You'd typically want a very fast in-memory database, like Redis or Memcache or something like that.) 2) The login server emits a token that consists of userid/authorization/timestamp/hash, where the hash is a HMAC(userid+authorization+timestamp+shared-secret). The player provides this token to each other server. Each other server verifies the hash (using the shared secret that all your servers know, but nobody outside) and verifies that the time is not "too far ago." Main benefit: minimal coordination needed (mainly just keeping clocks in sync and configuring the same shared secret.) Main drawback: you can't easily invalidate/change a token, because it's valid based on the timestamp fixed at issuance, and there's not central store. Ready made solutions are available, for example in the form of Kerberos or various LDAP servers, with varying trade-offs. That being said, operating some of these systems is just as complex as operating a game server farm, so a lightweight self-made system can often be good enough. (Warning, though: you need to be aware of various attacks, such as "firesheep" session sniffing of unencrypted connections.)
    4. hplus0603

      Single shard MMO continued

      I haven't seen anyone building a tightly coupled cluster on Beowulf, so that sounds interesting! Can you compare your use to other clustering solutions like kubernetes, or zeromq, or nodes-with-networking-in-mesh? Also, how do you shard players onto nodes, and how do you shard entities onto nodes? How do you resolve player/player/entity interactions? (Who gets the loot first, or whatever?) How far can you scale a "market square" where all players all want to be in the same place?
    5. Is there a good online source for developing a browser MMO HTML5 game including hosting servers etc? I'm working on a browser MMORPG as a learning project to learn new technologies for my full time programming job such as Node, WebGL, Javascript and MySQL. I have a reasonable knowledge of these technologies and have created a basic 2D tile map with characters that works across browsers and platforms. I feel I know all the relevant technologies enough but just lack the experience of putting it all together and most of the advice I've seen seems to take its data from large games like Guildwars or WoW which is beyond the scope of my project. Some things I'm unsure about and would like to research more:- How to avoid people just taking my Javascript code and calling it their own? How many players does the average novices MMO game generate with just youtube channel advertisements and such? (I'm talking novice level, not Guildwars or WoW) Is it plausible to self-host a game server from home using FreeDNS and noIP and a spare computer instead of renting a proper webserver? (Are there legal implications? What kind of internet speed is required? How much data does a novice MMO generate over time?) What security implications are there to self hosting a server from home? (Are there any good Penetration tests that can be performed? Are hacking and DDOS attacks that common?) Do browser games break often due to browser API changes? Any other issues that aren't easy to foresee?
    6. Cheetaah

      Looking for Artist(s)

      Hi! I can make vector art for your game. This can be used for ads, pricing tables, 2d textures, ui & much more. Here is someof my work : https://www.fiverr.com/share/3bezY
    7. Rutin

      Cinematic Insanity

      You're doing a very good job! I like the camera work too! You'll finish, the deadline is at the end of the month. Just throw some levels together!
    8. Maybe make it kinda like Age of Empires. Instead of giving them money to buy things, give them workers which they can use to gather recourses and build defenses. Your game will be much more interactive and you could also give the player the option to choose a specific religion, each religion has pro's and con's for example religion 1 gains 50% more wood and religion 2 builds 25% faster.
    9. Today
    10. JWColeman

      Cinematic Insanity

      Looks awesome! Much envy! Working with my own engine build, I guess will reap it's reward in time though! The camera stuff looks awesome, really polishes things up!
    11. supermikhail

      Cinematic Insanity

      In the middle of last week I found out about Cinemachine. Something like yesterday, I also discovered Timeline. All in all, I'm pretty happy with what I've been able to achieve (even if the project is a criss-crossing maze of conflicting scripts and animations): Well, not so much "coflicting scripts", but I had to call it a day because both Unity and Visual Studio keep breaking. I can't help suspecting the newfangled Unity addons. Otherwise, even though I feel like I'm not going to finish in time, it suddenly seems that I at least have all the gameplay in place, as far as coding... Oh, except for the most basic part, of course, that is the movement. I've looked at it in the orthographic view, and there's really no rhyme or reason to how far the next jump is going to be. It seems I have to completely re-do it, except I have no idea how. 😞
    12. Esteban5XG

      What is the best video game HUD ever?

      I'll take a look. But it could be different because I want a third person shooter.
    13. I am very interested in this subject. How did you solve your problem?
    14. that's why I play the lottery.
    15. For sure! I probably wouldn't even wanna risk it tbh though. I was just astonished that under the right circumstances anything can become public domain 😮 I mean it makes sense.. Like I thought it would have been like this: But yeah I suppose there is always that 1% chance, lol
    16. yes but only if no one owns it. Even if the company dissolves with out bankruptcy 99% of the time the IP transfers to someone usually one of the owners or the creator or the relatives of one of the two if the owner is dead.
    17. You better be sure nobody owns it before you use it.
    18. Hi All, I wrote a blog detailing the tools we currently use in Squeaky Wheel, a small, mostly work from home game studio. You can read the whole thing here, but the tl:dr version is: Company Chat = Flock. Free version offers better value than Slack. Production/Sprint Tool = Hacknplan. Best tool for hitting the ground running, especially if you don't have a full time producer. Spreadsheet/Data Analysis = Airtable (sometimes). Offers a robust set of tools that helps you parse data. But sometimes google sheets is more than enough.
    19. Tom Sloper

      Money or passion?

      If you can't understand mobile game fun, don't try to make mobile game fun.
    20. Hello, We are an American based videogame development team that crafts games utilizing neural networks, handcrafted art, studio quality audio, and immersive storytelling to provide the player with an unforgettable experience. Our current team comprises of a Software Engineer, Designer, Producer, Audio Engineer, and a systems admin. Obviously we are missing an art staff! Now, that being said, we have outsourced our concept art for the game to an experienced artist. We are wanting talent to join us to take it the rest of the way with animation and art. If you are interested in joining the team and feel that you are ready to work along a committed team, send a sample of your work and contact information to kyle.cirkl@HereticArts.com. Job Specifics: General: Unpaid. This is normal. We all have fulltime careers outside of the team, but if there is money to be made upon release, it will be split evenly - no questions asked. All expenses are paid by Administrative Team (GSuite account). So no worries - We want someone to join, have fun and create with us! Expectations of meeting weekly (via internet) and taking direction from producer. Open minded Skill sets: Experience in designing and creating character art. Full adobe suite. Maya experience preferred. Experience with developing for the Unity Engine. Willing to work with design team to incorporate their ideas into art. Knowledge of game design documentation and how it pertains to art creation. In depth sprite animation knowledge.
    21. Hello Friends!, I'm looking for enthusiastic Java Programmers and 2D Artist that have nice attitudes and are in love with their work. What the Project is about I want to make this project very flexible and beneficial for all my partners, so we will be working on a basic 2D Gaming library that can be used to easily create fantastic 2D games. (in our vision) and while this library is under development we will be creating a 2D farm game to test the libraries features, this will be officially the first game we are going to release using our library. ----------------------------------------------------------- I don't really prefer any advance skill sets just these basics. Java Programmers 1. Really understand the core concepts of Object Oriented Programming (The most important to me, Im looking for partners that can create core classes the rest of the project will use) 2. Understand how a Thread is created, handled and ran safely. (This isn't super important because threads are already setup, but you will need to know how to handle them) 3. Understand how to 2D graphics are created, handled and drawn safely. (graphics are also setup, just need a basic (and mathematical) understanding on how to draw with it) 4. Must have a basic understanding of pre-calculus, and algebra. (this is optional for the most part, I only need one Developer that is efficient in these). 2D Artist 1. All 2D artist are invited, want your content to be in our games? message me! ---------------------------------------------------- Positions Open Lead Java Developer = Open; Java Developer = Open; Java Developer = Open; 2D Artist = Infinite amount of openings. ------------------------------------------------ Members N/A ------------------------------------------------ DeadLine There will be no deadline, this is a project setup for people who have busier schedules, we will only work on our free time (it will add up! ) ---------------------------------------------------- I hope I find some artist and developers that are interested, if you want to contact me you can reply to this thread or simply message me on discord ( codyorr4#2329 ) -------------------------------------------------
    22. CyberFlash

      My idea about a turn based strategy game

      I think you definitely should! I like these kind of games for sure! If you like these games and you want to make one, you totally should do it . I think there's an audience for any kind of game really so it'd be more about what you wanna do/what you like to do. (In my opinion of course) If you're looking for 'success' with this genre I think that comes from your 'add more flavor to it' if you hit the sweetspot of flavor.. You're golden
    23. Does Angelscript catch null pointer exceptions? I didn't know that. That would imply that the crashes I've been getting are access violations from the dll, not from my script.
    24. Thanks for replying. That is an interesting idea; however, there will be moving parts (AI, physics-enabled objects) that I'm afraid would not handle this well. Additionally this would rule out any chance of multiplayer where one player is large and the other is not.
    25. For most stuff just allocating in chunks is fine. With reasonable sized chunks the amount of CPU time you are going to save allocating everything up front is probably negligible. This is especially true with 64 bit machines where you have a lot of address space available. You can reserve a huge chunk of address space up front, and then actually add the memory in as you need it without having to predict ahead of time how much memory you will actually end up using.
    26. Greetings to everyone, I urgently need a ready-made game or source code (compatible with Visual Studio 2017 and DirectX SDK June 2010) according to the book Vaughan Young. "Programming a multiplayer FPS in DirectX". I already found the source code: https://github.com/matt77hias/VYGE/, but I get errors when creating a project. Also, I found many topics on this site with a similar theme, but they were created a long time ago, most of the links do not work. Please help me!
    27. Here is my first build of my frogger game for the challenge (make sure to download the game rather than assets pack): After starting early last month I've been put on hold most of this month due to attempting to move house, so I've had to severely cutback the features, but I have managed to pull things together to make something playable. Still lots I'd like to do to improve once I have some more time on my hands. I spent today putting together 14 or so levels, it should be reasonably challenging, and enough to spend 20 mins or so on, I can complete it. Let me know if it runs okay, there are Linux64 and Win32 builds. I tried making an Android build with Godot 3.1 Alpha but no luck so far, it crashes on running, maybe I can change some settings in Godot and get it to run. Also the sound is a bit broken, the 3D listener is broken in Godot 3 currently so I had to bodge some 2D sound until they fix it. Cursors to move and TAB changes camera view. Incidentally, though the game is usually easier in top down view you can theoretically complete it all in closeup view, if you want a real challenge!
    28. I'd never thought of that.. What happens if noone owns it.. everyone is free to use it then? 😮
    29. CyberFlash

      How to keep a Tower Defense game entertaining?

      I appreciate your input! That's been a concern of mine for a while, The idea that the player is doing nothing. I think I might have enough of an idea to keep them active for now. Otherwise they can place towers and then just go away and then it'll be hard enough getting them to try it again :P. I like the idea of making them walk around as if to give them a controllable defense thing... I'm not sure how i'd implement that right now but I'm definitely going to work on it. Closest idea I've had to keeping them active would be to give them a 'trap unit'.. They can place something like a wall on the path that'd stop a certain amount of enemies then its destroyed so its like a last minute backup option if your tower won't do it... I'm working on adding in 'boss units' (I dunno if there would be a better way to call them) these are supposed to 'mess up your day' but have a low chance of spawning each wave... and originally it was to have them destroy certain towers as they roam the path .... That would mess up your 'strategy' a lot but some mixed reviews on their ability so far... Another idea is to just have them disable towers within a certain range so you don't lose them but their inactive whilst the boss is right in front of them... Will need to think about range here so other towers can still hit the bosses but not making it too easy also... That might give them some feelings of "You need to be active like right now" And also working on an upgrade system which will require me to increase enemy stats more drastically but if they keep actively upgrading towers they're keeping busy.. Then I need to figure out decent math so it becomes a strategic decision to either place another tower OR upgrade an existing one... But, I feel like the entire feeling of this is that its a stand and place game ... I'm thinking of trying to get other maps done for this so there's variety so whilst implementing these I might be able to work out a new tower that you could control and maybe you can only place one of them and it shoots where you dictate or something.. Or have the HQ able to spawn a plane for a cost that you'd fly around and drop a few bombs or something like that... Trying to figure out a good idea for putting them into action.. I really appreciate your input! Its real cool
    30. PocketRoguesLead

      Insurgence - Chains of Renegade

      INSURGENCE - CHAINS OF RENEGADE Insurgence - Chains of Renegade is a 2D RPG mixed with Visual Novel elements, featuring the classic front view Turn Based combat. The story is set in Aereon, an empire on the brink of a civil war. Embark on the adventure of Rissa and her friend Diana; both knights assigned by Rissa’s father, the Empire’s prime minister, to stop the civil war from happening by capturing one of the opposition leaders. In the middle of her mission, Rissa will discover an unpleasant truth, hidden by the Empire. Will she fight for the truth, or will she choose to stay loyal to the Empire? Find out in Insurgence - Chains of Renegade! FEATURES 10+ Hours of Gameplay HD 2D Graphics Classical Turn Based Battle System 4 Choices of Difficulty settings. A Vast amount of usable skills where each character has 40+ Skills & Specials. A Vast amount of usable equipments where each character has 25+ Weapons, 25+ Armors and 60+ Accessories. Unique Skill Equip System where players can equip certain accessories to add additional skills. Visual Novel-styled dialogue. 20+ Of Original CGs. 20+ Collectible Artworks by Various Artists. Also featuring two songs by renowned Indonesian utaite fleurishana. Our steam page Screenshots:
    31. WitchLord

      Array argument getting wrong default value

      Thanks. I'll investigate this.
    32. This would cause a null pointer exception, which correctly interrupts the script execution. Your application code (in the dll) is probably not showing the exception information (which would point out the type of the exception and the location where the exception occurred).
    33. void f(array<int> a = {9}) { print(a[0]); // prints '0' (expected '9') } void id() { f(); } Angelscript 2.32.0
    34. I play the doom RPG because its got good replay ability and a great story. But if you wanna make a turn based strategy game make a game like final fantasy where your not limited to choices and can attack freely. Also make the theme different from other games, no one wants a copy ya know
    35. NUITGaming

      NeAnder_AMIZONIA.jpg

      © Nuit Gaming

    36. NUITGaming

      NeAnder (24).jpg

      © Nuit Gaming

    37. NUITGaming

      NeAnder (22).jpg

      © Nuit Gaming

    38. NUITGaming

      NeAnder (17).jpg

      © Nuit Gaming

    39. NUITGaming

      NeAnder (14).jpg

      © Nuit Gaming

    40. NUITGaming

      NeAnder (10).jpg

      © Nuit Gaming

    41. NUITGaming

      NeAnder (7).jpg

      © Nuit Gaming

    42. NUITGaming

      NeAnder (3).jpg

      © Nuit Gaming

    43. NUITGaming

      Makenzii (5).jpg

      © Nuit Gaming

    44. NUITGaming

      Makenzii (3).jpg

      © Nuit Gaming

    45. Ah yes thank you. I'm not sure if this is a bug, but when I call a method of a null object, execution of the script stops completely with no error: class MyClass { void foo() {} } void id() { print('marco '); MyClass a = null; a.foo(); print(' polo'); // never reached, no error } I'm also executing the script from inside a dll-proxied monstrosity, so I'm not sure how this snippet would behave in a more normal setting.
    46. DoomGuy

      What is the best video game HUD ever?

      The ultimate doom hud, now that is a great hud. Its a first person view of the inside of a helmet. Its also comes with a flash light on the side of it.
    47. I think that a tower defense game needs action and lots and lots of strategy. Take plants vs zombies for instance or last stand. Those games have been played for generations. Don't make your game a stand and place game though, because people have been making those types of games for years. Try make it to where you can walk around, make it to where you can also defend whatever it is that your defending. People want to be apart of the action, people want to be constantly in the game, not just standing around and watching. People want the constant panic of defeat being imminent if they don't do something. I hope that helps.
    48. DoomGuy

      Game Testing

      I'd be willing to test anyone's game. I've been playing games as far as I can remember and I think I'm quite good at pointing out flaws and bugs. I'm not a harsh person so don't be afraid to send me your game you want me to test.
  • 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!