Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
A jam submission

DragonEngine Game Engine (Tool Jam 3 version)View project page

My game engine made with Python
Submitted by 龙鸡 (@DragonXChicken) — 13 days, 12 hours before the deadline
Add to collection

Play tool

DragonEngine Game Engine (Tool Jam 3 version)'s itch.io page

Results

CriteriaRankScore*Raw Score
How much I could potentially use it in the future#282.5353.000
How nice/fun it is to use#372.8743.400
Overall#432.4792.933
How original/innovative it is#532.0282.400

Ranked from 5 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.

Leave a comment

Log in with itch.io to leave a comment.

Comments

Submitted(+1)

That's cool. Making a game in python, that's dope man. Like the start slow before hit for the first time. Make a zip with source code (just a name example) and another one pong, it's helps the user (even though i tried both github and itch). There's only one collision bug i found just sharing it so that it may help you in future. 

Submitted

Developer

Thanks, the GitHub one is more up-to-date than the Itch.io one because I don't feel like re-uploading the files every time I make a change. Oh and, I don't have a way of exporting projects into EXE files because Python doesn't even support it normally, I used Pyinstaller to export it, it bundles the Python interpreter and the game scripts into one EXE file.

Submitted(+1)

Nice to see someone tackling something this ambitious. I can see how it may take some of the complicity from working with pygame away and allow for easier development.

A few small recommendations.

Send the dt (that is delta time to your update calls as if the game can not function at 60fps that time will allow movement to remain at the same speed no matter the frame rate.

      dt=clock.tick(60)/1000

Send that on the next post to update. That will allow your games to be frame rate dependent.

I would also like to be able to configure screen size and FPS from the init function.

Deleted 1 year ago
Developer

Yeah, game engines are quite an ambitious project. I think I will add delta time to my to-do list for the engine. I am trying to make a somewhat fantasy engine with limitations like Pico-8, but not as many limitations. 

Developer (1 edit)

Hmm the only way I found to add DT doesn't work for functions (the update function), is there another way I haven't found?

EDIT: I came up with my solution. But it doesn't work that well if someone is getting below 40 FPS, above is accurate enough. Anything above 60 FPS is accurate (if I get 200 FPS the update loop will still run at 60 FPS).

Submitted

So I don’t know much about the python limitations you have but there does appear to be support for high resolution timers.

https://peps.python.org/pep-0564/#annex-clocks-resolution-in-python

Time_ns seasm to be accurate enough and linux and windows to calculate the dt.

It will give you a nano seconds passed that you could covert to seconds.

Not sure if that is helpful. I use the nano time in othe languages all the time for this sort of calculation.

Developer (1 edit)

If I add a way to configure screen size and FPS it won't be possible to make a tile map (makes it easier to make levels and scene switching)

Submitted

Consoderong yoir goal of making it a generalized solution I don’t think adjisting scrren size and fps matters.

I didnt understand your goals fully when I wrote my review.

Developer(+1)

Oh, I plan to make it something like Pico-8

Submitted(+1)

Neat tool! I’d suggest looking into Python’s dictionary type. Those would be a much simpler and much faster type for storing and accessing the images and SFXs.

Developer

Thanks, Hmm I am using the Pygame library which does not have a simple image and SFX handler I think

Submitted

Hmm i guess the tools werent required to have a gui

Developer

yeah I wanted to make one but it's a lot harder to code

(+1)

go ahead and add some screenshots and examples on the ithc page

Developer

The thing is DragonEngine doesn't have a GUI so in the screenshots it will be only code

(+1)

gonna be honest , it's not bad concept , i would've used other language not python for it , but it's still something that can be used , instead of writinf the game function , you'll only use 

createWindow(800,600)

Player player = new Player(10,10)

if(input = key.d)

player.velocity = 10

and so on... , nice tool cant wait for it to be finished 

also write a level loading system for tile based games , like

Developer (2 edits)

Thanks, I was planning on adding an animation system to this release, but I don't know how to make it efficient. I haven't thought of adding a level loading system, thanks for the idea :) also, what do you mean by writnf? Edit I realised you meant writing