Upwork is a race to the bottom, I've heard good things about toptal.
I never got why people who don't like Javascript post these useless edge cases where some behavior doesn't seem to make sense. When would anyone actually use any of these cases? for 99% of the time, you, the developer, know what a value is going to be or how it's going to behave because you're not writing weird, unreadable statements
I just use TypeScript with "===" for comparisons. Doing this, JavaScript doesn't really cause any issues
Today, I practiced working with tilesets. I'm not an artist, so this is the hardest part of working on my game. Rather than be pressured to get something done today, I figured I'd have some fun with the tilesets Vertex Adventure is inspired by, and learn from their format. I built a `0.tsx` (tileset 0) from Pokemon Red (UE) [S][!].gb, and rebuilt map 0, which is Pallet Town. I tore down Red's house so I'd have a place to spawn, otherwise I'd end up at `vector( 0, 0 )` in the top-left.
https://i.imgur.com/nhiL0fP.png
I always hear people saying LuaJIT is faster than C# or whatever else but are there any real-world benchmarks proving this? I know LuaJIT does an incredible job with math but what about OOP concepts? Or GC?
Not just math. It's GC is planned to get a major upgrade described New Garbage Collector
and its OOP, if you use FFI objects extensively then they get optimized in really potently, like it's significantly faster to use FFI types to tables/the lua C api functions. Benchmarks will be hard to come by because benchmarks aren't a very good measurement of a language's performance (and the debian benchmark game thing removed luajit out of spite for some reason.)
More OOP stuff:
When creating types, let me use a vec3 as an example, it's extremely performant to use FFI structs. Indexing vec.x/y/z/etc gets optimized to be direct accesses -at runtime-. The memory allocator is one of the best in its class, all of these allow you to get some extreme performance numbers out of luajit.
That being said: It's kinda wrong to say language X is faster than Y in -any- circumstance, because it depends on YOUR use of it. Run your own benchmarks of how you use a language to compare it with another before you come to conclusions.
That new garbage collector has been floating since 2012. IIRC at least two implementations were made but nothing came of it. Too bad that Luajit is just on life support now.
It's stable and bugs still get squashed when they're noticed. Pall's still looking for a new maintainer and Cloudflare is willing to bankroll fulltime anyone who comes on board.
https://i.imgur.com/65cX98M.png
Another cool thing I learned from Pokemon Red is that the songs are roughly 30 seconds long or so, but they're composed very well such that they repeat seamlessly, since you can't know for sure how long a player will stay in any given map. Neat stuff!
i pew the pews, also fixed my imgui related rendering glitches due to me being one vertex off for all my uv/color/normal data somehow, good times
http://odin.prfn.se/u/somerays-2018-04-16_00.05.19.webm
next to write the server-client architecture stuff and stop poking around with mechanics for now
forking luajit to quell some issues some people have with it
current changelist:
Added bitwise operators, based off of an implementation by Githubber fperrad (with significant changes and x64 support)
Added ! and !=, aliases for 'not' and ~=
Added a continue keyword, based off of a modified implementation I can't find the source to
Added lambdas, syntax: |x,y| x+1,y-1 OR |x,y| do return x+1, y-1 end
This means you can create a 2 character noop function by using '||'
Planned Features:
Simulate assignments having return values (test(local x, y = 1, 2, 3) running test(1,2,3) and defining x, y in the current scope), or x = y = z = 1
More if there are requests!
Remember I'm 100% breaking Lua backwards compatibility with this, so feel free to offer any (syntactical) suggestions either here or as github issues and I'll try to implement them.
Update on this issue, updating the engine to 4.19.1 seems to have removed the crash, it's unclear if the problem was fixed or it was just hidden again though.
Chances are that it was a broken asset causing it that was fixed by some serialization issues that were fixed in 4.19.1 but I can't say for sure
The crash now occurs on console platforms instead, where it didn't before.
Blegh fuck my ass
Calling @Blegh! Is there a Blegh out there?
Trying to get a cross-platform filesystem management system for general engine work is both incredibly boring and just irritating. inotify isn't bad, but dealing with the Windows stuff has been. mostly because all the example code is hilariously out of date and not at all made to be cross platform, and since I try to keep my libraries as DLLs this means lots of using the PImpl idiom: and I've yet to get it working, really. god forbid you want to integrate more modern C++ semantics and features, too, because even if I bury that in the backend code and the "impl" classes it's so different from the example (effectively C with classes) code that I've found that it does no good. I mean honestly, most of the examples are at least ten years old.
I keep getting more and more separated from what I really wanna do by "degrees of boredom", because while this is satisfying work and I had planned on making something like it eventually it feels like a fucking grind. I just want my scriptable and runtime dynamic graphics engine, but I don't want to do this sort of work endlessly
so something like physfs?
Right now, really just trying to watch for file modifications and dispatch events/signals
I can already access zip/compressed files like directories for iteration with Mango, and it does not neat stuff with memory mapping and how it loads files that makes it more than performant enough for that. But it's file watching system is broken and not ideal, at best
I wonder if it makes sense to ship Grid 9 with a Pokémon Red/Half-Life 2 mash up in much the same way the boys from Stabyourself.net did up Super Mario Bros. and Portal. A lot of Grid's features map very well to Pokémon Red's engine, like it's level streaming and tile property behavior.
https://i.imgur.com/UNwh83T.png
I created a file system change watcher that works on Windows and Linux (it's been a while since I've used it but it did work at some point). Here are the relevant files: https://github.com/hhyyrylainen/Leviathan/blob/master/Engine/Handlers/ResourceRefreshHandler.cpp https://github.com/hhyyrylainen/Leviathan/blob/master/Engine/Handlers/ResourceRefreshHandler.h
It uses inotify on Linux and ReadDirectoryChangesW on Windows
A friend of mine is learning Unit testing in her Software Design class. Does anyone have a Java project they'd like to share that has at least 5 classes and would be simple to Unit test?
Here you go.
Jokes aside, I don't.
https://www.youtube.com/watch?v=6mAQL7OeDZk
Something that I've been working on for Source Engine.
I'll have to give this a look! I've found something relatively modern that used boost::filesystem before it became std::experimental::filesystem, and it also uses things like std::condition_variable to sensibly maintain another thread for doing this stuff. Always welcome more sources, though ^^
It's in beta, but also check out Facebook's Watchman project
Nothing. I'm working on fucking nothing. My company has a really crappy dev process so now that I've finished my tasks I need to wait for them to have business meetings before I can do anything.
I don't have business meetings, I have a workplace that needs 14 FTEs and has 6 FTEs (4 really, cus one is an EE that can't program and one is an engineer that arrives at 11 and leaves at 3 lol). I feel your frustration though, because being understaffed means I'm working on things I just do not understand - namely, writing a driver to interface our radio hardware to a host of varying programs (with slightly different APIs). Which involves topics I've never touched before, e.g I'm currently writing the system to connect to a radio via UDP and receive packets of 16-bit packed I/Q samples from it, converting those to 32-bit floating point packets using SIMD instructions and trying to optimize for a really high rate of data streaming
no idea what I'm doing and even most of that sentence felt like gibberish to me
I'm doing a writeup of our WDS orchestration setup at work, so I can throw it in as a CFP for OpenSourceCamp Berlin.
Might have to start writing a proper WDS plugin for Foreman as well though, since we've done so many hacks to get the automated Windows deployment and lifecycle management working.
Should really sit down and write some more on the framework I was planning on using for the upcoming Ludum Dare compo as well, I wanted to try and make some kind of a game even though my time is quite limited nowadays.
And I hacked together a quick Prometheus metrics exporter for a project I'm apart of, apparently ~180 lines of C++ gets you something that Prometheus will happily absorb.
I've begun working on my own tiny game engine, called Varley, specifically designed for rapidly prototyping games, to enable an easy implementation of multiplayer games in short jams, such as the one hour game jam.
You can access it on GitHub or npm.
Currently it has the following main features:
Multiplayer
Top down movement
Animations, sprite sheets
Matchmaking (starting games with a minimum and maximum number of players, and enabling multiple games to happen at the same time)
Game state diffing (so that it only sends deltas of the game state every network tick, and not the entire game state)
The most interesting part of implementing this engine is that I've initially used a minimum diff for the game state diffing, but that proved too slow, taking 70ms on small maps to compute. I then created my own library, sloppydiff (https://www.npmjs.com/package/sloppydiff), that does a very quick diff, albeit not a minimal one, which reduced the time taken to generate the same diff to around 1ms. The next steps, in order of importance, are improving the wiki and README, implementing collisions, platformer movement, text rendering, and implementing an easy to use chat module.
You can test the examples in the examples/ folder with the links below. Try playing with a friend!
tron: http://n42k.ddns.net:8891/
farm: http://n42k.ddns.net:8891/
I have the same problem. I have filled up my portfolio with good projects, but they don't seem to want more programmers right now.
Where do you store JWT Keys?
Sorry, you need to Log In to post a reply to this thread.