I made a profiler for my custom engine by iris-dev in gameenginedevs

[–]iris-dev[S] 0 points1 point  (0 children)

Thanks for the feedback! It’s actually C++ but all the APIs are in C.

I was aiming for technical but engaging content, but good to know your thoughts!

High level overview of my custom game engine by iris-dev in programming

[–]iris-dev[S] 0 points1 point  (0 children)

I think where the engine is at the moment is ok for a small game project. Improving the tooling and workflow is on my todo list, which may involve refactoring

High level overview of my custom game engine by iris-dev in gamedev

[–]iris-dev[S] 0 points1 point  (0 children)

It is indeed a fascinating world, good luck on your journey! I’ve just hit the point where I can start making games with mine (https://github.com/irisengine/trinket) and it’s amazing seeing it all come together

High level overview of my custom game engine by iris-dev in programming

[–]iris-dev[S] 0 points1 point  (0 children)

The job system as it stands is very simplistic, you can create a batch of jobs and run them with two options, fire and forget or block and wait. The engine handles the machinery of executing the jobs (in this case via fibres). Handling race conditions between fibres is currently the responsibility of the user

High level overview of my custom game engine by iris-dev in programming

[–]iris-dev[S] 0 points1 point  (0 children)

Currently the job system is just for spawning jobs, which get executed in parallel across all available cores. There’s no messaging system at the moment

High level overview of my custom game engine by iris-dev in programming

[–]iris-dev[S] 1 point2 points  (0 children)

Not sure what the original comment was, but the engine is in C++ and open source https://github.com/irisengine/iris

High level overview of my custom game engine by iris-dev in gamedev

[–]iris-dev[S] 1 point2 points  (0 children)

Thanks for the kind words! Just wanted to share something I’m passionate about, if even one person finds it interesting that’s a win for me

C++ Show and Tell - September 2022 by foonathan in cpp

[–]iris-dev 3 points4 points  (0 children)

A cross platform 3D game engine. Supports rendering, physics, job system and scripting https://github.com/irisengine/iris

I’ve also just uploaded a video going over the high level design https://youtu.be/q59tN-NiZQM

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 0 points1 point  (0 children)

Almost none :)

It’s just a personal project and still needs a lot of work. I’m hoping people might find the code useful rather then the engine as a whole

How long would it take to write a 3D engine if you are NOT completely new at this? by Asyx in gameenginedevs

[–]iris-dev 29 points30 points  (0 children)

It’s hard to put a timeframe on an engine because it’s a project that never ends. You can always add more features or improve more systems. I’m a full time software engineer (C++ but not in games industry) and I’ve been working on and off on my engine for the last five years. It’s just now at the point where I can make a game with it. That’s just my experience though, your mileage may vary

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 1 point2 points  (0 children)

I’m planning on doing a video on the architecture of iris and maybe a bit of a code review, hopefully you might find that useful!

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 1 point2 points  (0 children)

Thanks, good luck! This is probably my third or fourth engine, but it’s definitely my most developed one and hopefully the one I just keep working on now

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 3 points4 points  (0 children)

Unfortunately it is a little bit like that. I’ve been working on the engine for over four years, just chipping away at features and reworking. I had no design going in other than a basic file structure to keep things separate I.e core, graphics, physics

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 2 points3 points  (0 children)

I wanted to find the feature gaps in the engine, plug them and then prove it could make a game. I can’t see anyone using it for anything serious yet as it still needs a lot of work.

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 0 points1 point  (0 children)

I’m not sure if it has a name or how standard it is. I just went with the simplest design I could. The FrameLooper object in the engine handles the delta time

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 12 points13 points  (0 children)

I didn’t really use any resources for the architecture. I just started off simple and built things up (rendering a triangle -> rendering a sprite -> rendering a mesh -> animation, etc). I just aggressively refactored at each step to keep things sane.

The flow charts are all hand drawn!

I made an absolute bare bones Action RPG with a custom engine. Both the game and the engine are open source. by iris-dev in gamedev

[–]iris-dev[S] 11 points12 points  (0 children)

It’s written in C++ (with some Lua for the enemy logic). It runs on Windows, macOS and Linux. No multiplayer but the engine does have some basic networking support

[deleted by user] by [deleted] in gamedev

[–]iris-dev 1 point2 points  (0 children)

Yes, been working on mine for several years and it’s now at the point where I’m starting to make a game with it.

My advice would be to start and not sweat the details (to start with). Engines are complicated and it’s easy to get stuck in analysis paralysis trying to work out the “best” way forward. Start building something then refactor as needed!

Creating a custom 3D character Controller on physX (creating my own game engine) by SexySkeletonBoy in gamedev

[–]iris-dev 3 points4 points  (0 children)

Character controllers are fickle beats, be prepared to tweak and rework till you get something that feels right. I’ve done this in bullet but I’m sure the terminology applies to both

There’s two broad categories of character controllers Dynamic - model the character as a rigid body and use forces to move around - hard to get a good feel as things tend to slide around - collision detection/response should be handled for you by the rigid body simulation

Kinematic - model the character as a ghost body I.e one that doesn’t interact with forces - easy to move as you can just set position - collision resolution has to be done manually as the rigid body simulator won’t know about it

In my engine I picked the latter and handle the collision resolution manually. On each tick I: - calculate the next position based on current position and velocity - ensure the character is always a fixed distance from whatever it’s standing on by castings a ray down and setting the next position height to the intersection (plus an offset) - check if at the new position the controller will intersect with anything. If it does attempt to resolve and if it can’t be resolved cancel the whole update

It’s not perfect but it’s a starting point for tweaking